You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2016/04/11 16:00:13 UTC
[46/50] git commit: [flex-falcon]
[refs/heads/feature/maven-migration] - added source mapping for language
identifiers
added source mapping for language identifiers
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/3bcbbffc
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/3bcbbffc
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/3bcbbffc
Branch: refs/heads/feature/maven-migration
Commit: 3bcbbffc8b2b4c6107b0a531ca8d81826140c44a
Parents: 4cc081b
Author: Josh Tynjala <jo...@apache.org>
Authored: Fri Apr 8 17:00:08 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Fri Apr 8 17:00:08 2016 -0700
----------------------------------------------------------------------
.../compiler/internal/codegen/js/JSEmitter.java | 11 +++++
.../js/jx/LanguageIdentifierEmitter.java | 44 ++++++++++++++++++++
2 files changed, 55 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3bcbbffc/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java
index 2ab71b3..a50e288 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSEmitter.java
@@ -36,6 +36,7 @@ import org.apache.flex.compiler.internal.codegen.js.jx.ForLoopEmitter;
import org.apache.flex.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter;
import org.apache.flex.compiler.internal.codegen.js.jx.IfEmitter;
import org.apache.flex.compiler.internal.codegen.js.jx.IterationFlowEmitter;
+import org.apache.flex.compiler.internal.codegen.js.jx.LanguageIdentifierEmitter;
import org.apache.flex.compiler.internal.codegen.js.jx.LiteralContainerEmitter;
import org.apache.flex.compiler.internal.codegen.js.jx.MemberKeywordEmitter;
import org.apache.flex.compiler.internal.codegen.js.jx.NumericLiteralEmitter;
@@ -59,6 +60,7 @@ import org.apache.flex.compiler.tree.as.IFunctionNode;
import org.apache.flex.compiler.tree.as.IFunctionObjectNode;
import org.apache.flex.compiler.tree.as.IIfNode;
import org.apache.flex.compiler.tree.as.IIterationFlowNode;
+import org.apache.flex.compiler.tree.as.ILanguageIdentifierNode;
import org.apache.flex.compiler.tree.as.ILiteralContainerNode;
import org.apache.flex.compiler.tree.as.INumericLiteralNode;
import org.apache.flex.compiler.tree.as.IObjectLiteralValuePairNode;
@@ -97,6 +99,7 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
public ForLoopEmitter forLoopEmitter;
public IterationFlowEmitter interationFlowEmitter;
public StatementEmitter statementEmitter;
+ public LanguageIdentifierEmitter languageIdentifierEmitter;
public SourceMapDirectiveEmitter sourceMapDirectiveEmitter;
@Override
@@ -140,6 +143,7 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
forLoopEmitter = new ForLoopEmitter(this);
interationFlowEmitter = new IterationFlowEmitter(this);
statementEmitter = new StatementEmitter(this);
+ languageIdentifierEmitter = new LanguageIdentifierEmitter(this);
sourceMapDirectiveEmitter = new SourceMapDirectiveEmitter(this);
}
@@ -258,6 +262,13 @@ public class JSEmitter extends ASEmitter implements IJSEmitter
{
ternaryOperatorEmitter.emit(node);
}
+
+ @Override
+ public void emitLanguageIdentifier(ILanguageIdentifierNode node)
+ {
+ languageIdentifierEmitter.emit(node);
+ }
+
@Override
public void emitStatement(IASNode node)
{
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3bcbbffc/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LanguageIdentifierEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LanguageIdentifierEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LanguageIdentifierEmitter.java
new file mode 100644
index 0000000..8f01b71
--- /dev/null
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/LanguageIdentifierEmitter.java
@@ -0,0 +1,44 @@
+package org.apache.flex.compiler.internal.codegen.js.jx;
+
+import org.apache.flex.compiler.codegen.ISubEmitter;
+import org.apache.flex.compiler.codegen.js.IJSEmitter;
+import org.apache.flex.compiler.common.ISourceLocation;
+import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens;
+import org.apache.flex.compiler.internal.codegen.js.JSSubEmitter;
+import org.apache.flex.compiler.tree.as.ILanguageIdentifierNode;
+
+public class LanguageIdentifierEmitter extends JSSubEmitter implements
+ ISubEmitter<ILanguageIdentifierNode>
+{
+ public LanguageIdentifierEmitter(IJSEmitter emitter)
+ {
+ super(emitter);
+ }
+
+ @Override
+ public void emit(ILanguageIdentifierNode node)
+ {
+ startMapping((ISourceLocation) node);
+ if (node.getKind() == ILanguageIdentifierNode.LanguageIdentifierKind.ANY_TYPE)
+ {
+ write(ASEmitterTokens.ANY_TYPE);
+ }
+ else if (node.getKind() == ILanguageIdentifierNode.LanguageIdentifierKind.REST)
+ {
+ write(ASEmitterTokens.ELLIPSIS);
+ }
+ else if (node.getKind() == ILanguageIdentifierNode.LanguageIdentifierKind.SUPER)
+ {
+ write(ASEmitterTokens.SUPER);
+ }
+ else if (node.getKind() == ILanguageIdentifierNode.LanguageIdentifierKind.THIS)
+ {
+ write(ASEmitterTokens.THIS);
+ }
+ else if (node.getKind() == ILanguageIdentifierNode.LanguageIdentifierKind.VOID)
+ {
+ write(ASEmitterTokens.VOID);
+ }
+ endMapping((ISourceLocation) node);
+ }
+}