Regression
tests.wurstscript.tests.OptimizerTests.optimizeDuplicateNullSets
Fehlermeldung
Error in File Printing.wurst line 17: Could not find variable TRACE.
Stacktrace
Error in File Printing.wurst line 17: Could not find variable TRACE. at de.peeeq.wurstscript.attributes.ErrorHandling.makeCompileError(ErrorHandling.java:35) at de.peeeq.wurstscript.attributes.ErrorHandling.addErrorOrWarning(ErrorHandling.java:25) at de.peeeq.wurstscript.attributes.ErrorHandling.addError(ErrorHandling.java:15) at de.peeeq.wurstscript.ast.ExprVarAccessImpl.addError(ExprVarAccessImpl.java:469) at de.peeeq.wurstscript.attributes.names.NameResolution.lookupVarNoConfig(NameResolution.java:158) at de.peeeq.wurstscript.ast.ExprVarAccessImpl.lookupVarNoConfig(ExprVarAccessImpl.java:529) at de.peeeq.wurstscript.attributes.names.NameResolution.lookupVar(NameResolution.java:293) at de.peeeq.wurstscript.ast.ExprVarAccessImpl.lookupVar(ExprVarAccessImpl.java:525) at de.peeeq.wurstscript.attributes.AttrNameDef.searchNameInScope(AttrNameDef.java:68) at de.peeeq.wurstscript.attributes.AttrNameDef.calculate(AttrNameDef.java:26) at de.peeeq.wurstscript.ast.ExprVarAccessImpl.attrNameLink(ExprVarAccessImpl.java:487) at de.peeeq.wurstscript.attributes.ReadVariables.calculate(ReadVariables.java:36) at de.peeeq.wurstscript.ast.ExprVarAccessImpl.attrReadVariables(ExprVarAccessImpl.java:261) at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.checkIfVarsInitialized(DataflowAnomalyAnalysis.java:407) at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.handleExprInCompound(DataflowAnomalyAnalysis.java:352) at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.calculate(DataflowAnomalyAnalysis.java:281) at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.calculate(DataflowAnomalyAnalysis.java:249) at de.peeeq.wurstscript.validation.controlflow.ForwardExecution.checkStmt(ForwardExecution.java:52) at de.peeeq.wurstscript.validation.controlflow.ForwardExecution.execute(ForwardExecution.java:31) at de.peeeq.wurstscript.validation.controlflow.ForwardMethod.execute(ForwardMethod.java:41) at de.peeeq.wurstscript.validation.WurstValidator.checkUninitializedVars(WurstValidator.java:1152) at de.peeeq.wurstscript.validation.WurstValidator.check(WurstValidator.java:271) at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:209) at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:212) at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:212) at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:212) at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:212) at de.peeeq.wurstscript.validation.WurstValidator.validate(WurstValidator.java:59) at de.peeeq.wurstscript.WurstChecker.checkProg(WurstChecker.java:46) at de.peeeq.wurstio.WurstCompilerJassImpl.checkProg(WurstCompilerJassImpl.java:388) at de.peeeq.wurstio.WurstCompilerJassImpl.checkProg(WurstCompilerJassImpl.java:376) at tests.wurstscript.tests.WurstScriptTest$TestConfig.testScript(WurstScriptTest.java:178) at tests.wurstscript.tests.WurstScriptTest$TestConfig.run(WurstScriptTest.java:126) at tests.wurstscript.tests.WurstScriptTest$TestConfig.lines(WurstScriptTest.java:116) at tests.wurstscript.tests.WurstScriptTest.testAssertOkLinesWithStdLib(WurstScriptTest.java:317) at tests.wurstscript.tests.OptimizerTests.optimizeDuplicateNullSets(OptimizerTests.java:754) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124) at org.testng.internal.Invoker.invokeMethod(Invoker.java:583) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:648) at org.testng.TestRunner.run(TestRunner.java:505) at org.testng.SuiteRunner.runTest(SuiteRunner.java:455) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) at org.testng.SuiteRunner.run(SuiteRunner.java:364) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1204) at org.testng.TestNG.runSuitesLocally(TestNG.java:1137) at org.testng.TestNG.runSuites(TestNG.java:1049) at org.testng.TestNG.run(TestNG.java:1017) at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.runTests(TestNGTestClassProcessor.java:140) at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.stop(TestNGTestClassProcessor.java:89) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.base/java.lang.Thread.run(Thread.java:844)
Standard Ausgabe (STDOUT)
// this script was compiled with wurst 1.8.0.0-jenkins-Wurst-1095 globals integer tempReturn_integer=0 endglobals native testSuccess takes nothing returns nothing function initGlobals takes nothing returns nothing endfunction function cyc_foo takes integer funcChoice, integer x returns nothing if funcChoice == 0 then if x > 1000 then call cyc_foo(3, x) set tempReturn_integer = tempReturn_integer return endif if x > 100 then call cyc_foo(1, x) set tempReturn_integer = tempReturn_integer return endif if x > 10 then call cyc_foo(2, x) set tempReturn_integer = tempReturn_integer return endif set tempReturn_integer = x return elseif funcChoice == 1 then call cyc_foo(0, x / 100) set tempReturn_integer = tempReturn_integer return elseif funcChoice == 2 then call cyc_foo(0, x / 10) set tempReturn_integer = tempReturn_integer return elseif funcChoice == 3 then call cyc_foo(0, x / 1000) set tempReturn_integer = tempReturn_integer return endif endfunction function init_Test takes nothing returns nothing call cyc_foo(0, 7531) if tempReturn_integer == 7 then call testSuccess() endif endfunction function main takes nothing returns nothing call initGlobals() call init_Test() endfunction function config takes nothing returns nothing endfunction