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/08 23:50:07 UTC
[07/14] git commit: [flex-falcon] [refs/heads/develop] - 3 fixes: 1)
set properties to the full qname. They can be private and protected
properties,
not just public. 2) don't add style class traits more than once if there are
multiple fx:Style blocks. 3
3 fixes: 1) set properties to the full qname. They can be private and protected properties, not just public. 2) don't add style class traits more than once if there are multiple fx:Style blocks. 3) If there is no id, set the target to null, not empty string.
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/ad066ded
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/ad066ded
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/ad066ded
Branch: refs/heads/develop
Commit: ad066ded631e913ef8933f716eca93256711c85e
Parents: ec7cb59
Author: Alex Harui <ah...@apache.org>
Authored: Wed Oct 2 20:47:11 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Oct 8 13:50:57 2013 -0700
----------------------------------------------------------------------
.../as/codegen/MXMLClassDirectiveProcessor.java | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/ad066ded/compiler/src/org/apache/flex/compiler/internal/as/codegen/MXMLClassDirectiveProcessor.java
----------------------------------------------------------------------
diff --git a/compiler/src/org/apache/flex/compiler/internal/as/codegen/MXMLClassDirectiveProcessor.java b/compiler/src/org/apache/flex/compiler/internal/as/codegen/MXMLClassDirectiveProcessor.java
index cbf4cf0..a868416 100644
--- a/compiler/src/org/apache/flex/compiler/internal/as/codegen/MXMLClassDirectiveProcessor.java
+++ b/compiler/src/org/apache/flex/compiler/internal/as/codegen/MXMLClassDirectiveProcessor.java
@@ -3455,7 +3455,11 @@ public class MXMLClassDirectiveProcessor extends ClassDirectiveProcessor
// Set the property.
// unless it's a databinding, then the property is set indiretly
if (!isDb)
- context.addInstruction(OP_setproperty, new Name(propertyName));
+ {
+ IDefinition def = propertyNode.getDefinition();
+ Name n = ((DefinitionBase)def).getMName(getProject());
+ context.addInstruction(OP_setproperty, n);
+ }
}
context.stopUsing(IL.PROPERTIES, 1);
@@ -3928,7 +3932,8 @@ public class MXMLClassDirectiveProcessor extends ClassDirectiveProcessor
}
getProblems().addAll(problems);
- reducer.visitClassTraits(ctraits);
+ if (!hasStyleTags) // don't duplicate traits if there's a second style block
+ reducer.visitClassTraits(ctraits);
cinitInsns.addAll(reducer.getClassInitializationInstructions());
hasStyleTags = true;
}
@@ -4139,7 +4144,10 @@ public class MXMLClassDirectiveProcessor extends ClassDirectiveProcessor
// Set its 'target' property to the id of the object
// whose property or style this override will set.
context.addInstruction(OP_dup);
- context.addInstruction(OP_pushstring, id);
+ if (id.length() == 0)
+ context.addInstruction(OP_pushnull);
+ else
+ context.addInstruction(OP_pushstring, id);
context.addInstruction(OP_setproperty, NAME_TARGET);
// Set its 'name' property to the name of the property or style.