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 2015/01/09 01:43:59 UTC
git commit: [flex-falcon] [refs/heads/develop] - fix emitting of
state event overrides
Repository: flex-falcon
Updated Branches:
refs/heads/develop 2591c553c -> 5f59503a7
fix emitting of state event overrides
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/5f59503a
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/5f59503a
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/5f59503a
Branch: refs/heads/develop
Commit: 5f59503a74389bf8f9917b11c22ee08461bdb9ae
Parents: 2591c55
Author: Alex Harui <ah...@apache.org>
Authored: Thu Jan 8 16:42:43 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Jan 8 16:42:43 2015 -0800
----------------------------------------------------------------------
.../codegen/mxml/flexjs/MXMLEventSpecifier.java | 8 +++++++-
.../codegen/mxml/flexjs/MXMLFlexJSEmitter.java | 16 +++++++++-------
2 files changed, 16 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5f59503a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLEventSpecifier.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLEventSpecifier.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLEventSpecifier.java
index b3d8c04..d419df6 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLEventSpecifier.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLEventSpecifier.java
@@ -47,7 +47,7 @@ public class MXMLEventSpecifier extends MXMLNodeSpecifier
//
//--------------------------------------------------------------------------
- List<String> nameMap = Arrays.asList(
+ static List<String> nameMap = Arrays.asList(
"rollOver",
"rollOut",
"mouseDown",
@@ -90,4 +90,10 @@ public class MXMLEventSpecifier extends MXMLNodeSpecifier
return sb.toString();
}
+ public static String getJSEventName(String name)
+ {
+ if (nameMap.contains(name))
+ return name.toLowerCase();
+ return name;
+ }
}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/5f59503a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
----------------------------------------------------------------------
diff --git a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
index f052173..cdee4d6 100644
--- a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
+++ b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java
@@ -972,11 +972,10 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
}
eventSpecifier.value = sb.toString();
- if (currentDescriptor != null)
- currentDescriptor.eventSpecifiers.add(eventSpecifier);
- else // in theory, if no currentdescriptor must be top tag event
- propertiesTree.eventSpecifiers.add(eventSpecifier);
-
+ if (currentDescriptor != null)
+ currentDescriptor.eventSpecifiers.add(eventSpecifier);
+ else if (!inStatesOverride) // in theory, if no currentdescriptor must be top tag event
+ propertiesTree.eventSpecifiers.add(eventSpecifier);
events.add(eventSpecifier);
}
@@ -1218,7 +1217,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
((IMXMLInstanceNode)parentNode).getEffectiveID() :
"";
- String name = eventNode.getName();
+ String name = MXMLEventSpecifier.getJSEventName(eventNode.getName());
String eventHandler = eventHandlerNameMap.get(eventNode);
if (eventHandler == null)
@@ -1254,7 +1253,10 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements
handler.isProperty = true;
handler.name = "handlerFunction";
handler.parent = setEvent;
- handler.value = ASEmitterTokens.THIS.getToken() + ASEmitterTokens.MEMBER_ACCESS.getToken() + eventHandler;
+ handler.value = JSGoogEmitterTokens.GOOG_BIND.getToken() + ASEmitterTokens.PAREN_OPEN.getToken() +
+ ASEmitterTokens.THIS.getToken() + ASEmitterTokens.MEMBER_ACCESS.getToken() + eventHandler +
+ ASEmitterTokens.COMMA.getToken() + ASEmitterTokens.SPACE.getToken() + ASEmitterTokens.THIS.getToken() +
+ ASEmitterTokens.PAREN_CLOSE.getToken();
setEvent.propertySpecifiers.add(handler);
inStatesOverride = false;