Merge branch 'develop' of https://gitbox.apache.org/repos/asf/royale-compiler into develop
diff --git a/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/FunctionReference.java b/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/FunctionReference.java
index 6fd200a..8351dd1 100644
--- a/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/FunctionReference.java
+++ b/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/typedefs/reference/FunctionReference.java
@@ -130,7 +130,7 @@
braces = " { " + returns + " }";
- sb.append(" ");
+ sb.append(indent);
sb.append(publicModifier);
sb.append(staticValue);
sb.append("function ");
diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
index 8d6c103..fee9757 100644
--- a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/BinaryOperatorEmitter.java
@@ -23,7 +23,11 @@
import org.apache.royale.compiler.codegen.js.IJSEmitter;
import org.apache.royale.compiler.constants.IASLanguageConstants;
import org.apache.royale.compiler.definitions.IDefinition;
+import org.apache.royale.compiler.definitions.IFunctionDefinition;
+import org.apache.royale.compiler.definitions.IFunctionDefinition.FunctionClassification;;
import org.apache.royale.compiler.definitions.ITypeDefinition;
+import org.apache.royale.compiler.definitions.IVariableDefinition;
+import org.apache.royale.compiler.definitions.IVariableDefinition.VariableClassification;;
import org.apache.royale.compiler.internal.codegen.as.ASEmitterTokens;
import org.apache.royale.compiler.internal.codegen.js.JSEmitterTokens;
import org.apache.royale.compiler.internal.codegen.js.JSSubEmitter;
@@ -87,11 +91,44 @@
IDefinition dnode = (node.getRightOperandNode())
.resolve(getProject());
- if (dnode != null)
- write(getEmitter()
- .formatQualifiedName(dnode.getQualifiedName()));
- else
- getWalker().walk(node.getRightOperandNode());
+ if (dnode != null)
+ {
+ String dnodeQname = dnode.getQualifiedName();
+ boolean isPackageOrFileMember = false;
+ if (dnode instanceof IVariableDefinition)
+ {
+ IVariableDefinition variable = (IVariableDefinition) dnode;
+ VariableClassification classification = variable.getVariableClassification();
+ if (classification == VariableClassification.PACKAGE_MEMBER ||
+ classification == VariableClassification.FILE_MEMBER)
+ {
+ isPackageOrFileMember = true;
+ }
+ }
+ else if (dnode instanceof IFunctionDefinition)
+ {
+ IFunctionDefinition func = (IFunctionDefinition) dnode;
+ FunctionClassification classification = func.getFunctionClassification();
+ if (classification == FunctionClassification.PACKAGE_MEMBER ||
+ classification == FunctionClassification.FILE_MEMBER)
+ {
+ isPackageOrFileMember = true;
+ }
+ }
+ else if(dnode instanceof ITypeDefinition)
+ {
+ isPackageOrFileMember = true;
+ }
+ if(isPackageOrFileMember)
+ {
+ dnodeQname = getEmitter().formatQualifiedName(dnodeQname);
+ }
+ write(dnodeQname);
+ }
+ else
+ {
+ getWalker().walk(node.getRightOperandNode());
+ }
}
else
{
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSProperty.java b/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSProperty.java
index 9b3ddf1..0f4c0a2 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSProperty.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/css/CSSProperty.java
@@ -57,7 +57,7 @@
@Override
public String toString()
{
- if (rawName.equalsIgnoreCase("border"))
+ if (rawName.equalsIgnoreCase("border") && value instanceof CSSArrayPropertyValue)
{
CSSArrayPropertyValue borderValues = (CSSArrayPropertyValue)value;
return String.format("%s: %s;", rawName, Joiner.on(" ").join(borderValues.getElements()));
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/units/SWCCompilationUnit.java b/compiler/src/main/java/org/apache/royale/compiler/internal/units/SWCCompilationUnit.java
index 2d50445..cb09a07 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/units/SWCCompilationUnit.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/units/SWCCompilationUnit.java
@@ -410,6 +410,11 @@
{
return swc.isANE();
}
+
+ public ISWC getSWC()
+ {
+ return swc;
+ }
@Override
public String getName()