20090606

compilation error in Variable declaration

If you see the following exception and unable to figure out what is the reason. Don't panic. Just relax and look for a syntax error among the variable declarations in the last set of files you edited after which this error started coming.
Flex3 compiler and Flex3 Builder is unable to figure out such syntax errors:
http://bugs.adobe.com/jira/browse/SDK-15030



[mxmlc] Error: macromedia.asc.parser.MetaDataEvaluator$KeyValuePair

[mxmlc] java.lang.ClassCastException: macromedia.asc.parser.MetaDataEvaluator$KeyValuePair
[mxmlc] at macromedia.asc.parser.MetaDataEvaluator.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.SetExpressionNode.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.MetaDataEvaluator.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.MemberExpressionNode.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.MetaDataEvaluator.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.ListNode.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.MetaDataEvaluator.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.ExpressionStatementNode.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.MetaDataEvaluator.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.ClassDefinitionNode.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.MetaDataEvaluator.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.StatementListNode.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.MetaDataEvaluator.evaluate(Unknown Source)
[mxmlc] at macromedia.asc.parser.ProgramNode.evaluate(Unknown Source)
[mxmlc] at flex2.compiler.as3.Compiler.analyze3(Compiler.java:531)
[mxmlc] at flex2.compiler.mxml.InterfaceCompiler.analyze3(InterfaceCompiler.java:378)



Some examples where the above exception will be reported by mxmlc are :


public var myButton = String = null;
public var myButton : String = null; = null;


2 comments:

j4 said...

Saved me lots of headaches thanks!

Unknown said...

Thank you very much, without your post I wouldn't have any idea what the problem is.
In my case it was this line:
private var m_Delay : Number = m_Delay = -1;