|
|
|
I needed to have both the early return statement and the for each loop in order to get the stacktrace
I am getting a similar compiler error (copied below). I don't know what part of my code is causing it though. This is the first time I'm trying to compile my code in Flex Builder 3 (it was working fine in Flex Builder 2). What's the status of this bug?
!ENTRY com.adobe.flexbuilder.project 4 43 2008-03-18 14:34:18.179 !MESSAGE Uncaught exception in compiler !STACK 0 java.lang.NullPointerException at macromedia.asc.util.Context.getDefType(Unknown Source) at macromedia.asc.semantics.ReferenceValue.getType(Unknown Source) at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source) at macromedia.asc.parser.SetExpressionNode.evaluate(Unknown Source) at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source) at macromedia.asc.parser.MemberExpressionNode.evaluate(Unknown Source) at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source) at macromedia.asc.parser.ListNode.evaluate(Unknown Source) at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source) at macromedia.asc.parser.ExpressionStatementNode.evaluate(Unknown Source) at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source) at macromedia.asc.parser.ClassDefinitionNode.evaluate(Unknown Source) at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source) at macromedia.asc.parser.ProgramNode.evaluate(Unknown Source) at flex2.compiler.as3.Compiler.analyze4(Compiler.java:597) at flex2.compiler.mxml.InterfaceCompiler.analyze4(InterfaceCompiler.java:395) at flex2.compiler.mxml.Compiler.analyze4(Compiler.java:153) at flex2.compiler.API.analyze(API.java:2533) at flex2.compiler.API.analyze(API.java:2423) at flex2.compiler.API.batch2(API.java:409) at flex2.compiler.API.batch(API.java:1108) at flex2.compiler.API.compile(API.java:1281) at flex2.tools.oem.Application.compile(Application.java:1028) at flex2.tools.oem.Application.recompile(Application.java:980) at flex2.tools.oem.Application.compile(Application.java:736) at flex2.tools.flexbuilder.BuilderApplication.compile(BuilderApplication.java:354) at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:271) at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:122) at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:139) at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:73) at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(Unknown Source) at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(Unknown Source) at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(Unknown Source) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334) at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:328) at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:183) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) I had the same errors this week. After some reseach I found an empty case switch that was causing this error. It did not occur on FB 2.
Standalone asc and the mxml test case both compile without error now.
Testcase added to asc suite:
Committed revision 2554. trunk/modules/asc/test/compiler/bugs/ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
var maxY:Object = new Object;
var dp:Array = new Array;
function getMaxValue():Number {
return 100;
var maxValue:int = 0;
for each (var row:Object in dp) {
// blah
}
if (maxY.value > maxValue)
maxValue = maxY.value;
return maxValue;
}
Stacktrace:
Exception in thread "main" java.lang.NullPointerException
at macromedia.asc.util.Context.getDefType(Unknown Source)
at macromedia.asc.semantics.ReferenceValue.getType(Unknown Source)
at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source)
at macromedia.asc.parser.GetExpressionNode.evaluate(Unknown Source)
at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source)
at macromedia.asc.parser.MemberExpressionNode.evaluate(Unknown Source)
at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source)
at macromedia.asc.parser.ListNode.evaluate(Unknown Source)
at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source)
at macromedia.asc.parser.ReturnStatementNode.evaluate(Unknown Source)
at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source)
at macromedia.asc.parser.StatementListNode.evaluate(Unknown Source)
at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source)
at macromedia.asc.parser.FunctionCommonNode.evaluate(Unknown Source)
at macromedia.asc.semantics.ConstantEvaluator.evaluate(Unknown Source)
at macromedia.asc.parser.ProgramNode.evaluate(Unknown Source)
at macromedia.asc.embedding.Compiler.compile(Unknown Source)
at macromedia.asc.embedding.Compiler.doCompile(Unknown Source)
at macromedia.asc.embedding.Compiler.doCompile(Unknown Source)
at macromedia.asc.embedding.Main.handleFile(Unknown Source)
at macromedia.asc.embedding.Main.main(Unknown Source)