0 Replies Latest reply on Apr 2, 2008 7:31 AM by (Paul_Reilly)

    [svn] 1063: ImplementationCompiler abstract syntax tree generation

    Level 1
      Revision: 1063
      Author: preilly@adobe.com
      Date: 2008-04-02 08:31:38 -0700 (Wed, 02 Apr 2008)

      Log Message:
      -----------
      ImplementationCompiler abstract syntax tree generation
      work-in-progress. Most of the methods for the equivalent Velocity
      macros in ClassDef.vm and ClassDefLib.vm are stubbed out in
      ImplementationGenerator. Note, with -generate-abstract-syntax-tree
      set to true, mxml compilation is mostly broken. The current default
      is false.

      checkintests Passed: YES

      Needs QA: Not yet

      Needs DOC: NO

      API Change: NO

      Code-level description of changes:

      swfutils/src/java/flash/swf/tools/SyntaxTreeDumper.java

      Added evaluate() for BlockNode, CommentNode, TypeIdentifierNode,
      and UsePragmaNode.

      Modified evaluate() for CallExpressionNode, GetExpressionNode,
      SetExpressionNode, and FunctionSignatureNode to include more info.

      compiler/src/java/flex2/compiler/as3/AbstractSyntaxTreeUtil.java

      Initial checkin.

      compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension.java

      Moved numerous common methods to AbstractSyntaxTreeUtil.

      compiler/src/java/flex2/compiler/mxml/rep/Model.java

      Made getEffects() public.

      compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java

      Added generics to getDeclarationIterator(), getImports(),
      getScripts(), and getMetadata().

      Added getInterfaceNames().

      compiler/src/java/flex2/compiler/mxml/rep/DocumentInfo.java

      Changed return type of getImportNames() from Collection to Set.

      compiler/src/java/flex2/compiler/mxml/ImplementationCompiler.java

      Modified parse1() to call generateImplementationAST() if
      getGenerateAbstractSyntaxTree() is true. Otherwise,
      generateImplementation() is called.

      compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java

      Initial checkin.

      Modified Paths:
      --------------
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension. java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationCompiler.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/DocumentInfo.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/Model.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java
      flex/sdk/trunk/modules/swfutils/src/java/flash/swf/tools/SyntaxTreeDumper.java

      Added Paths:
      -----------
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/AbstractSyntaxTreeUtil.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java