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 2016/08/30 07:30:30 UTC
[07/12] git commit: [flex-falcon] [refs/heads/develop] -
[IMRPOVEMENT] Fixes private bindings. Make use of
isSourceSimplePublicProperty on BindingInfo, to generate simple string sources,
otherwise generate getter functions for private vars/consts also, r
[IMRPOVEMENT] Fixes private bindings. Make use of isSourceSimplePublicProperty on BindingInfo, to generate simple string sources, otherwise generate getter functions for private vars/consts
also, removes an annotation error from bindable implementations in BindableEmitter
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/503f7211
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/503f7211
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/503f7211
Branch: refs/heads/develop
Commit: 503f72118975de7f832ffcf7bbfc2613b678c51c
Parents: 53071a7
Author: greg-dove <gr...@gmail.com>
Authored: Fri Aug 26 16:46:33 2016 +1200
Committer: greg-dove <gr...@gmail.com>
Committed: Sat Aug 27 15:54:14 2016 +1200
----------------------------------------------------------------------
.../internal/codegen/js/jx/BindableEmitter.java | 4 ---
.../codegen/mxml/flexjs/MXMLFlexJSEmitter.java | 30 ++++++++++----------
.../databinding/MXMLBindingDirectiveHelper.java | 13 +++++----
3 files changed, 22 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/503f7211/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
index 1818867..e01ba88 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/jx/BindableEmitter.java
@@ -118,7 +118,6 @@ public class BindableEmitter extends JSSubEmitter implements
emitBindableInterfaceMethod(qname,
new String[]{ "/**",
" * @export",
- " * @private",
" * @param {string} type",
" * @param {function(?):?}",
" * @param {boolean=} opt_capture",
@@ -130,7 +129,6 @@ public class BindableEmitter extends JSSubEmitter implements
emitBindableInterfaceMethod(qname,
new String[]{ "/**",
" * @export",
- " * @private",
" * @param {string} type",
" * @param {function(?):?}",
" * @param {boolean=} opt_capture",
@@ -142,7 +140,6 @@ public class BindableEmitter extends JSSubEmitter implements
emitBindableInterfaceMethod(qname,
new String[]{ "/**",
" * @export",
- " * @private",
" * @param {"+EVENT_QNAME+"} e",
" * @return {boolean}",
" */"},
@@ -152,7 +149,6 @@ public class BindableEmitter extends JSSubEmitter implements
emitBindableInterfaceMethod(qname,
new String[]{ "/**",
" * @export",
- " * @private",
" * @param {string} type",
" * @return {boolean}",
" */"},
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/503f7211/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index cf4d61c..e451ca0 100644
--- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -746,22 +746,9 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
{
String s;
s = bi.getSourceString();
- if (s == null)
+ if (s == null && bi.isSourceSimplePublicProperty())
s = getSourceStringFromGetter(bi.getExpressionNodesForGetter());
- if (s.contains("."))
- {
- String[] parts = s.split("\\.");
- write(ASEmitterTokens.SQUARE_OPEN.getToken() + ASEmitterTokens.DOUBLE_QUOTE.getToken() +
- parts[0] + ASEmitterTokens.DOUBLE_QUOTE.getToken());
- int n = parts.length;
- for (int i = 1; i < n; i++)
- {
- String part = parts[i];
- write(", " + ASEmitterTokens.DOUBLE_QUOTE.getToken() + part + ASEmitterTokens.DOUBLE_QUOTE.getToken());
- }
- writeNewline(ASEmitterTokens.SQUARE_CLOSE.getToken() + ASEmitterTokens.COMMA.getToken());
- }
- else if (s == null || s.length() == 0)
+ if (s == null || s.length() == 0)
{
List<IExpressionNode> getterNodes = bi.getExpressionNodesForGetter();
StringBuilder sb = new StringBuilder();
@@ -784,6 +771,19 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
sb.append("; },");
writeNewline(sb.toString());
}
+ else if (s.contains("."))
+ {
+ String[] parts = s.split("\\.");
+ write(ASEmitterTokens.SQUARE_OPEN.getToken() + ASEmitterTokens.DOUBLE_QUOTE.getToken() +
+ parts[0] + ASEmitterTokens.DOUBLE_QUOTE.getToken());
+ int n = parts.length;
+ for (int i = 1; i < n; i++)
+ {
+ String part = parts[i];
+ write(", " + ASEmitterTokens.DOUBLE_QUOTE.getToken() + part + ASEmitterTokens.DOUBLE_QUOTE.getToken());
+ }
+ writeNewline(ASEmitterTokens.SQUARE_CLOSE.getToken() + ASEmitterTokens.COMMA.getToken());
+ }
else
writeNewline(ASEmitterTokens.DOUBLE_QUOTE.getToken() + s +
ASEmitterTokens.DOUBLE_QUOTE.getToken() + ASEmitterTokens.COMMA.getToken());
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/503f7211/compiler/src/main/java/org/apache/flex/compiler/internal/codegen/databinding/MXMLBindingDirectiveHelper.java
----------------------------------------------------------------------
diff --git a/compiler/src/main/java/org/apache/flex/compiler/internal/codegen/databinding/MXMLBindingDirectiveHelper.java b/compiler/src/main/java/org/apache/flex/compiler/internal/codegen/databinding/MXMLBindingDirectiveHelper.java
index 08573c0..b023ba3 100644
--- a/compiler/src/main/java/org/apache/flex/compiler/internal/codegen/databinding/MXMLBindingDirectiveHelper.java
+++ b/compiler/src/main/java/org/apache/flex/compiler/internal/codegen/databinding/MXMLBindingDirectiveHelper.java
@@ -204,19 +204,20 @@ public class MXMLBindingDirectiveHelper
{
String s;
s = bi.getSourceString();
- if (s == null)
+ if (s == null && bi.isSourceSimplePublicProperty())
s = getSourceStringFromGetter(bi.getExpressionNodesForGetter());
- if (s.contains(".") && !isFlexSDK)
+
+ if (s == null || s.length() == 0 || isFlexSDK)
+ {
+ BindingCodeGenUtils.generateGetter(emitter, ret, bi.getExpressionNodesForGetter(), host.getInstanceScope());
+ }
+ else if (s.contains(".") && !isFlexSDK)
{
String[] parts = s.split("\\.");
for (String part : parts)
ret.addInstruction(OP_pushstring, part);
ret.addInstruction(OP_newarray, parts.length);
}
- else if (s == null || s.length() == 0 || isFlexSDK)
- {
- BindingCodeGenUtils.generateGetter(emitter, ret, bi.getExpressionNodesForGetter(), host.getInstanceScope());
- }
else
ret.addInstruction(OP_pushstring, s);