Hi Alex, I'm wondering why you have switched to version "v20170626" instead of newest "v20170806" ?
Thanks, Piotr 2017-08-12 5:55 GMT+02:00 <aha...@apache.org>: > Repository: flex-falcon > Updated Branches: > refs/heads/develop 8d7e14740 -> 207a95872 > > > 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/develop > Commit: 6331b80de71706429d3a73d3d103537efdd0943e > Parents: 8d7e147 > Author: Alex Harui <aha...@apache.org> > Authored: Thu Aug 10 22:48:16 2017 -0700 > Committer: Alex Harui <aha...@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="bcd640e9c9f756df4117af2066621f > 89"/> > + <param name="src.checksum" value="c565b5a1e12aefa5968b42ea83ea6c > 28"/> > </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}} > >