You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by er...@apache.org on 2014/10/31 17:50:36 UTC
[02/14] git commit: [flex-falcon] [refs/heads/develop] - Add
'Container' and 'UseNamespace' node handler stubs
Add 'Container' and 'UseNamespace' node handler stubs
Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/86f0644e
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/86f0644e
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/86f0644e
Branch: refs/heads/develop
Commit: 86f0644ee9e7c5f63080ee7ca1e1bb5ac136c77e
Parents: 11d72ec
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Fri Oct 31 17:18:12 2014 +0100
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Fri Oct 31 17:44:03 2014 +0100
----------------------------------------------------------------------
.../apache/flex/compiler/codegen/as/IASEmitter.java | 6 ++++++
.../compiler/internal/codegen/as/ASBlockWalker.java | 16 ++++++++++++++++
.../compiler/internal/codegen/as/ASEmitter.java | 11 +++++++++++
.../internal/codegen/js/vf2js/JSVF2JSEmitter.java | 13 +++++++++++++
.../compiler/internal/visitor/as/ASNodeSwitch.java | 10 ++++++++--
.../flex/compiler/visitor/as/IASBlockVisitor.java | 6 ++++++
6 files changed, 60 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/86f0644e/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java b/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java
index e1c0e01..df9bbcc 100644
--- a/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/codegen/as/IASEmitter.java
@@ -30,6 +30,7 @@ import org.apache.flex.compiler.tree.as.IBinaryOperatorNode;
import org.apache.flex.compiler.tree.as.IBlockNode;
import org.apache.flex.compiler.tree.as.ICatchNode;
import org.apache.flex.compiler.tree.as.IClassNode;
+import org.apache.flex.compiler.tree.as.IContainerNode;
import org.apache.flex.compiler.tree.as.IDynamicAccessNode;
import org.apache.flex.compiler.tree.as.IForLoopNode;
import org.apache.flex.compiler.tree.as.IFunctionCallNode;
@@ -59,6 +60,7 @@ import org.apache.flex.compiler.tree.as.IThrowNode;
import org.apache.flex.compiler.tree.as.ITryNode;
import org.apache.flex.compiler.tree.as.ITypedExpressionNode;
import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
+import org.apache.flex.compiler.tree.as.IUseNamespaceNode;
import org.apache.flex.compiler.tree.as.IVariableExpressionNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
import org.apache.flex.compiler.tree.as.IWhileLoopNode;
@@ -354,6 +356,10 @@ public interface IASEmitter extends IEmitter
void emitMetaTag(IMetaTagNode node);
+ void emitContainer(IContainerNode node);
+
void emitE4XFilter(IMemberAccessExpressionNode node);
+ void emitUseNamespace(IUseNamespaceNode node);
+
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/86f0644e/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 069e934..293d8e8 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
@@ -33,6 +33,7 @@ import org.apache.flex.compiler.tree.as.IBinaryOperatorNode;
import org.apache.flex.compiler.tree.as.IBlockNode;
import org.apache.flex.compiler.tree.as.ICatchNode;
import org.apache.flex.compiler.tree.as.IClassNode;
+import org.apache.flex.compiler.tree.as.IContainerNode;
import org.apache.flex.compiler.tree.as.IDefaultXMLNamespaceNode;
import org.apache.flex.compiler.tree.as.IDynamicAccessNode;
import org.apache.flex.compiler.tree.as.IEmbedNode;
@@ -70,6 +71,7 @@ import org.apache.flex.compiler.tree.as.IThrowNode;
import org.apache.flex.compiler.tree.as.ITryNode;
import org.apache.flex.compiler.tree.as.ITypedExpressionNode;
import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
+import org.apache.flex.compiler.tree.as.IUseNamespaceNode;
import org.apache.flex.compiler.tree.as.IVariableExpressionNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
import org.apache.flex.compiler.tree.as.IWhileLoopNode;
@@ -549,6 +551,13 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker
}
@Override
+ public void visitUseNamespace(IUseNamespaceNode node)
+ {
+ debug("visitUseNamespace(" + node.getTargetNamespace() + ")");
+ emitter.emitUseNamespace(node);
+ }
+
+ @Override
public void visitEmbed(IEmbedNode node)
{
debug("visitEmbed(" + node.getAttributes()[0].getValue() + ")");
@@ -556,6 +565,13 @@ public class ASBlockWalker implements IASBlockVisitor, IASBlockWalker
}
@Override
+ public void visitContainer(IContainerNode node)
+ {
+ debug("visitContainer()");
+ emitter.emitContainer(node);
+ }
+
+ @Override
public void visitE4XFilter(IMemberAccessExpressionNode node)
{
debug("visitE4XFilter()");
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/86f0644e/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
index cd08e22..b84d1f2 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/as/ASEmitter.java
@@ -88,6 +88,7 @@ import org.apache.flex.compiler.tree.as.ITryNode;
import org.apache.flex.compiler.tree.as.ITypeNode;
import org.apache.flex.compiler.tree.as.ITypedExpressionNode;
import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
+import org.apache.flex.compiler.tree.as.IUseNamespaceNode;
import org.apache.flex.compiler.tree.as.IVariableExpressionNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
import org.apache.flex.compiler.tree.as.IWhileLoopNode;
@@ -1448,8 +1449,18 @@ public class ASEmitter implements IASEmitter, IEmitter
{
}
+ public void emitContainer(IContainerNode node)
+ {
+ }
+
public void emitE4XFilter(IMemberAccessExpressionNode node)
{
+ // ToDo (erikdebruin)
+ }
+
+ public void emitUseNamespace(IUseNamespaceNode node)
+ {
+ // ToDo (erikdebruin)
}
public String stringifyNode(IASNode node)
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/86f0644e/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
index 0ca8e4b..5b230e1 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/vf2js/JSVF2JSEmitter.java
@@ -1719,4 +1719,17 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter
write(ASEmitterTokens.SINGLE_QUOTE);
}
+ @Override
+ public void emitContainer(IContainerNode node)
+ {
+ int nodeCount = node.getChildCount();
+ for (int i = 0; i < nodeCount; i++)
+ {
+ getWalker().walk(node.getChild(i));
+
+ if (i < nodeCount - 1)
+ writeToken(ASEmitterTokens.COMMA);
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/86f0644e/compiler.jx/src/org/apache/flex/compiler/internal/visitor/as/ASNodeSwitch.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/visitor/as/ASNodeSwitch.java b/compiler.jx/src/org/apache/flex/compiler/internal/visitor/as/ASNodeSwitch.java
index a64b599..cd75f31 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/visitor/as/ASNodeSwitch.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/visitor/as/ASNodeSwitch.java
@@ -29,6 +29,7 @@ import org.apache.flex.compiler.tree.as.IBinaryOperatorNode;
import org.apache.flex.compiler.tree.as.IBlockNode;
import org.apache.flex.compiler.tree.as.ICatchNode;
import org.apache.flex.compiler.tree.as.IClassNode;
+import org.apache.flex.compiler.tree.as.IContainerNode;
import org.apache.flex.compiler.tree.as.IDefaultXMLNamespaceNode;
import org.apache.flex.compiler.tree.as.IDynamicAccessNode;
import org.apache.flex.compiler.tree.as.IEmbedNode;
@@ -63,6 +64,7 @@ import org.apache.flex.compiler.tree.as.IThrowNode;
import org.apache.flex.compiler.tree.as.ITryNode;
import org.apache.flex.compiler.tree.as.ITypedExpressionNode;
import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
+import org.apache.flex.compiler.tree.as.IUseNamespaceNode;
import org.apache.flex.compiler.tree.as.IVariableExpressionNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
import org.apache.flex.compiler.tree.as.IWhileLoopNode;
@@ -109,7 +111,7 @@ public class ASNodeSwitch implements IASNodeStrategy
switch (node.getNodeID())
{
case ContainerID:
- // ToDo (erikdebruin): implement handler
+ visitor.visitContainer((IContainerNode) node);
return;
case ConfigBlockID:
@@ -314,7 +316,11 @@ public class ASNodeSwitch implements IASNodeStrategy
}
// IExpressionNode
- if (node instanceof IEmbedNode)
+ if (node instanceof IUseNamespaceNode)
+ {
+ visitor.visitUseNamespace((IUseNamespaceNode) node);
+ }
+ else if (node instanceof IEmbedNode)
{
visitor.visitEmbed((IEmbedNode) node);
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/86f0644e/compiler.jx/src/org/apache/flex/compiler/visitor/as/IASBlockVisitor.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/visitor/as/IASBlockVisitor.java b/compiler.jx/src/org/apache/flex/compiler/visitor/as/IASBlockVisitor.java
index 0376dba..db3cda0 100644
--- a/compiler.jx/src/org/apache/flex/compiler/visitor/as/IASBlockVisitor.java
+++ b/compiler.jx/src/org/apache/flex/compiler/visitor/as/IASBlockVisitor.java
@@ -26,6 +26,7 @@ import org.apache.flex.compiler.tree.as.IBinaryOperatorNode;
import org.apache.flex.compiler.tree.as.IBlockNode;
import org.apache.flex.compiler.tree.as.ICatchNode;
import org.apache.flex.compiler.tree.as.IClassNode;
+import org.apache.flex.compiler.tree.as.IContainerNode;
import org.apache.flex.compiler.tree.as.IDefaultXMLNamespaceNode;
import org.apache.flex.compiler.tree.as.IDynamicAccessNode;
import org.apache.flex.compiler.tree.as.IEmbedNode;
@@ -60,6 +61,7 @@ import org.apache.flex.compiler.tree.as.IThrowNode;
import org.apache.flex.compiler.tree.as.ITryNode;
import org.apache.flex.compiler.tree.as.ITypedExpressionNode;
import org.apache.flex.compiler.tree.as.IUnaryOperatorNode;
+import org.apache.flex.compiler.tree.as.IUseNamespaceNode;
import org.apache.flex.compiler.tree.as.IVariableExpressionNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
import org.apache.flex.compiler.tree.as.IWhileLoopNode;
@@ -216,8 +218,12 @@ public interface IASBlockVisitor extends IBlockVisitor
void visitMetaTag(IMetaTagNode node);
+ void visitUseNamespace(IUseNamespaceNode node);
+
void visitEmbed(IEmbedNode node);
+ void visitContainer(IContainerNode node);
+
void visitE4XFilter(IMemberAccessExpressionNode node);
}