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/10/25 00:51:01 UTC

[1/5] git commit: [flex-falcon] [refs/heads/develop] - don't make compilation units for manifest entries that are lookup only

Updated Branches:
  refs/heads/develop ee9a0d0bd -> b08d11d2f


don't make compilation units for manifest entries that are lookup only


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/3905a777
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/3905a777
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/3905a777

Branch: refs/heads/develop
Commit: 3905a777873569cde856209493e76c2751d5bbd3
Parents: ee9a0d0
Author: Alex Harui <ah...@apache.org>
Authored: Wed Oct 23 15:50:25 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Oct 23 15:50:25 2013 -0700

----------------------------------------------------------------------
 .../flex/compiler/internal/targets/SWCTarget.java   | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/3905a777/compiler/src/org/apache/flex/compiler/internal/targets/SWCTarget.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/targets/SWCTarget.java b/compiler/src/org/apache/flex/compiler/internal/targets/SWCTarget.java
index 74b2108..17cf971 100644
--- a/compiler/src/org/apache/flex/compiler/internal/targets/SWCTarget.java
+++ b/compiler/src/org/apache/flex/compiler/internal/targets/SWCTarget.java
@@ -768,9 +768,23 @@ public class SWCTarget extends Target implements ISWCTarget
             Collection<String> classNames,
             final Collection<ICompilerProblem> problems)
     {
+        Collection<String> compilableClassNames = new ArrayList<String>();
+        for (String className : classNames)
+        {
+            Collection<XMLName> tagNames = flexProject.getTagNamesForClass(className);
+            boolean okToAdd = false;
+            for (XMLName tagName : tagNames)
+            {
+                if (!flexProject.isManifestComponentLookupOnly(tagName))
+                    okToAdd = true;
+            }
+            if (okToAdd)
+                compilableClassNames.add(className);
+        }
+        
         // Class names are turned into references and then info compilation units.
         final Iterable<IResolvedQualifiersReference> references = 
-            Iterables.transform(classNames, new Function<String, IResolvedQualifiersReference>()
+            Iterables.transform(compilableClassNames, new Function<String, IResolvedQualifiersReference>()
                 {
                     @Override
                     public IResolvedQualifiersReference apply(String qualifiedName)


[2/5] git commit: [flex-falcon] [refs/heads/develop] - clean up warnings

Posted by ah...@apache.org.
clean up warnings


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/69ce2cef
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/69ce2cef
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/69ce2cef

Branch: refs/heads/develop
Commit: 69ce2cef8f4f22898576bfb37e9616e55a1e3a5b
Parents: 3905a77
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 24 15:31:56 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 24 15:31:56 2013 -0700

----------------------------------------------------------------------
 .../internal/driver/js/flexjs/JSCSSCompilationSession.java       | 4 ----
 1 file changed, 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/69ce2cef/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java b/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
index 6e1e4ec..c285aac 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/driver/js/flexjs/JSCSSCompilationSession.java
@@ -11,14 +11,11 @@ import org.apache.flex.compiler.css.ICSSPropertyValue;
 import org.apache.flex.compiler.css.ICSSRule;
 import org.apache.flex.compiler.css.ICSSSelector;
 import org.apache.flex.compiler.css.ICSSSelectorCondition;
-import org.apache.flex.compiler.definitions.references.IResolvedQualifiersReference;
-import org.apache.flex.compiler.definitions.references.ReferenceFactory;
 import org.apache.flex.compiler.internal.css.CSSArrayPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSColorPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSFunctionCallPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSKeywordPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSNumberPropertyValue;
-import org.apache.flex.compiler.internal.css.CSSPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSRgbColorPropertyValue;
 import org.apache.flex.compiler.internal.css.CSSStringPropertyValue;
 import org.apache.flex.compiler.internal.css.codegen.CSSCompilationSession;
@@ -223,7 +220,6 @@ public class JSCSSCompilationSession extends CSSCompilationSession
                     }
                     else
                     {
-                        final IResolvedQualifiersReference reference = ReferenceFactory.packageQualifiedReference(project.getWorkspace(), className);
                         result.append(className);
                         requires.add(className);
                     }


[3/5] git commit: [flex-falcon] [refs/heads/develop] - fix test params

Posted by ah...@apache.org.
fix test params


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/90e86c2e
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/90e86c2e
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/90e86c2e

Branch: refs/heads/develop
Commit: 90e86c2e72839e2499ce86731454c3fd795ae221
Parents: 69ce2ce
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 24 15:32:25 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 24 15:32:25 2013 -0700

----------------------------------------------------------------------
 compiler.tests/functional-tests/f/SDKSWCTests.java | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/90e86c2e/compiler.tests/functional-tests/f/SDKSWCTests.java
----------------------------------------------------------------------
diff --git a/compiler.tests/functional-tests/f/SDKSWCTests.java b/compiler.tests/functional-tests/f/SDKSWCTests.java
index 66c91ea..7cd2a8d 100644
--- a/compiler.tests/functional-tests/f/SDKSWCTests.java
+++ b/compiler.tests/functional-tests/f/SDKSWCTests.java
@@ -31,7 +31,6 @@ import java.util.List;
 import org.apache.flex.compiler.clients.COMPC;
 import org.apache.flex.compiler.problems.ICompilerProblem;
 import org.apache.flex.utils.EnvProperties;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.google.common.collect.ObjectArrays;
@@ -332,14 +331,12 @@ public class SDKSWCTests
 		compileSWC("sparkskins");
 	}
 	
-    @Ignore
 	@Test
     public void sparkSWC() // FAILS -> FLEX-33307
     {
         extraArgs = new String[]
         {
-            "-ignore-problems=org.apache.flex.compiler.problems.DuplicateSkinStateProblem",
-            "-load-config+=" + env.SDK + "/frameworks/air-config.xml"
+            "-ignore-problems=org.apache.flex.compiler.problems.DuplicateSkinStateProblem"
         };
 
         compileSWC("spark");


[5/5] git commit: [flex-falcon] [refs/heads/develop] - Fixes to binding code generation for [Bindable] getters that override getters with [Bindable]

Posted by ah...@apache.org.
Fixes to binding code generation for [Bindable] getters that override getters with [Bindable]


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/b08d11d2
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/b08d11d2
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/b08d11d2

Branch: refs/heads/develop
Commit: b08d11d2faf03bf72da414d34781e9751837eda2
Parents: ba7fef9
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 24 15:50:46 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 24 15:50:46 2013 -0700

----------------------------------------------------------------------
 .../internal/as/codegen/ABCGenerator.java       | 17 +++++++------
 .../internal/as/codegen/BindableHelper.java     | 12 +++++++++
 .../as/codegen/ClassDirectiveProcessor.java     | 26 +++++++++-----------
 .../as/codegen/GlobalDirectiveProcessor.java    |  2 +-
 .../internal/as/codegen/ICodeGenerator.java     |  5 ++--
 5 files changed, 37 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b08d11d2/compiler/src/org/apache/flex/compiler/internal/as/codegen/ABCGenerator.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ABCGenerator.java b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ABCGenerator.java
index a321dae..2b2db36 100644
--- a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ABCGenerator.java
+++ b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ABCGenerator.java
@@ -250,9 +250,9 @@ public class ABCGenerator implements ICodeGenerator
      * constructor.
      * @return {@link MethodInfo} created for the function.
      */
-    public MethodInfo generateFunction (FunctionNode func, LexicalScope enclosing_scope, InstructionList instance_init_insns)
+    public MethodInfo generateFunction (FunctionNode func, LexicalScope enclosing_scope, InstructionList instance_init_insns, Name alternate_name)
     {
-        MethodInfo mi = createMethodInfo(enclosing_scope, func);
+        MethodInfo mi = createMethodInfo(enclosing_scope, func, alternate_name);
         if (mi.isNative())
         {
             generateNativeMethod(func, mi, enclosing_scope);
@@ -284,7 +284,7 @@ public class ABCGenerator implements ICodeGenerator
      */
     public GenerateFunctionInParallelResult generateFunctionInParallel (ExecutorService executorService, FunctionNode func, LexicalScope enclosing_scope)
     {
-        MethodInfo mi = createMethodInfo(enclosing_scope, func);
+        MethodInfo mi = createMethodInfo(enclosing_scope, func, null);
         if (mi.isNative())
         {
             generateNativeMethod(func, mi, enclosing_scope);
@@ -523,9 +523,9 @@ public class ABCGenerator implements ICodeGenerator
      * @return The MethodInfo specifying the signature of the method.
      */
     @Override
-    public MethodInfo createMethodInfo (LexicalScope scope, FunctionNode func)
+    public MethodInfo createMethodInfo (LexicalScope scope, FunctionNode func, Name alternate_name)
     {	
-        return createMethodInfoWithOptionalDefaultArgumentValues(scope, func, false);
+        return createMethodInfoWithOptionalDefaultArgumentValues(scope, func, false, alternate_name);
     }
     
     /**
@@ -542,13 +542,14 @@ public class ABCGenerator implements ICodeGenerator
     @Override
     public MethodInfo createMethodInfoWithDefaultArgumentValues (LexicalScope scope, FunctionNode func)
     {   
-        return createMethodInfoWithOptionalDefaultArgumentValues(scope, func, true);
+        return createMethodInfoWithOptionalDefaultArgumentValues(scope, func, true, null);
     }
     
-    private static MethodInfo createMethodInfoWithOptionalDefaultArgumentValues(LexicalScope scope, FunctionNode func, boolean addDefalutValues)
+    private static MethodInfo createMethodInfoWithOptionalDefaultArgumentValues(LexicalScope scope, FunctionNode func, 
+                                        boolean addDefalutValues, Name alternate_name)
     {
         MethodInfo mi = new MethodInfo();
-        mi.setMethodName(func.getName());
+        mi.setMethodName(alternate_name != null ? alternate_name.getBaseName() : func.getName());
 
         FunctionDefinition funcDef = func.getDefinition();
         //  Marshal the function's arguments.

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b08d11d2/compiler/src/org/apache/flex/compiler/internal/as/codegen/BindableHelper.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/as/codegen/BindableHelper.java b/compiler/src/org/apache/flex/compiler/internal/as/codegen/BindableHelper.java
index ea1e0a3..203a804 100644
--- a/compiler/src/org/apache/flex/compiler/internal/as/codegen/BindableHelper.java
+++ b/compiler/src/org/apache/flex/compiler/internal/as/codegen/BindableHelper.java
@@ -520,6 +520,18 @@ public class BindableHelper
     }
 
     /**
+     * Return the AET Name to use for the backing property of a bindable var.  This name will have the same simple
+     * name as the one passed in, but will be in a special, hidden private namespace to avoid conflicts with other
+     * properties.
+     * @param propName  the Name of the property to generate a hidden name for
+     * @return          the Name of the hidden property that will actually store the value
+     */
+    static Name getBackingPropertyName(Name propName, String suffix)
+    {
+        return new Name(CONSTANT_Qname, new Nsset(bindablePrivateNamespace), propName.getBaseName() + suffix);
+    }
+
+    /**
      * The namespace to put compiler generated members into so that they do not conflict with any user defined
      * members.
      */

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b08d11d2/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
index 2f62f96..9af1d45 100644
--- a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
+++ b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ClassDirectiveProcessor.java
@@ -56,7 +56,6 @@ import org.apache.flex.compiler.definitions.IDefinition;
 import org.apache.flex.compiler.definitions.IInterfaceDefinition;
 import org.apache.flex.compiler.definitions.metadata.IMetaTag;
 import org.apache.flex.compiler.definitions.metadata.IMetaTagAttribute;
-import org.apache.flex.compiler.definitions.references.INamespaceReference;
 import org.apache.flex.compiler.exceptions.CodegenInterruptedException;
 import org.apache.flex.compiler.problems.CircularTypeReferenceProblem;
 import org.apache.flex.compiler.problems.ConstructorCannotHaveReturnTypeProblem;
@@ -555,7 +554,7 @@ class ClassDirectiveProcessor extends DirectiveProcessor
         //  Create the class' constructor function.
         if ( this.ctorFunction != null )
         {
-            MethodInfo mi = classScope.getGenerator().generateFunction(this.ctorFunction, classScope, this.iinitInsns);
+            MethodInfo mi = classScope.getGenerator().generateFunction(this.ctorFunction, classScope, this.iinitInsns, null);
 
             if ( mi != null )
                 this.iinfo.iInit = mi;
@@ -748,21 +747,20 @@ class ClassDirectiveProcessor extends DirectiveProcessor
                 }
             }
         }
+        
+        functionSemanticChecks(func);
+
         Name funcName = funcDef.getMName(classScope.getProject());
         Name bindableName = null;
         boolean wasOverride = false;
         if (isBindable)
         {
             // move function into bindable namespace
-            bindableName = BindableHelper.getBackingPropertyName(funcName);
-            INamespaceReference ns = BindableHelper.bindableNamespaceDefinition;
+            bindableName = BindableHelper.getBackingPropertyName(funcName, "_" + this.classDefinition.getQualifiedName());
             wasOverride = funcDef.isOverride();
-            funcDef.setNamespaceReference(ns);
             funcDef.unsetOverride();
         }
        
-        functionSemanticChecks(func);
-
         //  Save the constructor function until
         //  we've seen all the instance variables
         //  that might need initialization.
@@ -781,17 +779,17 @@ class ClassDirectiveProcessor extends DirectiveProcessor
         {
             LexicalScope ls = funcDef.isStatic()? classStaticScope: classScope;
 
-            MethodInfo mi = classScope.getGenerator().generateFunction(func, ls, null);
+            MethodInfo mi = classScope.getGenerator().generateFunction(func, ls, null, bindableName);
             
             if ( mi != null )
             {
                 ITraitVisitor tv = ls.traitsVisitor.visitMethodTrait(functionTraitKind(func, TRAIT_Method), 
                         bindableName != null ? bindableName : funcName, 0, mi);
                 
-                if (funcName != null)
+                if (funcName != null && bindableName == null)
                     classScope.getMethodBodySemanticChecker().checkFunctionForConflictingDefinitions(func, funcDef);
 
-                if ( ! funcDef.isStatic() )
+                if ( ! funcDef.isStatic() && bindableName == null)
                     if (funcDef.getNamespaceReference() instanceof NamespaceDefinition.IProtectedNamespaceDefinition)
                         this.iinfo.flags |= ABCConstants.CLASS_FLAG_protected;
 
@@ -811,9 +809,9 @@ class ClassDirectiveProcessor extends DirectiveProcessor
                 funcDef.setOverride();
             if (funcDef instanceof GetterDefinition)
             {
-                DefinitionBase bindableGetter = func.buildBindableGetter(func.getName());
+                DefinitionBase bindableGetter = func.buildBindableGetter(funcName.getBaseName());
                 ASScope funcScope = (ASScope)funcDef.getContainingScope();
-                funcScope.addDefinition(bindableGetter);
+                bindableGetter.setContainingScope(funcScope);
                 LexicalScope ls = funcDef.isStatic()? classStaticScope: classScope;
                 ls.generateBindableGetter(bindableGetter, funcName, bindableName, 
                                         funcDef.resolveType(project).getMName(project), getAllMetaTags(funcDef));
@@ -822,10 +820,10 @@ class ClassDirectiveProcessor extends DirectiveProcessor
             {
                 TypeDefinitionBase typeDef = funcDef.resolveType(project);
                 ASScope funcScope = (ASScope)funcDef.getContainingScope();
-                DefinitionBase bindableSetter = func.buildBindableSetter(func.getName(), 
+                DefinitionBase bindableSetter = func.buildBindableSetter(funcName.getBaseName(), 
                         funcScope,
                         funcDef.getTypeReference());
-                funcScope.addDefinition(bindableSetter);
+                bindableSetter.setContainingScope(funcScope);
                 LexicalScope ls = funcDef.isStatic()? classStaticScope: classScope;
                 ls.generateBindableSetter(bindableSetter, funcName, bindableName, 
                         typeDef.getMName(project), getAllMetaTags(funcDef));  

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b08d11d2/compiler/src/org/apache/flex/compiler/internal/as/codegen/GlobalDirectiveProcessor.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/as/codegen/GlobalDirectiveProcessor.java b/compiler/src/org/apache/flex/compiler/internal/as/codegen/GlobalDirectiveProcessor.java
index 0de6497..5a7c499 100644
--- a/compiler/src/org/apache/flex/compiler/internal/as/codegen/GlobalDirectiveProcessor.java
+++ b/compiler/src/org/apache/flex/compiler/internal/as/codegen/GlobalDirectiveProcessor.java
@@ -153,7 +153,7 @@ class GlobalDirectiveProcessor extends DirectiveProcessor
         else
         {
             f.parseFunctionBody(currentScope.getProblems());
-            return currentScope.getGenerator().generateFunction(f, this.currentScope, null);
+            return currentScope.getGenerator().generateFunction(f, this.currentScope, null, null);
         }
     }
     

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/b08d11d2/compiler/src/org/apache/flex/compiler/internal/as/codegen/ICodeGenerator.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ICodeGenerator.java b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ICodeGenerator.java
index dff5b61..b06911e 100644
--- a/compiler/src/org/apache/flex/compiler/internal/as/codegen/ICodeGenerator.java
+++ b/compiler/src/org/apache/flex/compiler/internal/as/codegen/ICodeGenerator.java
@@ -21,6 +21,7 @@ package org.apache.flex.compiler.internal.as.codegen;
 
 import org.apache.flex.abc.instructionlist.InstructionList;
 import org.apache.flex.abc.semantics.MethodInfo;
+import org.apache.flex.abc.semantics.Name;
 import org.apache.flex.compiler.internal.tree.as.FunctionNode;
 import org.apache.flex.compiler.internal.units.requests.ABCBytesRequestResult;
 import org.apache.flex.compiler.problems.ICompilerProblem;
@@ -108,7 +109,7 @@ public interface ICodeGenerator
      * @return {@link MethodInfo} created for the function.
      */
     MethodInfo generateFunction(FunctionNode func, LexicalScope enclosing_scope,
-                                InstructionList instance_init_insns);
+                                InstructionList instance_init_insns, Name alternateName);
 
     /**
      * Generate code for a function declaration, using a background thread
@@ -171,7 +172,7 @@ public interface ICodeGenerator
      * @param func - A FunctionNode representing a method declaration.
      * @return The MethodInfo specifying the signature of the method.
      */
-    MethodInfo createMethodInfo (LexicalScope scope, FunctionNode func);
+    MethodInfo createMethodInfo (LexicalScope scope, FunctionNode func, Name alternate_name);
 
     /**
      * Creates a MethodInfo specifying the signature of a method


[4/5] git commit: [flex-falcon] [refs/heads/develop] - Allow namespace access (mx_internal::foo) to be compiled even if the object doesn't have that property, since it could be on an interface

Posted by ah...@apache.org.
Allow namespace access (mx_internal::foo) to be compiled even if the object doesn't have that property, since it could be on an interface


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/ba7fef9e
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/ba7fef9e
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/ba7fef9e

Branch: refs/heads/develop
Commit: ba7fef9e3f998104ac043c6ede0ef2c2eefae778
Parents: 90e86c2
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 24 15:38:27 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 24 15:38:27 2013 -0700

----------------------------------------------------------------------
 .../compiler/internal/semantics/MethodBodySemanticChecker.java  | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ba7fef9e/compiler/src/org/apache/flex/compiler/internal/semantics/MethodBodySemanticChecker.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/semantics/MethodBodySemanticChecker.java b/compiler/src/org/apache/flex/compiler/internal/semantics/MethodBodySemanticChecker.java
index 4b4fe28..6a96d09 100644
--- a/compiler/src/org/apache/flex/compiler/internal/semantics/MethodBodySemanticChecker.java
+++ b/compiler/src/org/apache/flex/compiler/internal/semantics/MethodBodySemanticChecker.java
@@ -117,6 +117,7 @@ import org.apache.flex.compiler.internal.tree.as.LiteralNode;
 import org.apache.flex.compiler.internal.tree.as.MemberAccessExpressionNode;
 import org.apache.flex.compiler.internal.tree.as.ModifierNode;
 import org.apache.flex.compiler.internal.tree.as.ModifiersContainerNode;
+import org.apache.flex.compiler.internal.tree.as.NamespaceAccessExpressionNode;
 import org.apache.flex.compiler.internal.tree.as.NamespaceNode;
 import org.apache.flex.compiler.internal.tree.as.NodeBase;
 import org.apache.flex.compiler.internal.tree.as.NumericLiteralNode;
@@ -1865,6 +1866,10 @@ public class MethodBodySemanticChecker
 
         if ( def == null && utils.definitionCanBeAnalyzed(member) )
         {
+            // if it is foo.mx_internal::someProp, just say it passes
+            if (member_node.getParent() instanceof NamespaceAccessExpressionNode)
+                return;
+            
             if ( utils.isInaccessible(iNode, member) )
             {
                 addProblem(new InaccessiblePropertyReferenceProblem(