Regression

tests.wurstscript.tests.ClassesTests.destroyed

Schlägt fehl seit 1 Build (Seit #976 )
Dauer: 5 ms.

Fehlermeldung

org.testng.TestException: 
Expected exception of type class de.peeeq.wurstio.jassinterpreter.DebugPrintError but got Error in File destroyed line 9:
 Variable a may have been destroyed already

Stacktrace

org.testng.TestException: 
Expected exception of type class de.peeeq.wurstio.jassinterpreter.DebugPrintError but got Error in File destroyed line 9:
 Variable a may have been destroyed already
	at org.testng.internal.ExpectedExceptionsHolder.wrongException(ExpectedExceptionsHolder.java:68)
	at org.testng.internal.Invoker.considerExceptions(Invoker.java:1130)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:615)
	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:139)
	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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	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:123)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	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:155)
	at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
	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.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:745)
Caused by: Error in File destroyed line 9:
 Variable a may have been destroyed already
	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:447)
	at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.checkIfVarsInitialized(DataflowAnomalyAnalysis.java:403)
	at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.handleExprInCompound(DataflowAnomalyAnalysis.java:342)
	at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.calculate(DataflowAnomalyAnalysis.java:265)
	at de.peeeq.wurstscript.validation.controlflow.DataflowAnomalyAnalysis.calculate(DataflowAnomalyAnalysis.java:248)
	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:1139)
	at de.peeeq.wurstscript.validation.WurstValidator.check(WurstValidator.java:270)
	at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:208)
	at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:211)
	at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:211)
	at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:211)
	at de.peeeq.wurstscript.validation.WurstValidator.walkTree(WurstValidator.java:211)
	at de.peeeq.wurstscript.validation.WurstValidator.validate(WurstValidator.java:58)
	at de.peeeq.wurstscript.WurstChecker.checkProg(WurstChecker.java:46)
	at de.peeeq.wurstio.WurstCompilerJassImpl.checkProg(WurstCompilerJassImpl.java:382)
	at de.peeeq.wurstio.WurstCompilerJassImpl.checkProg(WurstCompilerJassImpl.java:370)
	at tests.wurstscript.tests.WurstScriptTest$TestConfig.testScript(WurstScriptTest.java:177)
	at tests.wurstscript.tests.WurstScriptTest$TestConfig.run(WurstScriptTest.java:125)
	at tests.wurstscript.tests.WurstScriptTest$TestConfig.lines(WurstScriptTest.java:115)
	at tests.wurstscript.tests.ClassesTests.destroyed(ClassesTests.java:567)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
	... 45 more

Standard Fehler (STDERR)

Nullpointer exception when calling A.foo