You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2013/04/18 21:29:11 UTC
git commit: [flex-falcon] - Prevent 'self' on global functions in a
method
Updated Branches:
refs/heads/develop 51165d8a7 -> d013e6a85
Prevent 'self' on global functions in a method
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/d013e6a8
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/d013e6a8
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/d013e6a8
Branch: refs/heads/develop
Commit: d013e6a85800f51dd2e92f8851a8310b0072f282
Parents: 51165d8
Author: Alex Harui <ah...@apache.org>
Authored: Thu Apr 18 12:28:41 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Apr 18 12:28:41 2013 -0700
----------------------------------------------------------------------
.../js/flexjs/TestFlexJSGlobalFunctions.java | 11 +++++++++++
.../codegen/js/flexjs/JSFlexJSEmitter.java | 2 +-
2 files changed, 12 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d013e6a8/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalFunctions.java
----------------------------------------------------------------------
diff --git a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalFunctions.java b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalFunctions.java
index 9a4210d..8d8bce5 100644
--- a/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalFunctions.java
+++ b/compiler.jx.tests/src/org/apache/flex/compiler/internal/codegen/js/flexjs/TestFlexJSGlobalFunctions.java
@@ -22,6 +22,7 @@ package org.apache.flex.compiler.internal.codegen.js.flexjs;
import org.apache.flex.compiler.driver.IBackend;
import org.apache.flex.compiler.internal.codegen.js.goog.TestGoogGlobalFunctions;
import org.apache.flex.compiler.internal.driver.js.flexjs.FlexJSBackend;
+import org.apache.flex.compiler.tree.as.IBinaryOperatorNode;
import org.apache.flex.compiler.tree.as.IVariableNode;
import org.junit.Test;
@@ -49,6 +50,16 @@ public class TestFlexJSGlobalFunctions extends TestGoogGlobalFunctions
assertOut("var /** @type {Vector.<string>} */ a = Array(['Hello', 'World'])");
}
+ @Test
+ public void testGlobalFunctionInClass()
+ {
+ IBinaryOperatorNode node = (IBinaryOperatorNode) getNode(
+ "public class B {public function b():String { var s:String; s = encodeURIComponent('foo'); return s;}",
+ IBinaryOperatorNode.class, WRAP_LEVEL_PACKAGE);
+ asBlockWalker.visitBinaryOperator(node);
+ assertOut("s = encodeURIComponent('foo')");
+ }
+
@Override
protected IBackend createBackend()
{
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d013e6a8/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
index ff9e307..c39d8e4 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter.java
@@ -278,7 +278,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter implements IJSFlexJSEmitter
if (def instanceof FunctionDefinition)
{
if (((FunctionDefinition) def)
- .getFunctionClassification() != IFunctionDefinition.FunctionClassification.LOCAL)
+ .getFunctionClassification() == IFunctionDefinition.FunctionClassification.CLASS_MEMBER)
writeSelf = true;
}
else