This is an automated email from the ASF dual-hosted git repository.
joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
The following commit(s) were added to refs/heads/develop by this push:
new f0e2765 playerglobalc: [Event] metadata
f0e2765 is described below
commit f0e2765769b7e7193815e565539be3ad38699720
Author: Josh Tynjala <[email protected]>
AuthorDate: Wed Oct 6 09:44:20 2021 -0700
playerglobalc: [Event] metadata
---
.../royale/compiler/clients/PLAYERGLOBALC.java | 37 ++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git
a/compiler-playerglobalc/src/main/java/org/apache/royale/compiler/clients/PLAYERGLOBALC.java
b/compiler-playerglobalc/src/main/java/org/apache/royale/compiler/clients/PLAYERGLOBALC.java
index 523a4a0..e2ef480 100644
---
a/compiler-playerglobalc/src/main/java/org/apache/royale/compiler/clients/PLAYERGLOBALC.java
+++
b/compiler-playerglobalc/src/main/java/org/apache/royale/compiler/clients/PLAYERGLOBALC.java
@@ -464,6 +464,7 @@ class PLAYERGLOBALC implements FlexTool {
List<Element> apiConstructorElements =
apiClassifierElement.elements("apiConstructor");
List<Element> apiOperationElements =
apiClassifierElement.elements("apiOperation");
List<Element> apiValueElements =
apiClassifierElement.elements("apiValue");
+ List<Element> adobeApiEventElements =
apiClassifierElement.elements("adobeApiEvent");
StringBuilder classBuilder = new StringBuilder();
classBuilder.append("// generated from: ");
@@ -478,6 +479,9 @@ class PLAYERGLOBALC implements FlexTool {
classBuilder.append("{");
classBuilder.append("\n");
writeImports(importFullyQualifiedNames, classBuilder);
+ for (Element adobeApiEventElement : adobeApiEventElements) {
+ parseEvent(adobeApiEventElement, classBuilder);
+ }
classBuilder.append("\t");
if (access != null && access.length() > 0) {
classBuilder.append(access);
@@ -1189,6 +1193,39 @@ class PLAYERGLOBALC implements FlexTool {
}
}
+ private void parseEvent(Element adobeApiEventElement, StringBuilder
eventBuilder) throws Exception {
+ String eventName = null;
+ Element apiNameElement =
adobeApiEventElement.element("apiName");
+ if (apiNameElement != null) {
+ eventName = apiNameElement.getTextTrim();
+ }
+ String eventType = null;
+ Element adobeApiEventDetailElement =
adobeApiEventElement.element("adobeApiEventDetail");
+ if (adobeApiEventDetailElement != null) {
+ Element adobeApiEventDefElement =
adobeApiEventDetailElement.element("adobeApiEventDef");
+ if (adobeApiEventDefElement != null) {
+ Element adobeApiEventClassifierElement =
adobeApiEventDefElement.element("adobeApiEventClassifier");
+ if (adobeApiEventClassifierElement != null) {
+ eventType =
adobeApiEventClassifierElement.getTextTrim();
+ }
+ }
+ }
+ eventBuilder.append("\t");
+ eventBuilder.append("[Event(");
+ if (eventName != null) {
+ eventBuilder.append("name=\"");
+ eventBuilder.append(eventName);
+ eventBuilder.append("\"");
+ }
+ if (eventType != null) {
+ eventBuilder.append(", type=\"");
+ eventBuilder.append(eventType);
+ eventBuilder.append("\"");
+ }
+ eventBuilder.append(")]");
+ eventBuilder.append("\n");
+ }
+
private boolean isConstructorThatNeedsParamsTypedAsAny(String
contextClassName, String contextFunctionName) {
if (!contextFunctionName.equals(contextClassName)) {
return false;