ASBlockWalker: visitVariable() and visitFunction() now have separate paths for package-level variables and functions, but still need to call emitters
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/aaeeaee6 Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/aaeeaee6 Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/aaeeaee6 Branch: refs/heads/develop Commit: aaeeaee613e50b0fcc262c00656d4c0dbe52dec7 Parents: f427b88 Author: Josh Tynjala <[email protected]> Authored: Fri Jan 8 22:10:29 2016 -0800 Committer: Josh Tynjala <[email protected]> Committed: Fri Jan 8 22:10:29 2016 -0800 ---------------------------------------------------------------------- .../compiler/internal/codegen/as/ASBlockWalker.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/aaeeaee6/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java index a0d128d..fec44cc 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASBlockWalker.java @@ -238,7 +238,11 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker public void visitVariable(IVariableNode node) { debug("visitVariable()"); - if (SemanticUtils.isMemberDefinition(node.getDefinition())) + if (SemanticUtils.isPackageDefinition(node.getDefinition())) + { + //TODO: emit package-level variable + } + else if (SemanticUtils.isMemberDefinition(node.getDefinition())) { emitter.emitField(node); } @@ -252,7 +256,11 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker public void visitFunction(IFunctionNode node) { debug("visitFunction()"); - if (DefinitionUtils.isMemberDefinition(node.getDefinition())) + if (SemanticUtils.isPackageDefinition(node.getDefinition())) + { + //TODO: emit package-level function + } + else if (DefinitionUtils.isMemberDefinition(node.getDefinition())) { emitter.emitMethod(node); }
