Repository: flex-falcon Updated Branches: refs/heads/develop 593425dbe -> c4f8edcb2
- Refactored function calls to FunctionCallEmitter. Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/c4f8edcb Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/c4f8edcb Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/c4f8edcb Branch: refs/heads/develop Commit: c4f8edcb22002c5e6d11dd782cf1832e3ffbdea2 Parents: 593425d Author: Michael Schmalle <[email protected]> Authored: Sat May 30 18:07:05 2015 -0400 Committer: Michael Schmalle <[email protected]> Committed: Sat May 30 18:07:05 2015 -0400 ---------------------------------------------------------------------- .../compiler/internal/codegen/as/ASEmitter.java | 2 +- .../internal/codegen/js/JSSessionModel.java | 12 +- .../internal/codegen/js/JSSubEmitter.java | 6 + .../internal/codegen/js/amd/JSAMDEmitter.java | 2 +- .../codegen/js/flexjs/JSFlexJSEmitter.java | 90 ++----------- .../internal/codegen/js/goog/JSGoogEmitter.java | 20 ++- .../codegen/js/jx/FunctionCallEmitter.java | 125 +++++++++++++++++++ .../codegen/js/vf2js/JSVF2JSEmitter.java | 15 +-- 8 files changed, 165 insertions(+), 107 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/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 423571b..84d1ac5 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 @@ -1144,7 +1144,7 @@ public class ASEmitter implements IASEmitter, IEmitter return null; } - protected void walkArguments(IExpressionNode[] nodes) + public void walkArguments(IExpressionNode[] nodes) { int len = nodes.length; for (int i = 0; i < len; i++) http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java index 97cc52b..ba8df11 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java @@ -32,6 +32,10 @@ import org.apache.flex.compiler.tree.as.ISetterNode; */ public class JSSessionModel { + public static final String CONSTRUCTOR_EMPTY = "emptyConstructor"; + public static final String CONSTRUCTOR_FULL = "fullConstructor"; + public static final String SUPER_FUNCTION_CALL = "replaceSuperFunction"; + private IClassDefinition currentClass; public static class PropertyNodes @@ -41,9 +45,9 @@ public class JSSessionModel } private HashMap<String, PropertyNodes> propertyMap = new HashMap<String, PropertyNodes>(); - + private HashMap<String, PropertyNodes> staticPropertyMap = new HashMap<String, PropertyNodes>(); - + private ArrayList<String> bindableVars = new ArrayList<String>(); public IClassDefinition getCurrentClass() @@ -60,12 +64,12 @@ public class JSSessionModel { return propertyMap; } - + public HashMap<String, PropertyNodes> getStaticPropertyMap() { return staticPropertyMap; } - + public boolean hasBindableVars() { return bindableVars.size() > 0; http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSubEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSubEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSubEmitter.java index 00ed207..e4a413f 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSubEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/JSSubEmitter.java @@ -22,6 +22,7 @@ package org.apache.flex.compiler.internal.codegen.js; import org.apache.flex.compiler.codegen.IEmitterTokens; import org.apache.flex.compiler.codegen.js.IJSEmitter; import org.apache.flex.compiler.projects.ICompilerProject; +import org.apache.flex.compiler.visitor.IBlockWalker; public class JSSubEmitter { @@ -32,6 +33,11 @@ public class JSSubEmitter return emitter; } + protected IBlockWalker getWalker() + { + return emitter.getWalker(); + } + protected ICompilerProject getProject() { return emitter.getWalker().getProject(); http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java index 8dcbb2c..3f77efc 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/amd/JSAMDEmitter.java @@ -783,7 +783,7 @@ public class JSAMDEmitter extends JSEmitter implements IJSAMDEmitter } @Override - protected void walkArguments(IExpressionNode[] nodes) + public void walkArguments(IExpressionNode[] nodes) { } http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java index ec5c2db..4f5a57e 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java @@ -30,7 +30,6 @@ import java.util.Set; import org.apache.flex.compiler.asdoc.flexjs.ASDocComment; import org.apache.flex.compiler.clients.MXMLJSC; import org.apache.flex.compiler.clients.MXMLJSC.JSOutputType; -import org.apache.flex.compiler.codegen.IASGlobalFunctionConstants; import org.apache.flex.compiler.codegen.IDocEmitter; import org.apache.flex.compiler.codegen.js.flexjs.IJSFlexJSEmitter; import org.apache.flex.compiler.common.ASModifier; @@ -45,15 +44,16 @@ import org.apache.flex.compiler.definitions.IPackageDefinition; import org.apache.flex.compiler.definitions.ITypeDefinition; import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.JSEmitterTokens; +import org.apache.flex.compiler.internal.codegen.js.JSSessionModel; import org.apache.flex.compiler.internal.codegen.js.JSSessionModel.PropertyNodes; import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitter; import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.jx.ClassEmitter; import org.apache.flex.compiler.internal.codegen.js.jx.FieldEmitter; +import org.apache.flex.compiler.internal.codegen.js.jx.FunctionCallEmitter; import org.apache.flex.compiler.internal.definitions.AccessorDefinition; import org.apache.flex.compiler.internal.definitions.ClassDefinition; import org.apache.flex.compiler.internal.definitions.FunctionDefinition; -import org.apache.flex.compiler.internal.definitions.InterfaceDefinition; import org.apache.flex.compiler.internal.definitions.ParameterDefinition; import org.apache.flex.compiler.internal.definitions.VariableDefinition; import org.apache.flex.compiler.internal.projects.CompilerProject; @@ -113,6 +113,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter private ClassEmitter classEmitter; private FieldEmitter fieldEmitter; + private FunctionCallEmitter functionCallEmitter; public ClassEmitter getClassEmiter() { @@ -125,6 +126,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter classEmitter = new ClassEmitter(this); fieldEmitter = new FieldEmitter(this); + functionCallEmitter = new FunctionCallEmitter(this); } @Override @@ -228,83 +230,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter @Override public void emitFunctionCall(IFunctionCallNode node) { - IASNode cnode = node.getChild(0); - - if (cnode.getNodeID() == ASTNodeID.MemberAccessExpressionID) - cnode = cnode.getChild(0); - - ASTNodeID id = cnode.getNodeID(); - if (id != ASTNodeID.SuperID) - { - ICompilerProject project = null; - IDefinition def = null; - - boolean isClassCast = false; - - if (node.isNewExpression()) - { - writeToken(ASEmitterTokens.NEW); - } - else - { - if (project == null) - project = getWalker().getProject(); - - def = node.getNameNode().resolve(project); - - isClassCast = (def instanceof ClassDefinition || def instanceof InterfaceDefinition) - && !(NativeUtils.isJSNative(def.getBaseName())); - } - - if (node.isNewExpression()) - { - if (project == null) - project = getWalker().getProject(); - - def = node.resolveCalledExpression(project); - // all new calls to a class should be fully qualified names - if (def instanceof ClassDefinition) - write(formatQualifiedName(def.getQualifiedName())); - else - // I think we still need this for "new someVarOfTypeClass" - getWalker().walk(node.getNameNode()); - write(ASEmitterTokens.PAREN_OPEN); - walkArguments(node.getArgumentNodes()); - write(ASEmitterTokens.PAREN_CLOSE); - } - else if (!isClassCast) - { - if (def != null) - { - boolean isInt = def.getBaseName().equals( - IASGlobalFunctionConstants._int); - if (isInt - || def.getBaseName().equals( - IASGlobalFunctionConstants.trace) - || def.getBaseName().equals( - IASGlobalFunctionConstants.uint)) - { - write(JSFlexJSEmitterTokens.LANGUAGE_QNAME); - write(ASEmitterTokens.MEMBER_ACCESS); - if (isInt) - write(JSFlexJSEmitterTokens.UNDERSCORE); - } - } - getWalker().walk(node.getNameNode()); - write(ASEmitterTokens.PAREN_OPEN); - walkArguments(node.getArgumentNodes()); - write(ASEmitterTokens.PAREN_CLOSE); - } - else - { - emitIsAs(node.getArgumentNodes()[0], node.getNameNode(), - ASTNodeID.Op_AsID, true); - } - } - else - { - emitSuperCall(node, SUPER_FUNCTION_CALL); - } + functionCallEmitter.emit(node); } //-------------------------------------------------------------------------- @@ -524,7 +450,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter //-------------------------------------------------------------------------- @Override - protected void emitSuperCall(IASNode node, String type) + public void emitSuperCall(IASNode node, String type) { IFunctionNode fnode = (node instanceof IFunctionNode) ? (IFunctionNode) node : null; @@ -533,7 +459,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter final IClassDefinition thisClass = getModel().getCurrentClass(); - if (type == SUPER_FUNCTION_CALL) + if (type == JSSessionModel.SUPER_FUNCTION_CALL) { if (fnode == null) fnode = (IFunctionNode) fcnode @@ -772,7 +698,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter } } - private void emitIsAs(IExpressionNode left, IExpressionNode right, + public void emitIsAs(IExpressionNode left, IExpressionNode right, ASTNodeID id, boolean coercion) { // project is null in unit tests http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java index db88672..530a381 100644 --- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.java @@ -40,6 +40,7 @@ import org.apache.flex.compiler.definitions.ITypeDefinition; import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.JSEmitter; import org.apache.flex.compiler.internal.codegen.js.JSEmitterTokens; +import org.apache.flex.compiler.internal.codegen.js.JSSessionModel; import org.apache.flex.compiler.internal.codegen.js.utils.EmitterUtils; import org.apache.flex.compiler.internal.definitions.ClassDefinition; import org.apache.flex.compiler.internal.scopes.PackageScope; @@ -82,11 +83,6 @@ import org.apache.flex.compiler.utils.ASNodeUtils; */ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter { - - protected static final String CONSTRUCTOR_EMPTY = "emptyConstructor"; - protected static final String CONSTRUCTOR_FULL = "fullConstructor"; - protected static final String SUPER_FUNCTION_CALL = "replaceSuperFunction"; - protected List<String> propertyNames = new ArrayList<String>(); public ICompilerProject project; @@ -490,7 +486,7 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter write(ASEmitterTokens.SPACE); write(ASEmitterTokens.BLOCK_OPEN); if (hasSuperClass) - emitSuperCall(node, CONSTRUCTOR_EMPTY); + emitSuperCall(node, JSSessionModel.CONSTRUCTOR_EMPTY); writeNewline(); write(ASEmitterTokens.BLOCK_CLOSE); } @@ -536,7 +532,7 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter } else { - emitSuperCall(node, SUPER_FUNCTION_CALL); + emitSuperCall(node, JSSessionModel.SUPER_FUNCTION_CALL); } } @@ -624,7 +620,7 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter if (node.isConstructor() && hasSuperClass(node) && !hasSuperCall(node.getScopedNode())) - emitSuperCall(node, CONSTRUCTOR_FULL); + emitSuperCall(node, JSSessionModel.CONSTRUCTOR_FULL); emitRestParameterCodeBlock(node); @@ -647,13 +643,13 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter IFunctionCallNode fcnode = (node instanceof IFunctionCallNode) ? (FunctionCallNode) node : null; - if (type == CONSTRUCTOR_EMPTY) + if (type == JSSessionModel.CONSTRUCTOR_EMPTY) { indentPush(); writeNewline(); indentPop(); } - else if (type == SUPER_FUNCTION_CALL) + else if (type == JSSessionModel.SUPER_FUNCTION_CALL) { if (fnode == null) fnode = (IFunctionNode) fcnode @@ -722,12 +718,12 @@ public class JSGoogEmitter extends JSEmitter implements IJSGoogEmitter write(ASEmitterTokens.PAREN_CLOSE); - if (type == CONSTRUCTOR_FULL) + if (type == JSSessionModel.CONSTRUCTOR_FULL) { write(ASEmitterTokens.SEMICOLON); writeNewline(); } - else if (type == CONSTRUCTOR_EMPTY) + else if (type == JSSessionModel.CONSTRUCTOR_EMPTY) { write(ASEmitterTokens.SEMICOLON); } http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java ---------------------------------------------------------------------- diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java new file mode 100644 index 0000000..00bdf18 --- /dev/null +++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/FunctionCallEmitter.java @@ -0,0 +1,125 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.flex.compiler.internal.codegen.js.jx; + +import org.apache.flex.compiler.codegen.IASGlobalFunctionConstants; +import org.apache.flex.compiler.codegen.ISubEmitter; +import org.apache.flex.compiler.codegen.js.IJSEmitter; +import org.apache.flex.compiler.definitions.IDefinition; +import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens; +import org.apache.flex.compiler.internal.codegen.js.JSSessionModel; +import org.apache.flex.compiler.internal.codegen.js.JSSubEmitter; +import org.apache.flex.compiler.internal.codegen.js.flexjs.JSFlexJSEmitter; +import org.apache.flex.compiler.internal.codegen.js.flexjs.JSFlexJSEmitterTokens; +import org.apache.flex.compiler.internal.definitions.ClassDefinition; +import org.apache.flex.compiler.internal.definitions.InterfaceDefinition; +import org.apache.flex.compiler.tree.ASTNodeID; +import org.apache.flex.compiler.tree.as.IASNode; +import org.apache.flex.compiler.tree.as.IFunctionCallNode; +import org.apache.flex.compiler.utils.NativeUtils; + +public class FunctionCallEmitter extends JSSubEmitter implements + ISubEmitter<IFunctionCallNode> +{ + + public FunctionCallEmitter(IJSEmitter emitter) + { + super(emitter); + } + + @Override + public void emit(IFunctionCallNode node) + { + // TODO (mschmalle) will remove this cast as more things get abstracted + JSFlexJSEmitter fjs = (JSFlexJSEmitter) getEmitter(); + + IASNode cnode = node.getChild(0); + + if (cnode.getNodeID() == ASTNodeID.MemberAccessExpressionID) + cnode = cnode.getChild(0); + + ASTNodeID id = cnode.getNodeID(); + if (id != ASTNodeID.SuperID) + { + IDefinition def = null; + + boolean isClassCast = false; + + if (node.isNewExpression()) + { + writeToken(ASEmitterTokens.NEW); + } + else + { + def = node.getNameNode().resolve(getProject()); + + isClassCast = (def instanceof ClassDefinition || def instanceof InterfaceDefinition) + && !(NativeUtils.isJSNative(def.getBaseName())); + } + + if (node.isNewExpression()) + { + def = node.resolveCalledExpression(getProject()); + // all new calls to a class should be fully qualified names + if (def instanceof ClassDefinition) + write(fjs.formatQualifiedName(def.getQualifiedName())); + else + // I think we still need this for "new someVarOfTypeClass" + fjs.getWalker().walk(node.getNameNode()); + write(ASEmitterTokens.PAREN_OPEN); + fjs.walkArguments(node.getArgumentNodes()); + write(ASEmitterTokens.PAREN_CLOSE); + } + else if (!isClassCast) + { + if (def != null) + { + boolean isInt = def.getBaseName().equals( + IASGlobalFunctionConstants._int); + if (isInt + || def.getBaseName().equals( + IASGlobalFunctionConstants.trace) + || def.getBaseName().equals( + IASGlobalFunctionConstants.uint)) + { + write(JSFlexJSEmitterTokens.LANGUAGE_QNAME); + write(ASEmitterTokens.MEMBER_ACCESS); + if (isInt) + write(JSFlexJSEmitterTokens.UNDERSCORE); + } + } + getWalker().walk(node.getNameNode()); + write(ASEmitterTokens.PAREN_OPEN); + fjs.walkArguments(node.getArgumentNodes()); + write(ASEmitterTokens.PAREN_CLOSE); + } + else + { + fjs.emitIsAs(node.getArgumentNodes()[0], node.getNameNode(), + ASTNodeID.Op_AsID, true); + } + } + else + { + fjs.emitSuperCall(node, JSSessionModel.SUPER_FUNCTION_CALL); + } + } + +} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4f8edcb/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 033215a..b11193b 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 @@ -44,6 +44,7 @@ import org.apache.flex.compiler.definitions.IParameterDefinition; import org.apache.flex.compiler.definitions.ITypeDefinition; import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.JSEmitterTokens; +import org.apache.flex.compiler.internal.codegen.js.JSSessionModel; import org.apache.flex.compiler.internal.codegen.js.flexjs.JSFlexJSEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitter; import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitterTokens; @@ -281,7 +282,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter if (node.isConstructor() && hasSuperClass(node) && !hasSuperCall(node.getScopedNode())) - emitSuperCall(node, CONSTRUCTOR_FULL); + emitSuperCall(node, JSSessionModel.CONSTRUCTOR_FULL); } private void emitVarNonLiteralAssignments() @@ -542,7 +543,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter emitVarNonLiteralAssignments(); if (hasSuperClass) { - emitSuperCall(node, CONSTRUCTOR_EMPTY); + emitSuperCall(node, JSSessionModel.CONSTRUCTOR_EMPTY); writeNewline(); } write(ASEmitterTokens.BLOCK_CLOSE); @@ -669,7 +670,7 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter } else { - emitSuperCall(node, SUPER_FUNCTION_CALL); + emitSuperCall(node, JSSessionModel.SUPER_FUNCTION_CALL); } } @@ -1002,13 +1003,13 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter IFunctionCallNode fcnode = (node instanceof IFunctionCallNode) ? (FunctionCallNode) node : null; - if (type == CONSTRUCTOR_EMPTY) + if (type == JSSessionModel.CONSTRUCTOR_EMPTY) { indentPush(); writeNewline(); indentPop(); } - else if (type == SUPER_FUNCTION_CALL) + else if (type == JSSessionModel.SUPER_FUNCTION_CALL) { if (fnode == null) fnode = (IFunctionNode) fcnode @@ -1141,12 +1142,12 @@ public class JSVF2JSEmitter extends JSGoogEmitter implements IJSVF2JSEmitter write(ASEmitterTokens.PAREN_CLOSE); - if (type == CONSTRUCTOR_FULL) + if (type == JSSessionModel.CONSTRUCTOR_FULL) { write(ASEmitterTokens.SEMICOLON); writeNewline(); } - else if (type == CONSTRUCTOR_EMPTY) + else if (type == JSSessionModel.CONSTRUCTOR_EMPTY) { write(ASEmitterTokens.SEMICOLON); }
