You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jo...@apache.org on 2016/04/20 20:14:47 UTC
[1/6] git commit: [flex-falcon] [refs/heads/develop] - compiler.jx:
externc can now handle typedefs inside packages
Repository: flex-falcon
Updated Branches:
refs/heads/develop 15e753a7c -> fb2dc7a94
compiler.jx: externc can now handle typedefs inside packages
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/0c731405
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/0c731405
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/0c731405
Branch: refs/heads/develop
Commit: 0c731405da7569ab7b745c0cedb706afd033da5d
Parents: 15e753a
Author: Josh Tynjala <jo...@apache.org>
Authored: Wed Apr 20 09:35:14 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Wed Apr 20 09:35:14 2016 -0700
----------------------------------------------------------------------
.../internal/codegen/externals/pass/CollectTypesPass.java | 10 ++++++++++
1 file changed, 10 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/0c731405/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
index 8ddde76..44a9cc4 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/pass/CollectTypesPass.java
@@ -92,6 +92,16 @@ public class CollectTypesPass extends AbstractCompilerPass
}
}
}
+ else
+ {
+ comment = container.getJSDocInfo();
+ boolean isConstructor = comment != null
+ && (comment.getTypedefType() != null);
+ if (isConstructor)
+ {
+ model.addTypeDef(container, container.getQualifiedName());
+ }
+ }
}
private void visitFunction(Node child)
[4/6] git commit: [flex-falcon] [refs/heads/develop] - compiler.jx:
externc can now handle templates on fields
Posted by jo...@apache.org.
compiler.jx: externc can now handle templates on fields
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/b1bfa692
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/b1bfa692
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/b1bfa692
Branch: refs/heads/develop
Commit: b1bfa692007d10de4ee3f3b9a8434e36aaae462d
Parents: a6887f8
Author: Josh Tynjala <jo...@apache.org>
Authored: Wed Apr 20 10:31:23 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Wed Apr 20 10:31:23 2016 -0700
----------------------------------------------------------------------
.../codegen/externals/reference/FieldReference.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b1bfa692/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java
index d99a66d..e01a72a 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/reference/FieldReference.java
@@ -20,6 +20,7 @@
package org.apache.flex.compiler.internal.codegen.externals.reference;
import org.apache.flex.compiler.clients.ExternCConfiguration.ExcludedMember;
+import org.apache.flex.compiler.internal.codegen.externals.utils.FunctionUtils;
import org.apache.flex.compiler.internal.codegen.externals.utils.JSTypeUtils;
import com.google.javascript.rhino.JSDocInfo;
@@ -220,7 +221,13 @@ public class FieldReference extends MemberReference
{
if (overrideStringType != null)
return overrideStringType;
- return JSTypeUtils.toFieldTypeString(this);
+ String typeString = JSTypeUtils.toFieldTypeString(this);
+ if (FunctionUtils.hasTemplate(this)
+ && FunctionUtils.containsTemplate(this, typeString))
+ {
+ return "Object";
+ }
+ return typeString;
}
@Override
[5/6] git commit: [flex-falcon] [refs/heads/develop] - compiler:
allow default as a variable name
Posted by jo...@apache.org.
compiler: allow default as a variable name
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/5a6e32e0
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/5a6e32e0
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/5a6e32e0
Branch: refs/heads/develop
Commit: 5a6e32e095dbdb5ceb82bf74d2086ba61fd923db
Parents: b1bfa69
Author: Josh Tynjala <jo...@apache.org>
Authored: Wed Apr 20 11:11:43 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Wed Apr 20 11:11:43 2016 -0700
----------------------------------------------------------------------
.../feature-tests/as/ASKeywordTests.java | 21 ++++++++++++++++++++
.../parsing/as/StreamingASTokenizer.java | 13 ++++++++++++
2 files changed, 34 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5a6e32e0/compiler.tests/feature-tests/as/ASKeywordTests.java
----------------------------------------------------------------------
diff --git a/compiler.tests/feature-tests/as/ASKeywordTests.java b/compiler.tests/feature-tests/as/ASKeywordTests.java
index 1602b3c..8223620 100644
--- a/compiler.tests/feature-tests/as/ASKeywordTests.java
+++ b/compiler.tests/feature-tests/as/ASKeywordTests.java
@@ -292,6 +292,27 @@ public class ASKeywordTests extends ASFeatureTestsBase
}
@Test
+ public void ASKeyword_default_as_variable_name()
+ {
+ // all tests can assume that flash.display.Sprite
+ // flash.system.System and flash.events.Event have been imported
+ String[] imports = new String[]
+ {
+ };
+ String[] declarations = new String[]
+ {
+ "public var default:String;",
+ };
+ String[] testCode = new String[]
+ {
+ "default = 'bar';",
+ "assertEqual('variable named default', default, 'bar');",
+ };
+ String source = getAS(imports, declarations, testCode, new String[0]);
+ compileAndRun(source);
+ }
+
+ @Test
public void ASKeyword_as_member_expression()
{
// all tests can assume that flash.display.Sprite
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5a6e32e0/compiler/src/org/apache/flex/compiler/internal/parsing/as/StreamingASTokenizer.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/parsing/as/StreamingASTokenizer.java b/compiler/src/org/apache/flex/compiler/internal/parsing/as/StreamingASTokenizer.java
index 61b6e26..1c90e94 100644
--- a/compiler/src/org/apache/flex/compiler/internal/parsing/as/StreamingASTokenizer.java
+++ b/compiler/src/org/apache/flex/compiler/internal/parsing/as/StreamingASTokenizer.java
@@ -1025,6 +1025,19 @@ public class StreamingASTokenizer implements ASTokenTypes, IASTokenizer, Closeab
else if (maybeXML != null &&
maybeXML.getType() != TOKEN_COLON)
retVal.setType(TOKEN_IDENTIFIER);
+ else if (lastToken != null)
+ {
+ int lastTokenType = lastToken.getType();
+ switch (lastTokenType)
+ {
+ case TOKEN_KEYWORD_VAR:
+ case TOKEN_KEYWORD_FUNCTION:
+ case TOKEN_RESERVED_WORD_GET:
+ case TOKEN_RESERVED_WORD_SET:
+ case TOKEN_OPERATOR_MEMBER_ACCESS:
+ retVal.setType(TOKEN_IDENTIFIER);
+ }
+ }
return retVal;
}
case TOKEN_KEYWORD_VOID:
[3/6] git commit: [flex-falcon] [refs/heads/develop] - externs/node:
can now build all JS externs without error
Posted by jo...@apache.org.
externs/node: can now build all JS externs without error
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/a6887f8f
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/a6887f8f
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/a6887f8f
Branch: refs/heads/develop
Commit: a6887f8f6d7d1fb200761c3d4ef0fd5a11286573
Parents: 2a00175
Author: Josh Tynjala <jo...@apache.org>
Authored: Wed Apr 20 10:20:13 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Wed Apr 20 10:20:13 2016 -0700
----------------------------------------------------------------------
externs/node/compile-config.xml | 7 ++++++-
externs/node/missing.js | 5 -----
externs/node/node-compile-config.xml | 26 +++++++++++++++-----------
3 files changed, 21 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/a6887f8f/externs/node/compile-config.xml
----------------------------------------------------------------------
diff --git a/externs/node/compile-config.xml b/externs/node/compile-config.xml
index 91df9e3..5b072dd 100644
--- a/externs/node/compile-config.xml
+++ b/externs/node/compile-config.xml
@@ -26,17 +26,22 @@
</external-library-path>
<source-path>
+ <path-element>out/as/constants</path-element>
+ <path-element>out/as/classes</path-element>
<path-element>out/as/functions</path-element>
+ <path-element>out/as/typedefs</path-element>
+ <path-element>out/as/duplicates</path-element>
</source-path>
<warn-no-constructor>false</warn-no-constructor>
</compiler>
<include-sources>
- <!--<path-element>out/as/constants</path-element>-->
+ <path-element>out/as/constants</path-element>
<path-element>out/as/classes</path-element>
<path-element>out/as/functions</path-element>
<path-element>out/as/typedefs</path-element>
+ <path-element>out/as/duplicates</path-element>
</include-sources>
<include-file>
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/a6887f8f/externs/node/missing.js
----------------------------------------------------------------------
diff --git a/externs/node/missing.js b/externs/node/missing.js
index ebacb75..d6c73f3 100644
--- a/externs/node/missing.js
+++ b/externs/node/missing.js
@@ -23,8 +23,3 @@
* @externs
*/
-/**
- * @param {string} id
- * @return {*}
- */
-function require(id) {};
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/a6887f8f/externs/node/node-compile-config.xml
----------------------------------------------------------------------
diff --git a/externs/node/node-compile-config.xml b/externs/node/node-compile-config.xml
index aa97477..d836f6d 100644
--- a/externs/node/node-compile-config.xml
+++ b/externs/node/node-compile-config.xml
@@ -33,34 +33,38 @@
<external>
<path-element>missing.js</path-element>
<path-element>externs/assert.js</path-element>
- <!--<path-element>externs/buffer.js</path-element>-->
- <!--<path-element>externs/child_process.js</path-element>-->
- <!--<path-element>externs/cluster.js</path-element>-->
+ <path-element>externs/buffer.js</path-element>
+ <path-element>externs/child_process.js</path-element>
+ <path-element>externs/cluster.js</path-element>
<path-element>externs/crypto.js</path-element>
- <!--<path-element>externs/dgram.js</path-element>-->
+ <path-element>externs/dgram.js</path-element>
<path-element>externs/dns.js</path-element>
<path-element>externs/domain.js</path-element>
<path-element>externs/events.js</path-element>
<path-element>externs/fs.js</path-element>
- <!--<path-element>externs/globals.js</path-element>-->
- <!--<path-element>externs/http.js</path-element>-->
- <!--<path-element>externs/https.js</path-element>-->
+ <path-element>externs/globals.js</path-element>
+ <path-element>externs/http.js</path-element>
+ <path-element>externs/https.js</path-element>
<path-element>externs/net.js</path-element>
<path-element>externs/os.js</path-element>
<path-element>externs/path.js</path-element>
- <!--<path-element>externs/punycode.js</path-element>-->
- <!--<path-element>externs/querystring.js</path-element>-->
+ <path-element>externs/punycode.js</path-element>
+ <path-element>externs/querystring.js</path-element>
<path-element>externs/readline.js</path-element>
<path-element>externs/repl.js</path-element>
<path-element>externs/stream.js</path-element>
- <!--<path-element>externs/string_decoder.js</path-element>-->
+ <path-element>externs/string_decoder.js</path-element>
<path-element>externs/tls.js</path-element>
<path-element>externs/tty.js</path-element>
<path-element>externs/url.js</path-element>
<path-element>externs/util.js</path-element>
<path-element>externs/vm.js</path-element>
- <!--<path-element>externs/zlib.js</path-element>-->
+ <path-element>externs/zlib.js</path-element>
</external>
+ <exclude>
+ <class>Buffer</class>
+ <name>toJSON</name>
+ </exclude>
<as-root>out/as</as-root>
[6/6] git commit: [flex-falcon] [refs/heads/develop] - externs/js:
more things that don't need to be excluded anymore
Posted by jo...@apache.org.
externs/js: more things that don't need to be excluded anymore
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/fb2dc7a9
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/fb2dc7a9
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/fb2dc7a9
Branch: refs/heads/develop
Commit: fb2dc7a94b19f2c5a25a525880c3c6d69e96f37a
Parents: 5a6e32e
Author: Josh Tynjala <jo...@apache.org>
Authored: Wed Apr 20 11:14:33 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Wed Apr 20 11:14:33 2016 -0700
----------------------------------------------------------------------
.../compiler/internal/codegen/externals/ExternalsTestUtils.java | 5 -----
externs/js/js-compile-config.xml | 5 -----
2 files changed, 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fb2dc7a9/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/externals/ExternalsTestUtils.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/externals/ExternalsTestUtils.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/externals/ExternalsTestUtils.java
index da0571a..6eacbde 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/externals/ExternalsTestUtils.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/externals/ExternalsTestUtils.java
@@ -58,11 +58,6 @@ public class ExternalsTestUtils
config.addExclude("Date", "valueOf");
config.addExclude("String", "valueOf");
- config.addExclude("HTMLMenuItemElement", "default");
- config.addExclude("MessageEvent", "data"); // TODO returns T
- config.addExclude("MessageEvent", "initMessageEventNS"); // TODO param T
- config.addExclude("MessageEvent", "initMessageEvent"); // TODO param T
-
// SVG
config.addExclude("SVGStylable", "className");
config.addExclude("SVGStylable", "style");
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/fb2dc7a9/externs/js/js-compile-config.xml
----------------------------------------------------------------------
diff --git a/externs/js/js-compile-config.xml b/externs/js/js-compile-config.xml
index 7edd1d6..4597706 100644
--- a/externs/js/js-compile-config.xml
+++ b/externs/js/js-compile-config.xml
@@ -139,11 +139,6 @@
<name>valueOf</name>
</exclude>
- <exclude><class>HTMLMenuItemElement</class><name>default</name></exclude>
- <exclude><class>MessageEvent</class><name>data</name></exclude><!-- TODO returns T -->
- <exclude><class>MessageEvent</class><name>initMessageEventNS</name></exclude> <!-- TODO param T -->
- <exclude><class>MessageEvent</class><name>initMessageEvent</name></exclude> <!-- TODO param T -->
-
<!-- SVG -->
<exclude><class>SVGStylable</class><name>className</name></exclude>
<exclude><class>SVGStylable</class><name>style</name></exclude>
[2/6] git commit: [flex-falcon] [refs/heads/develop] - compiler.jx:
when externc encounters a file with a duplicate name (such as buffer and
Buffer, with different cases), puts the duplicate into a different directory
Posted by jo...@apache.org.
compiler.jx: when externc encounters a file with a duplicate name (such as buffer and Buffer, with different cases), puts the duplicate into a different directory
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/2a001751
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/2a001751
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/2a001751
Branch: refs/heads/develop
Commit: 2a00175191bffa10f5e9a1b783585e4e57851213
Parents: 0c73140
Author: Josh Tynjala <jo...@apache.org>
Authored: Wed Apr 20 10:19:26 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Wed Apr 20 10:19:26 2016 -0700
----------------------------------------------------------------------
.../compiler/clients/ExternCConfiguration.java | 7 +++++++
.../externals/emit/ReferenceEmitter.java | 20 ++++++++++++++++++++
2 files changed, 27 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2a001751/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java b/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
index 7eea457..c15786a 100644
--- a/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
+++ b/compiler.jx/src/org/apache/flex/compiler/clients/ExternCConfiguration.java
@@ -51,6 +51,7 @@ public class ExternCConfiguration extends Configuration
private File asFunctionRoot;
private File asConstantRoot;
private File asTypeDefRoot;
+ private File asDuplicatesRoot;
private List<ExternalFile> externals = new ArrayList<ExternalFile>();
private List<ExternalFile> externalExterns = new ArrayList<ExternalFile>();
@@ -85,6 +86,7 @@ public class ExternCConfiguration extends Configuration
asFunctionRoot = new File(asRoot, "functions");
asConstantRoot = new File(asRoot, "constants");
asTypeDefRoot = new File(asRoot, "typedefs");
+ asDuplicatesRoot = new File(asRoot, "duplicates");
}
public File getAsClassRoot()
@@ -112,6 +114,11 @@ public class ExternCConfiguration extends Configuration
return asTypeDefRoot;
}
+ public File getAsDuplicatesRoot()
+ {
+ return asDuplicatesRoot;
+ }
+
public Collection<ExternalFile> getExternals()
{
return externals;
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/2a001751/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
index 957d352..c7d3c45 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/externals/emit/ReferenceEmitter.java
@@ -68,6 +68,10 @@ public class ReferenceEmitter
emit(reference, sb);
File sourceFile = reference.getFile(model.getConfiguration().getAsInterfaceRoot());
+ if(sourceFile.exists())
+ {
+ sourceFile = reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+ }
FileUtils.write(sourceFile, sb.toString());
sb.setLength(0);
@@ -91,6 +95,10 @@ public class ReferenceEmitter
emit(reference, sb);
File sourceFile = reference.getFile(model.getConfiguration().getAsClassRoot());
+ if(sourceFile.exists())
+ {
+ sourceFile = reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+ }
FileUtils.write(sourceFile, sb.toString());
sb.setLength(0);
@@ -112,6 +120,10 @@ public class ReferenceEmitter
emit(reference, sb);
File sourceFile = reference.getFile(model.getConfiguration().getAsTypeDefRoot());
+ if(sourceFile.exists())
+ {
+ sourceFile = reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+ }
FileUtils.write(sourceFile, sb.toString());
sb.setLength(0);
@@ -129,6 +141,10 @@ public class ReferenceEmitter
emit(reference, sb);
File sourceFile = reference.getFile(model.getConfiguration().getAsFunctionRoot());
+ if(sourceFile.exists())
+ {
+ sourceFile = reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+ }
FileUtils.write(sourceFile, sb.toString());
sb.setLength(0);
@@ -146,6 +162,10 @@ public class ReferenceEmitter
emit(reference, sb);
File sourceFile = reference.getFile(model.getConfiguration().getAsConstantRoot());
+ if(sourceFile.exists())
+ {
+ sourceFile = reference.getFile(model.getConfiguration().getAsDuplicatesRoot());
+ }
FileUtils.write(sourceFile, sb.toString());
sb.setLength(0);