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/26 01:09:22 UTC
[1/2] git commit: [flex-falcon] [refs/heads/develop] - source maps
for constants like int.MAX_VALUE
Repository: flex-falcon
Updated Branches:
refs/heads/develop 986e5c191 -> b73e0ce50
source maps for constants like int.MAX_VALUE
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/b8a6a80a
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/b8a6a80a
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/b8a6a80a
Branch: refs/heads/develop
Commit: b8a6a80a79d227522e00a95256cfbcdd58b31059
Parents: 986e5c1
Author: Josh Tynjala <jo...@apache.org>
Authored: Mon Apr 25 15:33:15 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Mon Apr 25 15:33:15 2016 -0700
----------------------------------------------------------------------
.../sourcemaps/TestSourceMapGlobalClasses.java | 89 ++++++++++++++++++++
.../codegen/js/jx/IdentifierEmitter.java | 22 ++++-
2 files changed, 109 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b8a6a80a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapGlobalClasses.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapGlobalClasses.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapGlobalClasses.java
new file mode 100644
index 0000000..32ad8d8
--- /dev/null
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/sourcemaps/TestSourceMapGlobalClasses.java
@@ -0,0 +1,89 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.flex.compiler.internal.codegen.js.sourcemaps;
+
+import org.apache.flex.compiler.driver.IBackend;
+import org.apache.flex.compiler.internal.driver.js.flexjs.FlexJSBackend;
+import org.apache.flex.compiler.internal.test.SourceMapTestBase;
+import org.apache.flex.compiler.tree.as.IVariableNode;
+
+import org.junit.Test;
+
+public class TestSourceMapGlobalClasses extends SourceMapTestBase
+{
+ @Test
+ public void testArrayConstCaseInsensitive()
+ {
+ IVariableNode node = getVariable("var a:Number = Array.CASEINSENSITIVE");
+ asBlockWalker.visitVariable(node);
+ //var /** @type {number} */ a = 1
+ assertMapping(node, 0, 15, 0, 30, 0, 31); // 1
+ }
+
+ @Test
+ public void testArrayConstNumeric()
+ {
+ IVariableNode node = getVariable("var a:Number = Array.NUMERIC");
+ asBlockWalker.visitVariable(node);
+ //var /** @type {number} */ a = 16
+ assertMapping(node, 0, 15, 0, 30, 0, 32); // 16
+ }
+
+ @Test
+ public void testIntConstMaxValue()
+ {
+ IVariableNode node = getVariable("var a:Number = int.MAX_VALUE");
+ asBlockWalker.visitVariable(node);
+ //var /** @type {number} */ a = 2147483648
+ assertMapping(node, 0, 15, 0, 30, 0, 40); // 2147483648
+ }
+
+ @Test
+ public void testIntConstMinValue()
+ {
+ IVariableNode node = getVariable("var a:Number = int.MIN_VALUE");
+ asBlockWalker.visitVariable(node);
+ //var /** @type {number} */ a = -2147483648
+ assertMapping(node, 0, 15, 0, 30, 0, 41); // -2147483648
+ }
+
+ @Test
+ public void testUintConstMaxValue()
+ {
+ IVariableNode node = getVariable("var a:Number = uint.MAX_VALUE");
+ asBlockWalker.visitVariable(node);
+ //var /** @type {number} */ a = 4294967295
+ assertMapping(node, 0, 15, 0, 30, 0, 40); // 4294967295
+ }
+
+ @Test
+ public void testUintConstMinValue()
+ {
+ IVariableNode node = getVariable("var a:Number = uint.MIN_VALUE");
+ asBlockWalker.visitVariable(node);
+ //var /** @type {number} */ a = 0
+ assertMapping(node, 0, 15, 0, 30, 0, 31); // 0
+ }
+
+ protected IBackend createBackend()
+ {
+ return new FlexJSBackend();
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b8a6a80a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
index 24df201..e5f10a1 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
@@ -81,27 +81,37 @@ public class IdentifierEmitter extends JSSubEmitter implements
String baseName = nodeDef.getBaseName();
if (baseName.equals("CASEINSENSITIVE"))
{
+ startMapping(parentNode);
write("1");
+ endMapping(parentNode);
return;
}
else if (baseName.equals("DESCENDING"))
{
+ startMapping(parentNode);
write("2");
+ endMapping(parentNode);
return;
}
else if (baseName.equals("UNIQUESORT"))
{
+ startMapping(parentNode);
write("4");
+ endMapping(parentNode);
return;
}
else if (baseName.equals("RETURNINDEXEDARRAY"))
{
+ startMapping(parentNode);
write("8");
+ endMapping(parentNode);
return;
}
else if (baseName.equals("NUMERIC"))
{
+ startMapping(parentNode);
write("16");
+ endMapping(parentNode);
return;
}
}
@@ -110,28 +120,36 @@ public class IdentifierEmitter extends JSSubEmitter implements
String baseName = nodeDef.getBaseName();
if (baseName.equals("MAX_VALUE"))
{
+ startMapping(parentNode);
write("2147483648");
+ endMapping(parentNode);
return;
}
else if (baseName.equals("MIN_VALUE"))
{
+ startMapping(parentNode);
write("-2147483648");
+ endMapping(parentNode);
return;
- }
+ }
}
else if (sname.equals("uint"))
{
String baseName = nodeDef.getBaseName();
if (baseName.equals("MAX_VALUE"))
{
+ startMapping(parentNode);
write("4294967295");
+ endMapping(parentNode);
return;
}
else if (baseName.equals("MIN_VALUE"))
{
+ startMapping(parentNode);
write("0");
+ endMapping(parentNode);
return;
- }
+ }
}
if (sname.length() > 0)
{
[2/2] git commit: [flex-falcon] [refs/heads/develop] - source maps
for the class and member access operator for static members
Posted by jo...@apache.org.
source maps for the class and member access operator for static members
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/b73e0ce5
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/b73e0ce5
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/b73e0ce5
Branch: refs/heads/develop
Commit: b73e0ce5009104144e94c8e22e0ff393a596a428
Parents: b8a6a80
Author: Josh Tynjala <jo...@apache.org>
Authored: Mon Apr 25 15:50:34 2016 -0700
Committer: Josh Tynjala <jo...@apache.org>
Committed: Mon Apr 25 15:50:34 2016 -0700
----------------------------------------------------------------------
.../internal/codegen/js/jx/IdentifierEmitter.java | 15 +++++++++++++++
1 file changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b73e0ce5/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
index e5f10a1..4d14bad 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/jx/IdentifierEmitter.java
@@ -153,8 +153,23 @@ public class IdentifierEmitter extends JSSubEmitter implements
}
if (sname.length() > 0)
{
+ IASNode prevSibling = parentNode.getChild(0);
+ if(prevSibling == node)
+ {
+ startMapping(parentNode);
+ }
+ else
+ {
+ startMapping(prevSibling);
+ }
write(getEmitter().formatQualifiedName(sname));
+ if(prevSibling != node)
+ {
+ endMapping(prevSibling);
+ startMapping(parentNode, prevSibling);
+ }
write(ASEmitterTokens.MEMBER_ACCESS);
+ endMapping(parentNode);
}
}
else if (!NativeUtils.isNative(node.getName()))