Fix newline trim in ShaderPreprocessor.kt

This commit is contained in:
Edwin Jakobs
2020-01-27 23:48:38 +01:00
parent 47073e5ee0
commit 6d0fa03801
2 changed files with 4 additions and 4 deletions

View File

@@ -9,14 +9,14 @@ fun preprocessShader(shader: String): String {
val tokens = it.split(" ") val tokens = it.split(" ")
val full = tokens[1] val full = tokens[1]
val fullTokens = full.split(".") val fullTokens = full.split(".")
val fieldName = fullTokens.last().replace(";","") val fieldName = fullTokens.last().replace(";","").trim()
val packageClassTokens = fullTokens.dropLast(1) val packageClassTokens = fullTokens.dropLast(1)
val packageClass = packageClassTokens.joinToString(".") val packageClass = packageClassTokens.joinToString(".")
val c = Class.forName(packageClass) val c = Class.forName(packageClass)
if (c.annotations.any { it.annotationClass == ShaderPhrases::class }) { if (c.annotations.any { it.annotationClass == ShaderPhrases::class }) {
if (fieldName == "*") { if (fieldName == "*") {
c.declaredFields.filter { println(it.type); it.type.name =="java.lang.String" }.map { c.declaredFields.filter { it.type.name =="java.lang.String" }.map {
it.get(null) it.get(null)
}.joinToString("\n") }.joinToString("\n")
} else { } else {

View File

@@ -4,6 +4,7 @@
package org.openrndr.extra.shaderphrases.phrases package org.openrndr.extra.shaderphrases.phrases
import org.openrndr.extra.shaderphrases.annotations.ShaderPhrase import org.openrndr.extra.shaderphrases.annotations.ShaderPhrase
import org.openrndr.extra.shaderphrases.annotations.ShaderPhrases import org.openrndr.extra.shaderphrases.annotations.ShaderPhrases
import org.openrndr.extra.shaderphrases.preprocessShader
@ShaderPhrase(["dummy"]) @ShaderPhrase(["dummy"])
const val phraseDummy = """ const val phraseDummy = """
@@ -18,7 +19,6 @@ fun main() {
if (c.annotations.any { it.annotationClass == ShaderPhrases::class }) { if (c.annotations.any { it.annotationClass == ShaderPhrases::class }) {
println(c.getDeclaredField("phraseDummy").get(null)) println(c.getDeclaredField("phraseDummy").get(null))
} }
println(preprocessShader("import org.openrndr.extra.shaderphrases.phrases.Dummy.*"))
} }