This is an automated email from the ASF dual-hosted git repository.

aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit 5ccaa665be8fcd09a3fa111bf96a4f992f6dec6f
Author: Alex Harui <aha...@apache.org>
AuthorDate: Tue Feb 20 18:09:28 2018 -0800

    in MXML, some public vars have been converted to SyntheticBindings which 
are not themselves Bindable so check the node metatags for binding
---
 .../internal/codegen/js/royale/JSRoyaleDocEmitter.java       | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
index a4f8d05..362035b 100644
--- 
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
+++ 
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
@@ -51,6 +51,8 @@ import org.apache.royale.compiler.tree.as.IExpressionNode;
 import org.apache.royale.compiler.tree.as.IFunctionNode;
 import org.apache.royale.compiler.tree.as.IParameterNode;
 import org.apache.royale.compiler.tree.as.IVariableNode;
+import org.apache.royale.compiler.tree.metadata.IMetaTagNode;
+import org.apache.royale.compiler.tree.metadata.IMetaTagsNode;
 
 public class JSRoyaleDocEmitter extends JSGoogDocEmitter
 {
@@ -427,7 +429,15 @@ public class JSRoyaleDocEmitter extends JSGoogDocEmitter
         {
                RoyaleJSProject fjp =  (RoyaleJSProject)project;
             boolean warnPublicVars = fjp.config != null && 
fjp.config.getWarnPublicVars();
-            if (warnPublicVars && !node.isConst() && !def.isBindable())
+            IMetaTagsNode meta = node.getMetaTags();
+            boolean bindable = false;
+            if (meta != null)
+            {
+               IMetaTagNode tag = meta.getTagByName("Bindable");
+               if (tag != null)
+                       bindable = true;
+            }
+            if (warnPublicVars && !node.isConst() && !(def.isBindable() || 
bindable))
             {
                 if (!suppressedWarning(node, fjp))
                        fjp.getProblems().add(new 
PublicVarWarningProblem(node));

-- 
To stop receiving notification emails like this one, please contact
aha...@apache.org.

Reply via email to