You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pi...@apache.org on 2017/08/13 22:03:46 UTC
[08/13] git commit: [flex-falcon] [refs/heads/feature/amf] - upgrade
to Google Closure Compiler 20170626. They deprecated a lot of APIs so lots of
changes were required. The primary change is that GCC is being more careful
about checking that types mat
upgrade to Google Closure Compiler 20170626. They deprecated a lot of APIs so lots of changes were required. The primary change is that GCC is being more careful about checking that types match in the superclasses, so that required adding @type to the accessors
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/6331b80d
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/6331b80d
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/6331b80d
Branch: refs/heads/feature/amf
Commit: 6331b80de71706429d3a73d3d103537efdd0943e
Parents: 8d7e147
Author: Alex Harui <ah...@apache.org>
Authored: Thu Aug 10 22:48:16 2017 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Aug 10 22:48:16 2017 -0700
----------------------------------------------------------------------
.../externals/pass/AbstractCompilerPass.java | 2 +-
.../codegen/externals/pass/AddMemberPass.java | 2 +-
.../externals/pass/CollectTypesPass.java | 2 +-
.../externals/pass/NamespaceResolutionPass.java | 2 +-
.../externals/pass/ReferenceCompiler.java | 5 ++-
.../internal/codegen/js/JSSessionModel.java | 2 +
.../codegen/js/goog/JSGoogDocEmitter.java | 7 +++-
.../internal/codegen/js/goog/JarSourceFile.java | 5 ---
.../internal/codegen/js/jx/AccessorEmitter.java | 44 ++++++++++++++------
compiler-jx/src/main/resources/downloads.xml | 4 +-
.../codegen/externals/TestExternChrome.java | 2 +-
.../js/flexjs/TestFlexJSAccessorMembers.java | 24 +++++------
.../codegen/js/flexjs/TestFlexJSAccessors.java | 14 +++----
.../codegen/js/flexjs/TestFlexJSClass.java | 14 +++----
.../js/flexjs/TestFlexJSExpressions.java | 2 +-
.../codegen/js/flexjs/TestFlexJSPackage.java | 4 +-
.../flexjs/files/MyInitialView_result.js | 16 +++++--
.../flexjs/files/models/MyModel_result.js | 12 ++++--
.../flexjs/projects/super/Base_result.js | 4 +-
.../flexjs/projects/super/Super_result.js | 4 +-
20 files changed, 105 insertions(+), 66 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AbstractCompilerPass.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AbstractCompilerPass.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AbstractCompilerPass.java
index 9903fc2..0bf5966 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AbstractCompilerPass.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AbstractCompilerPass.java
@@ -52,7 +52,7 @@ public abstract class AbstractCompilerPass implements CompilerPass, Callback
public void process(Node externs, Node root)
{
//NodeTraversal.traverse(compiler, root, this);
- NodeTraversal.traverseRoots(compiler, this, externs, root);
+ NodeTraversal.traverseRootsEs6(compiler, this, externs, root);
}
protected void log(Node n)
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AddMemberPass.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AddMemberPass.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AddMemberPass.java
index 732b9e9..64fc9a9 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AddMemberPass.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/AddMemberPass.java
@@ -38,7 +38,7 @@ public class AddMemberPass extends AbstractCompilerPass
public boolean shouldTraverse(NodeTraversal nodeTraversal, Node n,
Node parent)
{
- return n.isBlock() || n.isScript();
+ return n.isRoot() || n.isNormalBlock() || n.isScript();
}
@Override
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
index 44a9cc4..81e2ae2 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
@@ -37,7 +37,7 @@ public class CollectTypesPass extends AbstractCompilerPass
public boolean shouldTraverse(NodeTraversal nodeTraversal, Node n,
Node parent)
{
- return n.isBlock() || n.isScript();
+ return n.isRoot() || n.isNormalBlock() || n.isScript();
}
@Override
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/NamespaceResolutionPass.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/NamespaceResolutionPass.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/NamespaceResolutionPass.java
index 6270227..8a8ec24 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/NamespaceResolutionPass.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/NamespaceResolutionPass.java
@@ -42,7 +42,7 @@ public class NamespaceResolutionPass extends AbstractCompilerPass
public boolean shouldTraverse(NodeTraversal nodeTraversal, Node n,
Node parent)
{
- return n.isBlock() || n.isScript();
+ return n.isRoot() || n.isNormalBlock() || n.isScript();
}
@Override
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/ReferenceCompiler.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/ReferenceCompiler.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/ReferenceCompiler.java
index e941944..b2b6bdc 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/ReferenceCompiler.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/externals/pass/ReferenceCompiler.java
@@ -32,6 +32,7 @@ import org.apache.flex.compiler.internal.codegen.externals.reference.ReferenceMo
import com.google.javascript.jscomp.*;
import com.google.javascript.jscomp.Compiler;
import com.google.javascript.jscomp.CompilerOptions.LanguageMode;
+import com.google.javascript.jscomp.parsing.Config;
public class ReferenceCompiler
{
@@ -67,10 +68,10 @@ public class ReferenceCompiler
options.setLineLengthThreshold(80);
options.setPreferSingleQuotes(true);
options.setIdeMode(true);
- options.setParseJsDocDocumentation(true);
+ options.setParseJsDocDocumentation(Config.JsDocParsing.INCLUDE_DESCRIPTIONS_NO_WHITESPACE);
options.setExternExports(false);
options.setExtraAnnotationNames(Arrays.asList(asdocTags));
- options.setLanguageIn(LanguageMode.ECMASCRIPT6_STRICT);
+ options.setLanguageIn(LanguageMode.ECMASCRIPT_2015);
options.setLanguageIn(LanguageMode.ECMASCRIPT5_STRICT);
options.addCustomPass(CustomPassExecutionTime.BEFORE_OPTIMIZATIONS, new NamespaceResolutionPass(model,
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java
index 3ace9e5..8ceb44d 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/JSSessionModel.java
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Stack;
import org.apache.flex.compiler.definitions.IClassDefinition;
+import org.apache.flex.compiler.definitions.ITypeDefinition;
import org.apache.flex.compiler.tree.as.IFunctionNode;
import org.apache.flex.compiler.tree.as.IGetterNode;
import org.apache.flex.compiler.tree.as.ISetterNode;
@@ -47,6 +48,7 @@ public class JSSessionModel
{
public IGetterNode getter;
public ISetterNode setter;
+ public ITypeDefinition type;
}
public static class BindableVarInfo
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
index cd57e7a..332bc17 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogDocEmitter.java
@@ -469,6 +469,11 @@ public class JSGoogDocEmitter extends JSDocEmitter implements IJSGoogDocEmitter
protected String convertASTypeToJS(String name, String pname)
{
+ return convertASTypeToJSType(name, pname);
+ }
+
+ public static String convertASTypeToJSType(String name, String pname)
+ {
String result = "";
if (name.equals(""))
@@ -488,7 +493,7 @@ public class JSGoogDocEmitter extends JSDocEmitter implements IJSGoogDocEmitter
{
// is a vector so convert the element type
String elementType = name.substring(8, name.length() - 1);
- elementType = convertASTypeToJS(elementType, pname);
+ elementType = convertASTypeToJSType(elementType, pname);
name = "Vector.<" + elementType + ">";
}
IASGlobalFunctionConstants.BuiltinType[] builtinTypes = IASGlobalFunctionConstants.BuiltinType
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JarSourceFile.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JarSourceFile.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JarSourceFile.java
index 5155aa0..ee0a89b 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JarSourceFile.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/goog/JarSourceFile.java
@@ -54,11 +54,6 @@ public class JarSourceFile extends SourceFile {
}
@Override
- public CharSource getCodeCharSource() {
- return CharSource.wrap(code);
- }
-
- @Override
public Reader getCodeReader() throws IOException {
return new StringReader(code);
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
index c060381..19c16ae 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/AccessorEmitter.java
@@ -31,6 +31,7 @@ import org.apache.flex.compiler.definitions.IAccessorDefinition;
import org.apache.flex.compiler.definitions.IClassDefinition;
import org.apache.flex.compiler.definitions.IFunctionDefinition;
import org.apache.flex.compiler.definitions.INamespaceDefinition;
+import org.apache.flex.compiler.definitions.IParameterDefinition;
import org.apache.flex.compiler.definitions.ITypeDefinition;
import org.apache.flex.compiler.definitions.metadata.IMetaTag;
import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens;
@@ -40,7 +41,9 @@ import org.apache.flex.compiler.internal.codegen.js.JSSubEmitter;
import org.apache.flex.compiler.internal.codegen.js.flexjs.JSFlexJSDocEmitter;
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.codegen.js.goog.JSGoogDocEmitter;
import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogEmitterTokens;
+import org.apache.flex.compiler.internal.projects.FlexJSProject;
import org.apache.flex.compiler.internal.semantics.SemanticUtils;
import org.apache.flex.compiler.internal.tree.as.FunctionNode;
import org.apache.flex.compiler.internal.tree.as.SetterNode;
@@ -77,6 +80,10 @@ public class AccessorEmitter extends JSSubEmitter implements
{
// TODO (mschmalle) will remove this cast as more things get abstracted
JSFlexJSEmitter fjs = (JSFlexJSEmitter) getEmitter();
+ FlexJSProject project = (FlexJSProject)getWalker().getProject();
+ boolean emitExports = true;
+ if (project != null && project.config != null)
+ emitExports = project.config.getExportPublicSymbols();
if (!getModel().getPropertyMap().isEmpty())
{
@@ -98,7 +105,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)getterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)getterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -161,7 +167,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)setterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)setterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -276,12 +281,17 @@ public class AccessorEmitter extends JSSubEmitter implements
PropertyNodes p = getModel().getPropertyMap().get(propName);
IGetterNode getterNode = p.getter;
ISetterNode setterNode = p.setter;
- writeNewline("/** @export */");
+ writeNewline("/**");
+ if (emitExports)
+ writeNewline(" * @export");
+ if (p.type != null)
+ writeNewline(" * @type {"+JSGoogDocEmitter.convertASTypeToJSType(p.type.getBaseName(), p.type.getPackageName()) + "} */");
+ else
+ writeNewline(" */");
FunctionNode fnNode = getterNode != null ? (FunctionNode) getterNode : (FunctionNode) setterNode;
if (fjs.isCustomNamespace(fnNode))
{
INamespaceDecorationNode ns = fnNode.getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -304,7 +314,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)getterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)getterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -338,7 +347,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)setterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)setterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -367,7 +375,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)setterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)setterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -402,7 +409,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)getterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)getterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -440,7 +446,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)getterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)getterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -471,7 +476,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)setterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)setterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -526,7 +530,13 @@ public class AccessorEmitter extends JSSubEmitter implements
propName);
IGetterNode getterNode = p.getter;
ISetterNode setterNode = p.setter;
- writeNewline("/** @export */");
+ writeNewline("/**");
+ if (emitExports)
+ writeNewline(" * @export");
+ if (p.type != null)
+ writeNewline(" * @type {"+JSGoogDocEmitter.convertASTypeToJSType(p.type.getBaseName(), p.type.getPackageName()) + "} */");
+ else
+ writeNewline(" */");
write(propName);
write(ASEmitterTokens.COLON);
write(ASEmitterTokens.SPACE);
@@ -541,7 +551,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)getterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)getterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -566,7 +575,6 @@ public class AccessorEmitter extends JSSubEmitter implements
if (fjs.isCustomNamespace((FunctionNode)setterNode))
{
INamespaceDecorationNode ns = ((FunctionNode)setterNode).getActualNamespaceNode();
- ICompilerProject project = getWalker().getProject();
INamespaceDefinition nsDef = (INamespaceDefinition)ns.resolve(project);
fjs.formatQualifiedName(nsDef.getQualifiedName()); // register with used names
String s = nsDef.getURI();
@@ -605,6 +613,9 @@ public class AccessorEmitter extends JSSubEmitter implements
map.put(name, p);
}
p.getter = node;
+ ICompilerProject project = (ICompilerProject)getWalker().getProject();
+ if (project != null)
+ p.type = node.getDefinition().resolveReturnType(project);
FunctionNode fn = (FunctionNode) node;
fn.parseFunctionBody(fjs.getProblems());
}
@@ -628,6 +639,13 @@ public class AccessorEmitter extends JSSubEmitter implements
map.put(name, p);
}
p.setter = node;
+ ICompilerProject project = (ICompilerProject)getWalker().getProject();
+ if (project != null)
+ {
+ IFunctionDefinition def = node.getDefinition();
+ IParameterDefinition[] params = def.getParameters();
+ p.type = params[0].resolveType(project);
+ }
FunctionNode fn = (FunctionNode) node;
fn.parseFunctionBody(fjs.getProblems());
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/main/resources/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/resources/downloads.xml b/compiler-jx/src/main/resources/downloads.xml
index 9885ede..5e78c35 100644
--- a/compiler-jx/src/main/resources/downloads.xml
+++ b/compiler-jx/src/main/resources/downloads.xml
@@ -80,7 +80,7 @@
</antcall>
<!-- closure -->
- <property name="closure.version" value="20161201"/>
+ <property name="closure.version" value="20170626"/>
<property name="closure.name" value="closure-compiler-v${closure.version}"/>
<property name="closure.dest.name" value="compiler"/>
<property name="closure.dest.folder" value="google/closure-compiler"/>
@@ -90,7 +90,7 @@
<param name="src.server" value="http://dl.google.com"/>
<param name="src.folder" value="closure-compiler"/>
<param name="src.filename" value="compiler-${closure.version}.zip"/>
- <param name="src.checksum" value="bcd640e9c9f756df4117af2066621f89"/>
+ <param name="src.checksum" value="c565b5a1e12aefa5968b42ea83ea6c28"/>
</antcall>
<!-- commons-io -->
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/externals/TestExternChrome.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/externals/TestExternChrome.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/externals/TestExternChrome.java
index d2582bb..9aafd07 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/externals/TestExternChrome.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/externals/TestExternChrome.java
@@ -67,7 +67,7 @@ public class TestExternChrome extends ExternalsTestBase
"ChromeLoadTimes",
"ChromeCsiInfo" };
- assertEquals(301, model.getClasses().size());
+ assertEquals(322, model.getClasses().size());
for (String className : classes)
{
assertTrue(model.hasClass(className));
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
index 4070eb8..3950cc3 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessorMembers.java
@@ -39,7 +39,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.prototype.get__foo = function() {\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\nfoo: {\nget: FalconTest_A.prototype.get__foo}}\n);");
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nget: FalconTest_A.prototype.get__foo}}\n);");
}
@Override
@@ -51,7 +51,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.prototype.get__foo = function() {\n return -1;\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\nfoo: {\nget: FalconTest_A.prototype.get__foo}}\n);");
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nget: FalconTest_A.prototype.get__foo}}\n);");
}
@Override
@@ -63,7 +63,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.prototype.get__foo = function() {\n return -1;\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\nfoo: {\nget: FalconTest_A.prototype.get__foo}}\n);");
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nget: FalconTest_A.prototype.get__foo}}\n);");
}
@Override
@@ -75,7 +75,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n * @extends {A}\n */\nB = function() {\n B.base(this, 'constructor');\n};\ngoog.inherits(B, A);\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('B', B);\n\n\n" +
"B.prototype.get__foo = function() {\n return B.superClass_.get__foo.apply(this);\n};\n\n\n" +
- "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/** @export */\nfoo: {\nget: B.prototype.get__foo}}\n);");
+ "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nget: B.prototype.get__foo}}\n);");
}
@Test
@@ -86,7 +86,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n * @extends {A}\n */\nB = function() {\n B.base(this, 'constructor');\n};\ngoog.inherits(B, A);\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('B', B);\n\n\n" +
"B.prototype.get__foo = function() {\n return B.superClass_.get__foo.apply(this);\n};\n\n\n" +
- "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/** @export */\nfoo: {\nget: B.prototype.get__foo,\nset: A.prototype.set__foo}}\n);");
+ "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nget: B.prototype.get__foo,\nset: A.prototype.set__foo}}\n);");
}
@Override
@@ -98,7 +98,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.get__foo = function() {\n return -1;\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A, /** @lends {FalconTest_A} */ {\n/** @export */\nfoo: {\nget: FalconTest_A.get__foo}}\n);");
+ "Object.defineProperties(FalconTest_A, /** @lends {FalconTest_A} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nget: FalconTest_A.get__foo}}\n);");
}
@Override
@@ -110,7 +110,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.prototype.set__foo = function(value) {\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\nfoo: {\nset: FalconTest_A.prototype.set__foo}}\n);");
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nset: FalconTest_A.prototype.set__foo}}\n);");
}
@Override
@@ -122,7 +122,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.prototype.set__foo = function(value) {\n fetch('haai');\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\nfoo: {\nset: FalconTest_A.prototype.set__foo}}\n);");
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nset: FalconTest_A.prototype.set__foo}}\n);");
}
@Override
@@ -134,7 +134,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.prototype.set__foo = function(value) {\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\nfoo: {\nset: FalconTest_A.prototype.set__foo}}\n);");
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nset: FalconTest_A.prototype.set__foo}}\n);");
}
@Override
@@ -146,7 +146,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n * @extends {A}\n */\nB = function() {\n B.base(this, 'constructor');\n};\ngoog.inherits(B, A);\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('B', B);\n\n\n" +
"B.prototype.set__foo = function(value) {\n B.superClass_.set__foo.apply(this, [ value] );\n};\n\n\n" +
- "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/** @export */\nfoo: {\nset: B.prototype.set__foo}}\n);");
+ "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nset: B.prototype.set__foo}}\n);");
}
@Override
@@ -158,7 +158,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n" +
"FalconTest_A.set__foo = function(value) {\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A, /** @lends {FalconTest_A} */ {\n/** @export */\nfoo: {\nset: FalconTest_A.set__foo}}\n);");
+ "Object.defineProperties(FalconTest_A, /** @lends {FalconTest_A} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nset: FalconTest_A.set__foo}}\n);");
}
@Test
@@ -169,7 +169,7 @@ public class TestFlexJSAccessorMembers extends TestGoogAccessorMembers
asBlockWalker.visitClass(node);
assertOut("/**\n * @constructor\n * @extends {A}\n */\nB = function() {\n B.base(this, 'constructor');\n};\ngoog.inherits(B, A);\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('B', B);\n\n\n" +
"B.prototype.set__foo = function(value) {\n B.superClass_.set__foo.apply(this, [ value] );\n};\n\n\n" +
- "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/** @export */\nfoo: {\nget: A.prototype.get__foo,\nset: B.prototype.set__foo}}\n);");
+ "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/**\n * @export\n * @type {number} */\nfoo: {\nget: A.prototype.get__foo,\nset: B.prototype.set__foo}}\n);");
}
@Override
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessors.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessors.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessors.java
index 93a6e09..32d7f58 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessors.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSAccessors.java
@@ -49,7 +49,7 @@ public class TestFlexJSAccessors extends ASTestBase
String expected = "/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n/**\n * @export\n */\nFalconTest_A.prototype.doStuff = function() {\n this.label = 'hello, bye';\n var /** @type {string} */ theLabel = this.label;\n};\n\n\n/**\n * @private\n * @type {string}\n */\nFalconTest_A.prototype._label;\n\n\n" +
"FalconTest_A.prototype.get__label = function() {\n return this._label;\n};\n\n\n" +
"FalconTest_A.prototype.set__label = function(value) {\n this._label = value;\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\n" +
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {string} */\n" +
"label: {\nget: FalconTest_A.prototype.get__label,\nset: FalconTest_A.prototype.set__label}}\n);";
assertOut(expected);
}
@@ -64,7 +64,7 @@ public class TestFlexJSAccessors extends ASTestBase
String expected = "/**\n * @constructor\n */\nB = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('B', B);\n\n\n/**\n * @export\n */\nB.prototype.doStuff = function() {\n this.label = this.label + 'bye';\n var /** @type {string} */ theLabel = this.label;\n};\n\n\n/**\n * @private\n * @type {string}\n */\nB.prototype._label;\n\n\n" +
"B.prototype.get__label = function() {\n return this._label;\n};\n\n\n" +
"B.prototype.set__label = function(value) {\n this._label = value;\n};\n\n\n" +
- "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/** @export */\nlabel: {\n" +
+ "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/**\n * @export\n * @type {string} */\nlabel: {\n" +
"get: B.prototype.get__label,\nset: B.prototype.set__label}}\n);";
assertOut(expected);
}
@@ -79,7 +79,7 @@ public class TestFlexJSAccessors extends ASTestBase
String expected = "/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n/**\n * @export\n */\nFalconTest_A.prototype.doStuff = function() {\n this.label = this.label + 'bye';\n var /** @type {string} */ theLabel = this.label;\n};\n\n\n/**\n * @private\n * @type {string}\n */\nFalconTest_A.prototype._label;\n\n\n" +
"FalconTest_A.prototype.get__label = function() {\n return this._label;\n};\n\n\n" +
"FalconTest_A.prototype.set__label = function(value) {\n this._label = value;\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\nlabel: {\n" +
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {string} */\nlabel: {\n" +
"get: FalconTest_A.prototype.get__label,\nset: FalconTest_A.prototype.set__label}}\n);";
assertOut(expected);
}
@@ -94,7 +94,7 @@ public class TestFlexJSAccessors extends ASTestBase
String expected = "/**\n * @constructor\n */\nB = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('B', B);\n\n\n/**\n * @export\n */\nB.prototype.doStuff = function() {\n this.label = this.label;\n var /** @type {string} */ theLabel = this.label;\n};\n\n\n/**\n * @private\n * @type {string}\n */\nB.prototype._label;\n\n\n" +
"B.prototype.get__label = function() {\n return this._label;\n};\n\n\n" +
"B.prototype.set__label = function(value) {\n this._label = value;\n};\n\n\n" +
- "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/** @export */\nlabel: {\n" +
+ "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/**\n * @export\n * @type {string} */\nlabel: {\n" +
"get: B.prototype.get__label,\nset: B.prototype.set__label}}\n);";
assertOut(expected);
}
@@ -109,7 +109,7 @@ public class TestFlexJSAccessors extends ASTestBase
String expected = "/**\n * @constructor\n */\nB = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('B', B);\n\n\n/**\n * @export\n */\nB.prototype.doStuff = function() {\n var /** @type {string} */ theLabel = this[\"http://www.adobe.com/2006/actionscript/flash/proxy::label\"];\n this[\"http://www.adobe.com/2006/actionscript/flash/proxy::label\"] = theLabel;\n};\n\n\n/**\n * @private\n * @type {string}\n */\nB.prototype._label;\n\n\n" +
"B.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::get__label\"] = function() {\n return this._label;\n};\n\n\n" +
"B.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::set__label\"] = function(value) {\n this._label = value;\n};\n\n\n" +
- "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/** @export */\n\"http://www.adobe.com/2006/actionscript/flash/proxy::label\": {\nget: B.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::get__label\"],\nset: B.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::set__label\"]}}\n);";
+ "Object.defineProperties(B.prototype, /** @lends {B.prototype} */ {\n/**\n * @export\n * @type {string} */\n\"http://www.adobe.com/2006/actionscript/flash/proxy::label\": {\nget: B.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::get__label\"],\nset: B.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::set__label\"]}}\n);";
assertOut(expected);
}
@@ -126,7 +126,7 @@ public class TestFlexJSAccessors extends ASTestBase
"FalconTest_A.prototype.set__label = function(value) {\nvar oldValue = this.get__label();\nif (oldValue != value) {\nthis.bindable__set__label(value);\n" +
" this.dispatchEvent(org.apache.flex.events.ValueChangeEvent.createUpdateEvent(\n" +
" this, \"label\", oldValue, value));\n}\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\n" +
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {string} */\n" +
"label: {\nget: FalconTest_A.prototype.get__label,\nset: FalconTest_A.prototype.set__label}}\n);";
assertOut(expected);
}
@@ -141,7 +141,7 @@ public class TestFlexJSAccessors extends ASTestBase
String expected = "/**\n * @constructor\n */\nFalconTest_A = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('FalconTest_A', FalconTest_A);\n\n\n/**\n * @export\n */\nFalconTest_A.prototype.doStuff = function() {\n this.label = 'hello, bye';\n var /** @type {string} */ theLabel = this.label;\n};\n\n\n/**\n * @private\n * @type {string}\n */\nFalconTest_A.prototype._label;\n\n\n" +
"FalconTest_A.prototype.get__label = function() {\n return this._label;\n};\n\n\n" +
"FalconTest_A.prototype.set__label = function(value) {\n this._label = value;\n};\n\n\n" +
- "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/** @export */\n" +
+ "Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n/**\n * @export\n * @type {string} */\n" +
"label: {\nget: FalconTest_A.prototype.get__label,\nset: FalconTest_A.prototype.set__label}}\n);";
assertOut(expected);
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSClass.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSClass.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSClass.java
index fbb1c41..83d727f 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSClass.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSClass.java
@@ -180,7 +180,7 @@ public class TestFlexJSClass extends TestGoogClass
{
IClassNode node = getClassNode("public class B {public function B() {}; public function set baz(value:Object):void {}; public function set foo(value:Object):void {baz = value;};}");
asBlockWalker.visitClass(node);
- String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('org.apache.flex.B', org.apache.flex.B);\n\n\norg.apache.flex.B.prototype.set__baz = function(value) {\n};\n\n\norg.apache.flex.B.prototype.set__foo = function(value) {\n this.baz = value;\n};\n\n\nObject.defineProperties(org.apache.flex.B.prototype, /** @lends {org.apache.flex.B.prototype} */ {\n/** @export */\nbaz: {\nset: org.apache.flex.B.prototype.set__baz},\n/** @export */\nfoo: {\nset: org.apache.flex.B.prototype.set__foo}}\n);";
+ String expected = "/**\n * @constructor\n */\norg.apache.flex.B = function() {\n};\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('org.apache.flex.B', org.apache.flex.B);\n\n\norg.apache.flex.B.prototype.set__baz = function(value) {\n};\n\n\norg.apache.flex.B.prototype.set__foo = function(value) {\n this.baz = value;\n};\n\n\nObject.defineProperties(org.apache.flex.B.prototype, /** @lends {org.apache.flex.B.prototype} */ {\n/**\n * @export\n * @type {Object} */\nbaz: {\nset: org.apache.flex.B.prototype.set__baz},\n/**\n * @export\n * @type {Object} */\nfoo: {\nset: org.apache.flex.B.prototype.set__foo}}\n);";
assertOut(expected);
}
@@ -189,7 +189,7 @@ public class TestFlexJSClass extends TestGoogClass
{
IClassNode node = getClassNode("public class B extends A {public function B() {}; override public function set foo(value:Object):void {super.foo = value;};} class A {public function set foo(value:Object):void {}}");
asBlockWalker.visitClass(node);
- String expected = "/**\n * @constructor\n * @extends {org.apache.flex.A}\n */\norg.apache.flex.B = function() {\n org.apache.flex.B.base(this, 'constructor');\n};\ngoog.inherits(org.apache.flex.B, org.apache.flex.A);\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('org.apache.flex.B', org.apache.flex.B);\n\n\norg.apache.flex.B.prototype.set__foo = function(value) {\n org.apache.flex.B.superClass_.set__foo.apply(this, [ value] );\n};\n\n\nObject.defineProperties(org.apache.flex.B.prototype, /** @lends {org.apache.flex.B.prototype} */ {\n/** @export */\nfoo: {\nset: org.apache.flex.B.prototype.set__foo}}\n);";
+ String expected = "/**\n * @constructor\n * @extends {org.apache.flex.A}\n */\norg.apache.flex.B = function() {\n org.apache.flex.B.base(this, 'constructor');\n};\ngoog.inherits(org.apache.flex.B, org.apache.flex.A);\n\n\n/**\n * Prevent renaming of class. Needed for reflection.\n */\ngoog.exportSymbol('org.apache.flex.B', org.apache.flex.B);\n\n\norg.apache.flex.B.prototype.set__foo = function(value) {\n org.apache.flex.B.superClass_.set__foo.apply(this, [ value] );\n};\n\n\nObject.defineProperties(org.apache.flex.B.prototype, /** @lends {org.apache.flex.B.prototype} */ {\n/**\n * @export\n * @type {Object} */\nfoo: {\nset: org.apache.flex.B.prototype.set__foo}}\n);";
assertOut(expected);
}
@@ -511,11 +511,11 @@ public class TestFlexJSClass extends TestGoogClass
"org.apache.flex.A.prototype.set__foo5 = function(value) {\n};\n\n\n" +
"org.apache.flex.A.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::get__foo6\"] = function() {\n return null;\n};\n\n\n" +
"org.apache.flex.A.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::set__foo6\"] = function(value) {\n};\n\n\n" +
- "Object.defineProperties(org.apache.flex.A.prototype, /** @lends {org.apache.flex.A.prototype} */ {\n/** @export */\n" +
- "foo1: {\nget: org.apache.flex.A.prototype.get__foo1,\nset: org.apache.flex.A.prototype.set__foo1},\n/** @export */\n" +
- "foo2: {\nget: org.apache.flex.A.prototype.get__foo2,\nset: org.apache.flex.A.prototype.set__foo2},\n/** @export */\n" +
- "foo3: {\nget: org.apache.flex.A.prototype.get__foo3,\nset: org.apache.flex.A.prototype.set__foo3},\n/** @export */\n" +
- "foo5: {\nget: org.apache.flex.A.prototype.get__foo5,\nset: org.apache.flex.A.prototype.set__foo5},\n/** @export */\n" +
+ "Object.defineProperties(org.apache.flex.A.prototype, /** @lends {org.apache.flex.A.prototype} */ {\n/**\n * @export\n * @type {Object} */\n" +
+ "foo1: {\nget: org.apache.flex.A.prototype.get__foo1,\nset: org.apache.flex.A.prototype.set__foo1},\n/**\n * @export\n * @type {Object} */\n" +
+ "foo2: {\nget: org.apache.flex.A.prototype.get__foo2,\nset: org.apache.flex.A.prototype.set__foo2},\n/**\n * @export\n * @type {Object} */\n" +
+ "foo3: {\nget: org.apache.flex.A.prototype.get__foo3,\nset: org.apache.flex.A.prototype.set__foo3},\n/**\n * @export\n * @type {Object} */\n" +
+ "foo5: {\nget: org.apache.flex.A.prototype.get__foo5,\nset: org.apache.flex.A.prototype.set__foo5},\n/**\n * @export\n * @type {Object} */\n" +
"\"http://www.adobe.com/2006/actionscript/flash/proxy::foo6\": {\nget: org.apache.flex.A.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::get__foo6\"],\n" +
"set: org.apache.flex.A.prototype[\"http://www.adobe.com/2006/actionscript/flash/proxy::set__foo6\"]}}\n);");
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
index dc28b6b..8b93413 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSExpressions.java
@@ -102,7 +102,7 @@ public class TestFlexJSExpressions extends TestGoogExpressions
" return FalconTest_A.superClass_.isDefaultPrevented.apply(this);\n" +
"};\n\n\n" +
"Object.defineProperties(FalconTest_A.prototype, /** @lends {FalconTest_A.prototype} */ {\n" +
- "/** @export */\n" +
+ "/**\n * @export\n * @type {boolean} */\n" +
"defaultPrevented: {\nget: FalconTest_A.prototype.get__defaultPrevented}}\n);");
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
index 360b875..86022ff 100644
--- a/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
+++ b/compiler-jx/src/test/java/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSPackage.java
@@ -794,7 +794,7 @@ public class TestFlexJSPackage extends TestGoogPackage
"\n" +
"\n" +
"Object.defineProperties(foo.bar.baz.A.prototype, /** @lends {foo.bar.baz.A.prototype} */ {\n" +
- "/** @export */\n" +
+ "/**\n * @export\n * @type {string} */\n" +
"myString: {\n" +
"get: foo.bar.baz.A.prototype.get__myString,\n" +
"set: foo.bar.baz.A.prototype.set__myString}}\n" +
@@ -850,7 +850,7 @@ public class TestFlexJSPackage extends TestGoogPackage
"\n" +
"\n" +
"Object.defineProperties(foo.bar.baz.A.InternalClass.prototype, /** @lends {foo.bar.baz.A.InternalClass.prototype} */ {\n" +
- "/** @export */\n" +
+ "/**\n * @export\n * @type {string} */\n" +
"someString: {\n" +
"get: foo.bar.baz.A.InternalClass.prototype.get__someString,\n" +
"set: foo.bar.baz.A.InternalClass.prototype.set__someString}}\n" +
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js b/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
index 7fe3836..ae55d78 100644
--- a/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
+++ b/compiler-jx/src/test/resources/flexjs/files/MyInitialView_result.js
@@ -269,16 +269,24 @@ MyInitialView.prototype.get__comboBoxValue = function() {
Object.defineProperties(MyInitialView.prototype, /** @lends {MyInitialView.prototype} */ {
-/** @export */
+/**
+ * @export
+ * @type {string} */
symbol: {
get: MyInitialView.prototype.get__symbol},
-/** @export */
+/**
+ * @export
+ * @type {string} */
city: {
get: MyInitialView.prototype.get__city},
-/** @export */
+/**
+ * @export
+ * @type {string} */
inputText: {
get: MyInitialView.prototype.get__inputText},
-/** @export */
+/**
+ * @export
+ * @type {string} */
comboBoxValue: {
get: MyInitialView.prototype.get__comboBoxValue}}
);/**
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/resources/flexjs/files/models/MyModel_result.js
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/flexjs/files/models/MyModel_result.js b/compiler-jx/src/test/resources/flexjs/files/models/MyModel_result.js
index ab547d7..041d254 100644
--- a/compiler-jx/src/test/resources/flexjs/files/models/MyModel_result.js
+++ b/compiler-jx/src/test/resources/flexjs/files/models/MyModel_result.js
@@ -90,14 +90,20 @@ models.MyModel.prototype.get__cities = function() {
Object.defineProperties(models.MyModel.prototype, /** @lends {models.MyModel.prototype} */ {
-/** @export */
+/**
+ * @export
+ * @type {string} */
labelText: {
get: models.MyModel.prototype.get__labelText,
set: models.MyModel.prototype.set__labelText},
-/** @export */
+/**
+ * @export
+ * @type {Array} */
strings: {
get: models.MyModel.prototype.get__strings},
-/** @export */
+/**
+ * @export
+ * @type {Array} */
cities: {
get: models.MyModel.prototype.get__cities}}
);
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/resources/flexjs/projects/super/Base_result.js
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/flexjs/projects/super/Base_result.js b/compiler-jx/src/test/resources/flexjs/projects/super/Base_result.js
index 720e39c..3c712ac 100644
--- a/compiler-jx/src/test/resources/flexjs/projects/super/Base_result.js
+++ b/compiler-jx/src/test/resources/flexjs/projects/super/Base_result.js
@@ -54,7 +54,9 @@ Base.prototype.set__text = function(value) {
Object.defineProperties(Base.prototype, /** @lends {Base.prototype} */ {
-/** @export */
+/**
+ * @export
+ * @type {string} */
text: {
get: Base.prototype.get__text,
set: Base.prototype.set__text}}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/6331b80d/compiler-jx/src/test/resources/flexjs/projects/super/Super_result.js
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/resources/flexjs/projects/super/Super_result.js b/compiler-jx/src/test/resources/flexjs/projects/super/Super_result.js
index d77b6b2..53d1d2d 100644
--- a/compiler-jx/src/test/resources/flexjs/projects/super/Super_result.js
+++ b/compiler-jx/src/test/resources/flexjs/projects/super/Super_result.js
@@ -56,7 +56,9 @@ Super.prototype.set__text = function(value) {
Object.defineProperties(Super.prototype, /** @lends {Super.prototype} */ {
-/** @export */
+/**
+ * @export
+ * @type {string} */
text: {
get: Super.prototype.get__text,
set: Super.prototype.set__text}}