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
commit bfcf2c18bca92eac10a45360df6f470765447382 Author: Josh Tynjala <[email protected]> AuthorDate: Wed Feb 17 14:45:07 2021 -0800 playerglobal-source-gen: build tweaks --- playerglobal-source-gen/build.xml | 4 +- playerglobal-source-gen/pom.xml | 4 +- .../royale/playerglobal/PlayerglobalSourceGen.java | 286 ++++++++++----------- 3 files changed, 142 insertions(+), 152 deletions(-) diff --git a/playerglobal-source-gen/build.xml b/playerglobal-source-gen/build.xml index 4230ad7..cdded40 100644 --- a/playerglobal-source-gen/build.xml +++ b/playerglobal-source-gen/build.xml @@ -79,8 +79,8 @@ <src path="${playerglobal-source-gen}/src/main/java"/> <classpath> <pathelement location="${playerglobal-source-gen}/target/classes"/> - <fileset dir="${playerglobal-source-gen}/../compiler-jx/lib/google" includes="**/*.jar"/> - <fileset dir="${playerglobal-source-gen}/../compiler/lib" includes="compiler-common.jar,external/flex-tool-api.jar"/> + <fileset dir="${playerglobal-source-gen}/../compiler-jx/lib" includes="dom4j.jar"/> + <fileset dir="${playerglobal-source-gen}/../compiler/lib/external" includes="commons-io.jar"/> </classpath> </javac> </target> diff --git a/playerglobal-source-gen/pom.xml b/playerglobal-source-gen/pom.xml index 0dc5648..aa3ec9d 100644 --- a/playerglobal-source-gen/pom.xml +++ b/playerglobal-source-gen/pom.xml @@ -34,8 +34,8 @@ <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> - <source>1.8</source> - <target>1.8</target> + <source>1.6</source> + <target>1.6</target> </configuration> </plugin> <plugin> diff --git a/playerglobal-source-gen/src/main/java/org/apache/royale/playerglobal/PlayerglobalSourceGen.java b/playerglobal-source-gen/src/main/java/org/apache/royale/playerglobal/PlayerglobalSourceGen.java index 569fd06..dc0201a 100644 --- a/playerglobal-source-gen/src/main/java/org/apache/royale/playerglobal/PlayerglobalSourceGen.java +++ b/playerglobal-source-gen/src/main/java/org/apache/royale/playerglobal/PlayerglobalSourceGen.java @@ -233,11 +233,11 @@ class PlayerglobalSourceGen { boolean isAIROnly = isAIROnly(apiClassifierElement.element("prolog")); boolean isVector = className.startsWith("Vector$"); - Set<String> importFullyQualifiedNames = new HashSet<>(); + Set<String> importFullyQualifiedNames = new HashSet<String>(); collectImports(apiClassifierElement, packageName, importFullyQualifiedNames); String baseClassFullyQualifiedName = ""; - List<String> interfaceFullyQualifiedNames = new ArrayList<>(); + List<String> interfaceFullyQualifiedNames = new ArrayList<String>(); String access = null; boolean isFinal = false; boolean isDynamic = false; @@ -364,10 +364,10 @@ class PlayerglobalSourceGen { boolean isAIROnly = isAIROnly(apiClassifierElement.element("prolog")); - Set<String> importFullyQualifiedNames = new HashSet<>(); + Set<String> importFullyQualifiedNames = new HashSet<String>(); collectImports(apiClassifierElement, packageName, importFullyQualifiedNames); - List<String> interfaceFullyQualifiedNames = new ArrayList<>(); + List<String> interfaceFullyQualifiedNames = new ArrayList<String>(); String access = null; Element apiClassifierDetailElement = apiClassifierElement.element("apiClassifierDetail"); @@ -458,7 +458,7 @@ class PlayerglobalSourceGen { fullyQualifiedName = packageName + "." + parts[1]; } - Set<String> importFullyQualifiedNames = new HashSet<>(); + Set<String> importFullyQualifiedNames = new HashSet<String>(); collectImports(apiOperationElement, packageName, importFullyQualifiedNames); boolean isAIROnly = isAIROnly(apiOperationElement.element("prolog")); @@ -504,7 +504,7 @@ class PlayerglobalSourceGen { return; } - Set<String> importFullyQualifiedNames = new HashSet<>(); + Set<String> importFullyQualifiedNames = new HashSet<String>(); collectImports(apiValueElement, packageName, importFullyQualifiedNames); boolean isAIROnly = isAIROnly(apiValueElement.element("prolog")); @@ -791,32 +791,28 @@ class PlayerglobalSourceGen { private String parseReturnOrParamType(Element apiTypeElement, String contextClassName) throws Exception { String apiTypeValue = apiTypeElement.attributeValue("value"); - switch (apiTypeValue) { - case "restParam": { - return null; - } - case "any": { - return "*"; - } - case "T": { - return "T"; - } - case "void": { - return "void"; + if ("restParam".equals(apiTypeValue)) { + return null; + } + if ("any".equals(apiTypeValue)) { + return "*"; + } + if ("T".equals(apiTypeValue)) { + return "T"; + } + if ("void".equals(apiTypeValue)) { + return "void"; + } + if (apiTypeValue.startsWith("Vector$")) { + String[] parts = apiTypeValue.split("\\$"); + String vectorItemType = parts[1]; + vectorItemType = vectorItemType.replace(":", "."); + if (contextClassName != null && contextClassName.startsWith("Vector$") && vectorItemType.equals("T")) { + return contextClassName; } - default: - if (apiTypeValue.startsWith("Vector$")) { - String[] parts = apiTypeValue.split("\\$"); - String vectorItemType = parts[1]; - vectorItemType = vectorItemType.replace(":", "."); - if (contextClassName != null && contextClassName.startsWith("Vector$") - && vectorItemType.equals("T")) { - return contextClassName; - } - return "Vector.<" + vectorItemType + ">"; - } else { - throw new Exception("Unknown apiType value: " + apiTypeValue); - } + return "Vector.<" + vectorItemType + ">"; + } else { + throw new Exception("Unknown apiType value: " + apiTypeValue); } } @@ -889,146 +885,140 @@ class PlayerglobalSourceGen { } private void collectImports(Element element, String forPackage, Set<String> result) throws Exception { - switch (element.getName()) { - case "apiClassifier": { - String className = element.element("apiName").getTextTrim(); + String elementName = element.getName(); + if ("apiClassifier".equals(elementName)) { + String className = element.element("apiName").getTextTrim(); - Element apiClassifierDetailElement = element.element("apiClassifierDetail"); - if (apiClassifierDetailElement == null) { - throw new Exception("apiClassifierDetail not found for: " + className); - } - Element apiClassifierDefElement = apiClassifierDetailElement.element("apiClassifierDef"); - if (apiClassifierDefElement == null) { - throw new Exception("apiClassifierDef not found for: " + className); - } + Element apiClassifierDetailElement = element.element("apiClassifierDetail"); + if (apiClassifierDetailElement == null) { + throw new Exception("apiClassifierDetail not found for: " + className); + } + Element apiClassifierDefElement = apiClassifierDetailElement.element("apiClassifierDef"); + if (apiClassifierDefElement == null) { + throw new Exception("apiClassifierDef not found for: " + className); + } - Element apiBaseClassifierElement = apiClassifierDefElement.element("apiBaseClassifier"); - if (apiBaseClassifierElement != null) { - String baseClassType = apiBaseClassifierElement.getTextTrim(); - collectImport(baseClassType, forPackage, result); - } + Element apiBaseClassifierElement = apiClassifierDefElement.element("apiBaseClassifier"); + if (apiBaseClassifierElement != null) { + String baseClassType = apiBaseClassifierElement.getTextTrim(); + collectImport(baseClassType, forPackage, result); + } - List<Element> apiBaseInterfaceElements = apiClassifierDefElement.elements("apiBaseInterface"); - for (Element apiBaseInterfaceElement : apiBaseInterfaceElements) { - String interfaceType = apiBaseInterfaceElement.getTextTrim(); - collectImport(interfaceType, forPackage, result); - } + List<Element> apiBaseInterfaceElements = apiClassifierDefElement.elements("apiBaseInterface"); + for (Element apiBaseInterfaceElement : apiBaseInterfaceElements) { + String interfaceType = apiBaseInterfaceElement.getTextTrim(); + collectImport(interfaceType, forPackage, result); + } - Element apiConstructorElement = element.element("apiConstructor"); - if (apiConstructorElement != null) { - collectImports(apiConstructorElement, forPackage, result); - } + Element apiConstructorElement = element.element("apiConstructor"); + if (apiConstructorElement != null) { + collectImports(apiConstructorElement, forPackage, result); + } - List<Element> apiOperationElements = element.elements("apiOperation"); - for (Element apiOperationElement : apiOperationElements) { - collectImports(apiOperationElement, forPackage, result); - } + List<Element> apiOperationElements = element.elements("apiOperation"); + for (Element apiOperationElement : apiOperationElements) { + collectImports(apiOperationElement, forPackage, result); + } - List<Element> apiValueElements = element.elements("apiValue"); - for (Element apiValueElement : apiValueElements) { - collectImports(apiValueElement, forPackage, result); - } + List<Element> apiValueElements = element.elements("apiValue"); + for (Element apiValueElement : apiValueElements) { + collectImports(apiValueElement, forPackage, result); + } + } + if ("apiOperation".equals(elementName)) { + String functionName = element.element("apiName").getTextTrim(); - break; + Element apiOperationDetailElement = element.element("apiOperationDetail"); + if (apiOperationDetailElement == null) { + throw new Exception("apiOperationDetail not found for: " + functionName); + } + Element apiOperationDefElement = apiOperationDetailElement.element("apiOperationDef"); + if (apiOperationDefElement == null) { + throw new Exception("apiOperationDef not found for: " + functionName); } - case "apiOperation": { - String functionName = element.element("apiName").getTextTrim(); - Element apiOperationDetailElement = element.element("apiOperationDetail"); - if (apiOperationDetailElement == null) { - throw new Exception("apiOperationDetail not found for: " + functionName); + Element apiReturnElement = apiOperationDefElement.element("apiReturn"); + if (apiReturnElement != null) { + Element apiTypeElement = apiOperationDefElement.element("apiType"); + if (apiTypeElement != null) { + String apiTypeValue = apiTypeElement.attributeValue("value"); + if (apiTypeValue.startsWith("Vector$")) { + String[] parts = apiTypeValue.split("\\$"); + String vectorItemType = parts[1]; + collectImport(vectorItemType, forPackage, result); + } } - Element apiOperationDefElement = apiOperationDetailElement.element("apiOperationDef"); - if (apiOperationDefElement == null) { - throw new Exception("apiOperationDef not found for: " + functionName); + Element apiOperationClassifierElement = apiReturnElement.element("apiOperationClassifier"); + if (apiOperationClassifierElement != null) { + String returnType = apiOperationClassifierElement.getTextTrim(); + collectImport(returnType, forPackage, result); } + } - Element apiReturnElement = apiOperationDefElement.element("apiReturn"); - if (apiReturnElement != null) { - Element apiTypeElement = apiOperationDefElement.element("apiType"); - if (apiTypeElement != null) { - String apiTypeValue = apiTypeElement.attributeValue("value"); - if (apiTypeValue.startsWith("Vector$")) { - String[] parts = apiTypeValue.split("\\$"); - String vectorItemType = parts[1]; - collectImport(vectorItemType, forPackage, result); - } - } - Element apiOperationClassifierElement = apiReturnElement.element("apiOperationClassifier"); - if (apiOperationClassifierElement != null) { - String returnType = apiOperationClassifierElement.getTextTrim(); - collectImport(returnType, forPackage, result); + List<Element> apiParamElements = apiOperationDefElement.elements("apiParam"); + for (Element apiParamElement : apiParamElements) { + Element apiTypeElement = apiParamElement.element("apiType"); + if (apiTypeElement != null) { + String apiTypeValue = apiTypeElement.attributeValue("value"); + if (apiTypeValue.startsWith("Vector$")) { + String[] parts = apiTypeValue.split("\\$"); + String vectorItemType = parts[1]; + collectImport(vectorItemType, forPackage, result); } } - - List<Element> apiParamElements = apiOperationDefElement.elements("apiParam"); - for (Element apiParamElement : apiParamElements) { - Element apiTypeElement = apiParamElement.element("apiType"); - if (apiTypeElement != null) { - String apiTypeValue = apiTypeElement.attributeValue("value"); - if (apiTypeValue.startsWith("Vector$")) { - String[] parts = apiTypeValue.split("\\$"); - String vectorItemType = parts[1]; - collectImport(vectorItemType, forPackage, result); - } - } - Element apiOperationClassifierElement = apiParamElement.element("apiOperationClassifier"); - if (apiOperationClassifierElement != null) { - String paramType = apiOperationClassifierElement.getTextTrim(); - collectImport(paramType, forPackage, result); - } + Element apiOperationClassifierElement = apiParamElement.element("apiOperationClassifier"); + if (apiOperationClassifierElement != null) { + String paramType = apiOperationClassifierElement.getTextTrim(); + collectImport(paramType, forPackage, result); } - break; } - case "apiConstructor": { - String functionName = element.element("apiName").getTextTrim(); + } + if ("apiConstructor".equals(elementName)) { + String functionName = element.element("apiName").getTextTrim(); - Element aapiConstructorDetailElement = element.element("apiConstructorDetail"); - if (aapiConstructorDetailElement == null) { - throw new Exception("apiConstructor not found for: " + functionName); - } - Element apiConstructorDefElement = aapiConstructorDetailElement.element("apiConstructorDef"); - if (apiConstructorDefElement == null) { - throw new Exception("apiConstructorDef not found for: " + functionName); - } + Element aapiConstructorDetailElement = element.element("apiConstructorDetail"); + if (aapiConstructorDetailElement == null) { + throw new Exception("apiConstructor not found for: " + functionName); + } + Element apiConstructorDefElement = aapiConstructorDetailElement.element("apiConstructorDef"); + if (apiConstructorDefElement == null) { + throw new Exception("apiConstructorDef not found for: " + functionName); + } - List<Element> apiParamElements = apiConstructorDefElement.elements("apiParam"); - for (Element apiParamElement : apiParamElements) { - Element apiTypeElement = apiParamElement.element("apiType"); - if (apiTypeElement != null) { - String apiTypeValue = apiTypeElement.attributeValue("value"); - if (apiTypeValue.startsWith("Vector$")) { - String[] parts = apiTypeValue.split("\\$"); - String vectorItemType = parts[1]; - collectImport(vectorItemType, forPackage, result); - } - } - Element apiOperationClassifierElement = apiParamElement.element("apiOperationClassifier"); - if (apiOperationClassifierElement != null) { - String paramType = apiOperationClassifierElement.getTextTrim(); - collectImport(paramType, forPackage, result); + List<Element> apiParamElements = apiConstructorDefElement.elements("apiParam"); + for (Element apiParamElement : apiParamElements) { + Element apiTypeElement = apiParamElement.element("apiType"); + if (apiTypeElement != null) { + String apiTypeValue = apiTypeElement.attributeValue("value"); + if (apiTypeValue.startsWith("Vector$")) { + String[] parts = apiTypeValue.split("\\$"); + String vectorItemType = parts[1]; + collectImport(vectorItemType, forPackage, result); } } - break; + Element apiOperationClassifierElement = apiParamElement.element("apiOperationClassifier"); + if (apiOperationClassifierElement != null) { + String paramType = apiOperationClassifierElement.getTextTrim(); + collectImport(paramType, forPackage, result); + } } - case "apiValue": { - String variableName = element.element("apiName").getTextTrim(); + } + if ("apiValue".equals(elementName)) { + String variableName = element.element("apiName").getTextTrim(); - Element apiValueDetailElement = element.element("apiValueDetail"); - if (apiValueDetailElement == null) { - throw new Exception("apiValueDetail not found for: " + variableName); - } - Element apiValueDefElement = apiValueDetailElement.element("apiValueDef"); - if (apiValueDefElement == null) { - throw new Exception("apiValueDef not found for: " + variableName); - } + Element apiValueDetailElement = element.element("apiValueDetail"); + if (apiValueDetailElement == null) { + throw new Exception("apiValueDetail not found for: " + variableName); + } + Element apiValueDefElement = apiValueDetailElement.element("apiValueDef"); + if (apiValueDefElement == null) { + throw new Exception("apiValueDef not found for: " + variableName); + } - Element apiValueClassifierElement = apiValueDefElement.element("apiValueClassifier"); - if (apiValueClassifierElement != null) { - String variableType = apiValueClassifierElement.getTextTrim(); - collectImport(variableType, forPackage, result); - } - break; + Element apiValueClassifierElement = apiValueDefElement.element("apiValueClassifier"); + if (apiValueClassifierElement != null) { + String variableType = apiValueClassifierElement.getTextTrim(); + collectImport(variableType, forPackage, result); } } }
