This is an automated email from the ASF dual-hosted git repository. aharui pushed a commit to branch feature/rename in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
commit ba1f6c06efac13bd8fb2a7e06c4f59b4d76818a0 Author: Alex Harui <aha...@apache.org> AuthorDate: Tue Nov 14 20:27:51 2017 -0800 down to 32 errors refactoring externc into one project, and trying to find a minimal set of common files --- compiler-common/build.xml | 352 +++++++++++++++++++++ .../java/org/apache/royale/compiler/Messages.java | 0 .../royale/compiler/asdoc/IASDocComment.java | 0 .../royale/compiler/asdoc/IASDocDelegate.java | 12 +- .../apache/royale/compiler/asdoc/IASDocTag.java | 0 .../compiler/asdoc/IASParserASDocDelegate.java | 20 +- .../asdoc/IMetadataParserASDocDelegate.java | 13 +- .../royale/compiler/asdoc/IPackageDITAParser.java | 3 +- .../royale/compiler/caches/IAssetTagCache.java | 9 +- .../royale/compiler/caches/ICSSDocumentCache.java | 9 +- .../royale/compiler/caches/IFileScopeCache.java | 8 +- .../apache/royale/compiler/caches/ISWFCache.java | 9 +- .../compiler/clients/problems/IProblemFilter.java | 0 .../clients/problems/ProblemFormatter.java | 0 .../compiler/clients/problems/ProblemPrinter.java | 0 .../apache/royale/compiler/common/ASModifier.java | 0 .../royale/compiler/common/DependencyType.java | 4 +- .../royale/compiler/common/DependencyTypeSet.java | 0 .../apache/royale/compiler/common/IDecoration.java | 0 .../compiler/common/IFileSpecificationGetter.java | 3 +- .../royale/compiler/common/IImportTarget.java | 0 .../apache/royale/compiler/common/IMetaInfo.java | 0 .../royale/compiler/common/ISourceLocation.java | 0 .../royale/compiler/common/ModifiersSet.java | 4 +- .../royale/compiler/common/MutablePrefixMap.java | 0 .../apache/royale/compiler/common/PrefixMap.java | 0 .../royale/compiler/common/SourceLocation.java | 0 .../org/apache/royale/compiler/common/XMLName.java | 0 .../compiler/constants/IASKeywordConstants.java | 0 .../compiler/constants/IASLanguageConstants.java | 0 .../royale/compiler/definitions/IDefinition.java | 3 +- .../definitions/IDocumentableDefinition.java | 0 .../compiler/definitions/IFunctionDefinition.java | 0 .../compiler/definitions/IInterfaceDefinition.java | 0 .../compiler/definitions/IMemberedDefinition.java | 0 .../compiler/definitions/INamespaceDefinition.java | 0 .../compiler/definitions/IParameterDefinition.java | 0 .../royale/compiler/definitions/IQualifiers.java | 0 .../compiler/definitions/IScopedDefinition.java | 0 .../compiler/definitions/ITypeDefinition.java | 0 .../compiler/definitions/IVariableDefinition.java | 13 +- .../definitions/metadata/IDeprecationInfo.java | 0 .../compiler/definitions/metadata/IMetaTag.java | 0 .../definitions/metadata/IMetaTagAttribute.java | 0 .../references/INamespaceReference.java | 6 +- .../definitions/references/IReference.java | 10 - .../compiler/filespecs/IFileSpecification.java | 0 .../royale/compiler/internal/mxml/MXMLDialect.java | 30 +- .../compiler/internal/mxml/MXMLDialect2006.java | 16 +- .../compiler/internal/mxml/MXMLDialect2009.java | 0 .../compiler/internal/mxml/MXMLDialect2012.java | 4 +- .../compiler/internal/parsing/ISourceFragment.java | 0 .../org/apache/royale/compiler/mxml/IMXMLData.java | 7 +- .../royale/compiler/mxml/IMXMLDataManager.java | 0 .../compiler/mxml/IMXMLLanguageConstants.java | 0 .../compiler/mxml/IMXMLTagAttributeData.java | 0 .../apache/royale/compiler/mxml/IMXMLTagData.java | 0 .../apache/royale/compiler/mxml/IMXMLUnitData.java | 0 .../apache/royale/compiler/parsing/IASToken.java | 17 +- .../apache/royale/compiler/parsing/ICMToken.java | 0 .../royale/compiler/problems/CompilerProblem.java | 8 +- .../problems/CompilerProblemClassification.java | 0 .../compiler/problems/CompilerProblemSeverity.java | 0 .../royale/compiler/problems/ICompilerProblem.java | 0 .../problems/UnexpectedExceptionProblem.java | 0 .../problems/annotations/DefaultSeverity.java | 0 .../annotations/ProblemClassification.java | 0 .../compiler/problems/annotations/package.html | 0 .../royale/compiler/projects/ICompilerProject.java | 6 +- .../apache/royale/compiler/scopes/IASScope.java | 0 .../royale/compiler/scopes/IDefinitionSet.java | 0 .../org/apache/royale/compiler/tree/ASTNodeID.java | 0 .../apache/royale/compiler/tree/as/IASNode.java | 0 .../royale/compiler/tree/as/IContainerNode.java | 0 .../royale/compiler/tree/as/IDefinitionNode.java | 0 .../tree/as/IDocumentableDefinitionNode.java | 0 .../royale/compiler/tree/as/IExpressionNode.java | 0 .../royale/compiler/tree/as/IFunctionNode.java | 0 .../royale/compiler/tree/as/IImportNode.java | 0 .../royale/compiler/tree/as/IModifierNode.java | 0 .../royale/compiler/tree/as/INamespaceNode.java | 0 .../royale/compiler/tree/as/IParameterNode.java | 0 .../compiler/tree/as/IScopedDefinitionNode.java | 0 .../royale/compiler/tree/as/IScopedNode.java | 0 .../apache/royale/compiler/tree/as/ITypeNode.java | 0 .../royale/compiler/tree/as/IVariableNode.java | 0 .../compiler/tree/metadata/IMetaTagNode.java | 0 .../compiler/tree/metadata/IMetaTagsNode.java | 0 .../compiler/workspaces/IInvalidationListener.java | 0 .../royale/compiler/workspaces/IWorkspace.java | 9 +- .../workspaces/IWorkspaceProfilingDelegate.java | 0 .../src/main/java/org/apache/royale/swc/ISWC.java | 0 .../java/org/apache/royale/swc/ISWCComponent.java | 0 .../java/org/apache/royale/swc/ISWCDigest.java | 0 .../java/org/apache/royale/swc/ISWCFileEntry.java | 0 .../java/org/apache/royale/swc/ISWCLibrary.java | 6 +- .../java/org/apache/royale/swc/ISWCManager.java | 16 +- .../java/org/apache/royale/swc/ISWCScript.java | 0 .../java/org/apache/royale/swc/ISWCVersion.java | 0 .../org/apache/royale/swc/dita/IDITAEntry.java | 0 .../java/org/apache/royale/swc/dita/IDITAList.java | 0 .../src/main/java/org/apache/royale/swf/ISWF.java | 0 .../java/org/apache/royale/swf/ITagContainer.java | 0 .../main/java/org/apache/royale/swf/SWFFrame.java | 0 .../main/java/org/apache/royale/swf/TagType.java | 0 .../java/org/apache/royale/swf/io/ISWFReader.java | 0 .../java/org/apache/royale/swf/tags/DoABCTag.java | 0 .../apache/royale/swf/tags/EnableDebugger2Tag.java | 0 .../apache/royale/swf/tags/EnableTelemetryTag.java | 0 .../apache/royale/swf/tags/ExportAssetsTag.java | 0 .../org/apache/royale/swf/tags/FrameLabelTag.java | 0 .../apache/royale/swf/tags/ICharacterReferrer.java | 0 .../org/apache/royale/swf/tags/ICharacterTag.java | 0 .../org/apache/royale/swf/tags/IManagedTag.java | 0 .../main/java/org/apache/royale/swf/tags/ITag.java | 0 .../org/apache/royale/swf/tags/ProductInfoTag.java | 0 .../apache/royale/swf/tags/ScriptLimitsTag.java | 0 .../org/apache/royale/swf/tags/ShowFrameTag.java | 0 .../org/apache/royale/swf/tags/SymbolClassTag.java | 0 .../main/java/org/apache/royale/swf/tags/Tag.java | 0 .../org/apache/royale/swf/types/IDataType.java | 0 .../main/java/org/apache/royale/swf/types/RGB.java | 0 .../java/org/apache/royale/swf/types/RGBA.java | 0 .../java/org/apache/royale/swf/types/Rect.java | 0 .../apache/royale/utils/FilenameNormalization.java | 0 compiler-externc/build.xml | 120 +++++++ .../apache/royale/compiler/clients/EXTERNC.java | 0 .../compiler/config/ExterncConfigurator.java | 0 .../codegen/externals/emit/ReferenceEmitter.java | 0 .../codegen/externals/pass/ReferenceCompiler.java | 0 .../externals/reference/ReferenceModel.java | 0 .../references/INamespaceResolvedReference.java} | 16 +- .../definitions/references/IReferenceMName.java} | 33 +- .../compiler/internal/caches/AssetTagCache.java | 2 +- .../compiler/internal/caches/CSSDocumentCache.java | 2 +- .../compiler/internal/caches/FileScopeCache.java | 2 +- .../royale/compiler/internal/caches/SWFCache.java | 2 +- 137 files changed, 608 insertions(+), 166 deletions(-) diff --git a/compiler-common/build.xml b/compiler-common/build.xml new file mode 100644 index 0000000..5269157 --- /dev/null +++ b/compiler-common/build.xml @@ -0,0 +1,352 @@ +<?xml version="1.0" ?> + +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<project name="compiler-common" default="main" basedir="."> + + <!-- + + PROPERTIES + + --> + + <!-- The 'compiler-common' property is the absolute path, with forward slashes, --> + <!-- to the 'compiler-common' directory that contains this file. --> + <!-- All input paths are expressed as absolute paths starting with ${compiler-common}. --> + <pathconvert property="compiler-common" dirsep="/"> + <path location="${basedir}"/> + </pathconvert> + + <!-- The 'compiler' property is the absolute path, with forward slashes, --> + <!-- to the 'compiler' directory that is a sibling of the parent folder of this file. --> + <!-- All input paths are expressed as absolute paths starting with ${compiler-common}. --> + <pathconvert property="compiler" dirsep="/"> + <path location="${basedir}/../compiler"/> + </pathconvert> + + <!-- Properties can be overridden locally by loading a local.properties file --> + <!-- Java 8 users probably need javadoc.params=-Xdoclint:none --> + <property file="${compiler-common}/local.properties"/> + + <property name="src.depend" value="true"/> + + <!-- Options for <javac> tasks --> + <property name="javac.debug" value="true"/> + <property name="javac.deprecation" value="false"/> + <property name="javac.src" value="1.6"/> + + <!-- JAR manifest entries --> + <property name="manifest.sealed" value="false"/> + <property name="manifest.Implementation-Title" value="Apache Royale Compiler"/> + <property name="manifest.Implementation-Version" value="${release.version}"/> + <property name="manifest.Implementation-Vendor" value="Apache Software Foundation"/> + + <!-- label is set by CruiseControl script based on P4 label incrementer --> + <condition property="build.number" value="${env.BUILD_NUMBER}"> + <isset property="env.BUILD_NUMBER"/> + </condition> + + <!-- + + MACROS + + --> + + <!-- + Defines a <jflex input="..." skeleton="..." output="..."> macro + for using JFlex to generate a Java-based lexer from a .lex file. + --> + <macrodef name="jflex"> + <attribute name="input"/> + <attribute name="skeleton" default="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/as/skeleton.default"/> + <attribute name="output"/> + <sequential> + <java jar="${compiler}/lib/external/jflex.jar" fork="true"> + <arg value="-d"/> + <arg value="@{output}"/> + <arg value="-q"/> + <arg value="@{input}"/> + <arg value="--skel"/> + <arg value="@{skeleton}"/> + </java> + </sequential> + </macrodef> + + <!-- + Defines an <antlr2 input="..." output="..."> macro + for using ANTLR 2 to generate a Java-based parser from a .g file. + --> + <macrodef name="antlr2"> + <attribute name="input"/> + <attribute name="output"/> + <sequential> + <mkdir dir="@{output}"/> + <dirname property="antlr2.dirname.@{input}" file="@{input}"/> + <antlr target="@{input}" outputdirectory="@{output}" dir="${antlr2.dirname.@{input}}"> + <classpath> + <pathelement path="${compiler}/lib/external/antlr.jar"/> + </classpath> + </antlr> + </sequential> + </macrodef> + + <!-- + Defines an <antlr3 input="..." output="..."> macro + for using ANTLR 3 to generate a Java-based parser from a .g file. + --> + <macrodef name="antlr3"> + <attribute name="input"/> + <attribute name="output"/> + <sequential> + <mkdir dir="@{output}"/> + <!-- Call antlr3 on command-line because we can't update Ant library path. --> + <java jar="${compiler}/lib/external/antlr.jar" fork="yes" failonerror="yes"> + <arg value="@{input}"/> + <arg value="-o"/> + <arg value="@{output}"/> + </java> + </sequential> + </macrodef> + + <!-- + Defines an <annotate.class file="..." annotation="..."> macro + used for inserting @SuppressWarnings(...) into generated Java classes, + in order to keep the build warning-free. + ANTLR and JBurg generate code that isn't warning-free in Eclipse. + --> + <macrodef name="annotate.class"> + <attribute name="file"/> + <attribute name="annotation"/> + <sequential> + <java classname="org.apache.royale.compiler.tools.annotate.AnnotateClass" fork="false"> + <classpath> + <path refid="classpath"/> + <pathelement location="${compiler-common}/../compiler-build-tools/target/classes"/> + <pathelement location="${compiler-common}/target/classes"/> + </classpath> + <arg value="@{file}"/> + <arg value="@{annotation}"/> + </java> + </sequential> + </macrodef> + + <!-- + + GENERATION OF JAVA CODE WITH JFLEX + + --> + + <target name="set.raw.as.tokenizer.uptodate"> + <uptodate property="raw.as.tokenizer.uptodate" + targetfile="${compiler-common}/target/generated-sources/jflex/org/apache/royale/compiler/internal/parsing/as/RawASTokenizer.java"> + <srcfiles dir="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/as"> + <include name="RawASTokenizer.lex"/> + <include name="skeleton.royale"/> + </srcfiles> + </uptodate> + </target> + + <target name="raw.as.tokenizer" depends="set.raw.as.tokenizer.uptodate" unless="raw.as.tokenizer.uptodate" + description="Generates RawASTokenizer.java"> + <echo message="Generating RawASTokenizer"/> + <jflex input="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/as/RawASTokenizer.lex" + skeleton="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/as/skeleton.royale" + output="${compiler-common}/target/generated-sources/jflex/org/apache/royale/compiler/internal/parsing/as"/> + </target> + + <target name="set.raw.asdoc.tokenizer.uptodate"> + <uptodate property="raw.asdoc.tokenizer.uptodate" + targetfile="${compiler-common}/target/generated-sources/jflex/org/apache/royale/compiler/internal/parsing/as/RawASDocTokenizer.java"> + <srcfiles dir="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/as"> + <include name="RawASDocTokenizer.lex"/> + <include name="skeleton.default"/> + </srcfiles> + </uptodate> + </target> + + <target name="raw.asdoc.tokenizer" depends="set.raw.asdoc.tokenizer.uptodate" unless="raw.asdoc.tokenizer.uptodate" + description="Generates RawASDocTokenizer.java"> + <echo message="Generating RawASDocTokenizer"/> + <jflex input="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/as/RawASDocTokenizer.lex" + output="${compiler-common}/target/generated-sources/jflex/org/apache/royale/compiler/internal/parsing/as"/> + </target> + + <target name="set.raw.mxml.tokenizer.uptodate"> + <uptodate property="raw.mxml.tokenizer.uptodate" + targetfile="${compiler-common}/target/generated-sources/jflex/org/apache/royale/compiler/internal/parsing/mxml/RawMXMLTokenizer.java"> + <srcfiles dir="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/mxml"> + <include name="RawMXMLTokenizer.lex"/> + <include name="skeleton.default"/> + </srcfiles> + </uptodate> + </target> + + <target name="raw.mxml.tokenizer" depends="set.raw.mxml.tokenizer.uptodate" unless="raw.mxml.tokenizer.uptodate" + description="Generates RawMXMLTokenizer.java"> + <echo message="Generating RawMXMLTokenizer"/> + <jflex input="${compiler-common}/src/main/jflex/org/apache/royale/compiler/internal/parsing/mxml/RawMXMLTokenizer.lex" + output="${compiler-common}/target/generated-sources/jflex/org/apache/royale/compiler/internal/parsing/mxml"/> + </target> + + <target name="jflex" depends="raw.as.tokenizer, raw.asdoc.tokenizer, raw.mxml.tokenizer" + description="Generates Java code with JFlex"/> + + <!-- + + GENERATION OF JAVA CODE WITH ANTLR + + --> + + <target name="set.as.parser.uptodate"> + <uptodate property="as.parser.uptodate" + srcfile="${compiler-common}/src/main/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.g" + targetfile="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.java"/> + </target> + + <target name="as.parser" depends="set.as.parser.uptodate" unless="as.parser.uptodate"> + <echo message="Generating ASParser and ASTokenTypes"/> + <antlr2 input="${compiler-common}/src/main/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.g" + output="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as"/> + <annotate.class file="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as/ASParser.java" + annotation='@SuppressWarnings("unused")'/> + <annotate.class file="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as/ASTokenTypes.java" + annotation='@SuppressWarnings("unused")'/> + </target> + + <target name="set.metadata.parser.uptodate"> + <uptodate property="metadata.parser.uptodate" + targetfile="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as/MetadataParser.java"> + <srcfiles dir="${compiler-common}/src/main/antlr/org/apache/royale/compiler/internal/parsing/as"> + <include name="MetadataParser.g"/> + <include name="ImportMetadataTokenTypes.txt"/> + </srcfiles> + </uptodate> + </target> + + <target name="metadata.parser" depends="set.metadata.parser.uptodate" unless="metadata.parser.uptodate"> + <echo message="Generating MetadataParser and MetadataTokenTypes"/> + <antlr2 input="${compiler-common}/src/main/antlr/org/apache/royale/compiler/internal/parsing/as/MetadataParser.g" + output="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as"/> + <annotate.class file="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as/MetadataParser.java" + annotation='@SuppressWarnings("all")'/> + <annotate.class file="${compiler-common}/target/generated-sources/antlr/org/apache/royale/compiler/internal/parsing/as/MetadataTokenTypes.java" + annotation='@SuppressWarnings("unused")'/> + </target> + + <target name="set.css.lexer.and.parser.uptodate"> + <uptodate property="css.lexer.and.parser.uptodate" + srcfile="${compiler-common}/src/main/antlr/org/apache/royale/compiler/internal/css/CSS.g" + targetfile="${compiler-common}/target/generated-sources/java/org/apache/royale/compiler/internal/css/CSSParser.java"/> + </target> + + <target name="css.lexer.and.parser" depends="set.css.lexer.and.parser.uptodate" unless="css.lexer.and.parser.uptodate"> + <echo message="Generating CSSLexer and CSSParser"/> + <antlr3 input="${compiler-common}/src/main/antlr3/org/apache/royale/compiler/internal/css/CSS.g" + output="${compiler-common}/target/generated-sources/antlr3/org/apache/royale/compiler/internal/css"/> + <!--<annotate.class file="${compiler-common}/generated/src/org/apache/royale/compiler/internal/css/CSSLexer.java" + annotation='@SuppressWarnings("unused")'/>--> + <!--<annotate.class file="${compiler-common}/generated/src/org/apache/royale/compiler/internal/css/CSSParser.java" + annotation='@SuppressWarnings("unused")'/>--> + </target> + + <target name="set.css.tree.uptodate"> + <uptodate property="css.tree.uptodate" + srcfile="${compiler-common}/src/main/antlr3/org/apache/royale/compiler/internal/css/CSSTree.g" + targetfile="${compiler-common}/target/generated-sources/antlr3/org/apache/royale/compiler/internal/css/CSSTree.java"/> + </target> + + <target name="css.tree" depends="set.css.tree.uptodate" unless="css.tree.uptodate"> + <echo message="Generating CSSTree"/> + <antlr3 input="${compiler-common}/src/main/antlr3/org/apache/royale/compiler/internal/css/CSSTree.g" + output="${compiler-common}/target/generated-sources/antlr3/org/apache/royale/compiler/internal/css"/> + <!--<annotate.class file="${compiler-common}/generated/src/org/apache/royale/compiler/internal/css/CSSTree.java" + annotation='@SuppressWarnings({"rawtypes", "unchecked", "unused"})'/>--> + </target> + + <target name="antlr" depends="as.parser, metadata.parser, css.lexer.and.parser, css.tree" + description="Generates Java code with ANTLR"/> + + <!-- + <target name="compiler.test.downloads.cache" if="usingDownloadCache"> + <ant antfile="${compiler-common}/../compiler/src/test/downloads.xml" dir="${compiler-common}/../compiler/src/test" inheritAll="false"> + <property name="usingDownloadCache" value="${usingDownloadCache}" /> + <property name="downloadCacheFolder" value="${downloadCacheFolder}" /> + </ant> + </target> + <target name="compiler.test.downloads" depends="compiler.test.downloads.cache" unless="usingDownloadCache"> + <ant antfile="${compiler-common}/../compiler/src/test/downloads.xml" dir="${compiler-common}/../compiler/src/test" inheritAll="false"/> + </target> + --> + + <!-- + + EXTERNC + + --> + + <!-- + <target name="test.classes" depends="compiler.test.downloads"> + <mkdir dir="${compiler-common}/target/classes"/> + <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-common}/target/classes" includeAntRuntime="true" + source="${javac.src}" target="${javac.src}"> + <compilerarg value="-Xlint:all,-path,-fallthrough"/> + <src path="${compiler-common}/src/main/java"/> + <include name="org/apache/royale/utils/*.java"/> + <classpath> + <pathelement location="${compiler-common}/target/classes"/> + <fileset dir="${compiler}/lib/external" includes="**/*.jar"/> + </classpath> + </javac> + </target> + --> + + <target name="main" > <!-- depends="jflex, antlr" >--> + <mkdir dir="${compiler-common}/target/classes"/> + <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-common}/target/classes" includeAntRuntime="true" includes="**/*.java" + source="${javac.src}" target="${javac.src}"> + <src path="${compiler-common}/src/main/java"/> + <!-- + <src path="${compiler-common}/target/generated-sources/jflex"/> + <src path="${compiler-common}/target/generated-sources/antlr"/> + <src path="${compiler-common}/target/generated-sources/antlr3"/> + --> + <compilerarg value="-Xlint:all,-path,-fallthrough,-cast"/> + <classpath> + <pathelement location="${compiler-common}/target/classes"/> + <fileset dir="${compiler}/lib/external" includes="**/*.jar"/> + </classpath> + </javac> + </target> + + <!-- + + CLEANUP + + --> + + <target name="clean" description="clean"> + <delete dir="${compiler-common}/target/classes"/> + </target> + + <target name="wipe" depends="clean" description="Wipes everything that didn't come from Git."> + <delete dir="${compiler-common}/target"/> + </target> + + </project> diff --git a/compiler/src/main/java/org/apache/royale/compiler/Messages.java b/compiler-common/src/main/java/org/apache/royale/compiler/Messages.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/Messages.java rename to compiler-common/src/main/java/org/apache/royale/compiler/Messages.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IASDocComment.java b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASDocComment.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/asdoc/IASDocComment.java rename to compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASDocComment.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IASDocDelegate.java b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASDocDelegate.java similarity index 83% rename from compiler/src/main/java/org/apache/royale/compiler/asdoc/IASDocDelegate.java rename to compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASDocDelegate.java index 9409205..451dcac 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IASDocDelegate.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASDocDelegate.java @@ -21,12 +21,10 @@ package org.apache.royale.compiler.asdoc; import org.apache.royale.compiler.common.ISourceLocation; import org.apache.royale.compiler.definitions.IDocumentableDefinition; -import org.apache.royale.compiler.internal.parsing.as.ASParser; -import org.apache.royale.swc.io.SWCReader; /** - * Delegate interface used by the {@link ASParser} to record + * Delegate interface used by the ASParser to record * ASDoc information encountered while parsing ActionScript * or meta-data tags. */ @@ -34,15 +32,15 @@ public interface IASDocDelegate { /** * Get's an implementation of {@link IASParserASDocDelegate} that can be - * used by the {@link ASParser} to record information about ASDoc comments + * used by the ASParser to record information about ASDoc comments * encountered while parsing ActionScript. * <p> * Implementations of the {@link IASParserASDocDelegate} interface that * record ASDoc data are stateful and can not be shared between - * {@link ASParser} instances. + * ASParser instances. * * @return an implementation of {@link IASParserASDocDelegate} that can be - * used by the {@link ASParser} to recored information about ASDoc comments + * used by the ASParser to recored information about ASDoc comments */ IASParserASDocDelegate getASParserASDocDelegate(); @@ -57,7 +55,7 @@ public interface IASDocDelegate /** * Get's an implementation of {@link IPackageDITAParser} that can be used by - * the {@link SWCReader} to parse DITA information found in a SWC. + * the SWCReader to parse DITA information found in a SWC. * @return An implementation of {@link IPackageDITAParser}. */ IPackageDITAParser getPackageDitaParser(); diff --git a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IASDocTag.java b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASDocTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/asdoc/IASDocTag.java rename to compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASDocTag.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IASParserASDocDelegate.java b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASParserASDocDelegate.java similarity index 77% rename from compiler/src/main/java/org/apache/royale/compiler/asdoc/IASParserASDocDelegate.java rename to compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASParserASDocDelegate.java index 3e36ba5..3236228 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IASParserASDocDelegate.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IASParserASDocDelegate.java @@ -21,20 +21,18 @@ package org.apache.royale.compiler.asdoc; import antlr.Token; -import org.apache.royale.compiler.internal.parsing.as.ASParser; -import org.apache.royale.compiler.internal.parsing.as.MetadataParser; import org.apache.royale.compiler.tree.as.IDocumentableDefinitionNode; /** - * Interface used by the {@link ASParser} to record ASDoc information. + * Interface used by the ASParser to record ASDoc information. * <p> * Implementations of this interface that record ASDoc data are stateful and can - * not be shared between {@link ASParser} instances. + * not be shared between ASParser instances. */ public interface IASParserASDocDelegate { /** - * Called by the {@link ASParser} before a variable is parsed. + * Called by the ASParser before a variable is parsed. * <p> * This is here to handle cases like this: * <pre> @@ -58,14 +56,14 @@ public interface IASParserASDocDelegate void afterVariable(); /** - * Called by the {@link ASParser} whenever a {@link Token} containing an ASDoc + * Called by the ASParser whenever a {@link Token} containing an ASDoc * comment is encountered. * @param asDocToken A {@link Token} containing an ASDoc comment. */ void setCurrentASDocToken(Token asDocToken); /** - * Called by the {@link ASParser} after an {@link IDocumentableDefinitionNode} has been constructed + * Called by the ASParser after an {@link IDocumentableDefinitionNode} has been constructed * and fully parsed. * @param definitionNode {@link IDocumentableDefinitionNode} that has been parsed. * @return An {@link IASDocComment} that should be attached to the {@link IDocumentableDefinitionNode}. @@ -73,17 +71,17 @@ public interface IASParserASDocDelegate IASDocComment afterDefinition(IDocumentableDefinitionNode definitionNode); /** - * Called by the {@link ASParser} to get an implementation of + * Called by the ASParser to get an implementation of * {@link IMetadataParserASDocDelegate} that will be used by the - * {@link MetadataParser} to record information about ASDoc comments + * MetadataParser to record information about ASDoc comments * encountered while parsing ActionScript meta-data. * <p> * Implementations of the {@link IMetadataParserASDocDelegate} interface * that record ASDoc data are stateful and can not be shared between - * {@link MetadataParser} instances. + * MetadataParser instances. * * @return An implementation of {@link IMetadataParserASDocDelegate} that - * will be used by the {@link MetadataParser} to record information about + * will be used by the MetadataParser to record information about * ASDoc comments encountered while parsing ActionScript meta-data. */ IMetadataParserASDocDelegate getMetadataParserASDocDelegate(); diff --git a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IMetadataParserASDocDelegate.java b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IMetadataParserASDocDelegate.java similarity index 79% rename from compiler/src/main/java/org/apache/royale/compiler/asdoc/IMetadataParserASDocDelegate.java rename to compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IMetadataParserASDocDelegate.java index 1830db0..17005ce 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IMetadataParserASDocDelegate.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IMetadataParserASDocDelegate.java @@ -21,27 +21,26 @@ package org.apache.royale.compiler.asdoc; import antlr.Token; -import org.apache.royale.compiler.internal.parsing.as.MetadataParser; import org.apache.royale.compiler.tree.as.IDocumentableDefinitionNode; /** - * Interface used by the {@link MetadataParser} to recored information about + * Interface used by the MetadataParser to recored information about * ASDoc comments encountered while parsing meta-data. * <p> * Implementations of this interface that record ASDoc data are stateful and can - * not be shared between {@link MetadataParser} instances. + * not be shared between MetadataParser instances. */ public interface IMetadataParserASDocDelegate { /** - * Called by the {@link MetadataParser} whenever a {@link Token} containing an ASDoc + * Called by the MetadataParser whenever a {@link Token} containing an ASDoc * comment is encountered. * @param asDocToken A {@link Token} containing an ASDoc comment. */ void setCurrentASDocToken(Token asDocToken); /** - * Called by the {@link MetadataParser} after an {@link IDocumentableDefinitionNode} has been constructed + * Called by the MetadataParser after an {@link IDocumentableDefinitionNode} has been constructed * and fully parsed. * @param definitionNode {@link IDocumentableDefinitionNode} that has been parsed. * @return An {@link IASDocComment} that should be attached to the {@link IDocumentableDefinitionNode}. @@ -49,7 +48,7 @@ public interface IMetadataParserASDocDelegate IASDocComment afterDefinition(IDocumentableDefinitionNode definitionNode); /** - * Called by the {@link MetadataParser} after parsing a meta-data tag + * Called by the MetadataParser after parsing a meta-data tag * that should prevent the current ASDoc comment from attaching to any * subsequent meta-data tag. * @@ -59,7 +58,7 @@ public interface IMetadataParserASDocDelegate void clearMetadataComment(String metaDataTagName); /** - * Called by the {@link MetadataParser} any time a meta-data tag is + * Called by the MetadataParser any time a meta-data tag is * parsed. * * @param metaDataEndOffset The end offset of the meta-data tag that has diff --git a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IPackageDITAParser.java b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IPackageDITAParser.java similarity index 93% rename from compiler/src/main/java/org/apache/royale/compiler/asdoc/IPackageDITAParser.java rename to compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IPackageDITAParser.java index 3d888c3..da7c651 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/asdoc/IPackageDITAParser.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/asdoc/IPackageDITAParser.java @@ -22,10 +22,9 @@ package org.apache.royale.compiler.asdoc; import java.io.InputStream; import org.apache.royale.swc.dita.IDITAList; -import org.apache.royale.swc.io.SWCReader; /** - * Interface used by {@link SWCReader} to parse DITA files containing ASDoc + * Interface used by SWCReader to parse DITA files containing ASDoc * information in SWCs. */ public interface IPackageDITAParser diff --git a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java b/compiler-common/src/main/java/org/apache/royale/compiler/caches/IAssetTagCache.java similarity index 82% copy from compiler/src/main/java/org/apache/royale/swf/types/IDataType.java copy to compiler-common/src/main/java/org/apache/royale/compiler/caches/IAssetTagCache.java index 3111980..2848693 100644 --- a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/caches/IAssetTagCache.java @@ -1,3 +1,4 @@ + /* * * Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,12 +18,12 @@ * */ -package org.apache.royale.swf.types; +package org.apache.royale.compiler.caches; /** - * The interface for all SWF data types. + * {@code IAssetTagCache} is a cache of asset tags used by ISWCManager */ -public interface IDataType +public interface IAssetTagCache { - + // TODO populate with methods } diff --git a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java b/compiler-common/src/main/java/org/apache/royale/compiler/caches/ICSSDocumentCache.java similarity index 78% copy from compiler/src/main/java/org/apache/royale/swf/types/IDataType.java copy to compiler-common/src/main/java/org/apache/royale/compiler/caches/ICSSDocumentCache.java index 3111980..2f9140c 100644 --- a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/caches/ICSSDocumentCache.java @@ -17,12 +17,13 @@ * */ -package org.apache.royale.swf.types; +package org.apache.royale.compiler.caches; /** - * The interface for all SWF data types. + * {@code ISWCManager} is a repository of SWC library models. It has all the SWC + * libraries shared within a workspace. */ -public interface IDataType +public interface ICSSDocumentCache { - + // TODO populate with methods } diff --git a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java b/compiler-common/src/main/java/org/apache/royale/compiler/caches/IFileScopeCache.java similarity index 82% copy from compiler/src/main/java/org/apache/royale/swf/types/IDataType.java copy to compiler-common/src/main/java/org/apache/royale/compiler/caches/IFileScopeCache.java index 3111980..c6812a7 100644 --- a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/caches/IFileScopeCache.java @@ -17,12 +17,12 @@ * */ -package org.apache.royale.swf.types; +package org.apache.royale.compiler.caches; /** - * The interface for all SWF data types. + * {@code IFileScopeCache} is a cache of FileScopes used by ISWCManager. */ -public interface IDataType +public interface IFileScopeCache { - + // TODO populate with methods } diff --git a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java b/compiler-common/src/main/java/org/apache/royale/compiler/caches/ISWFCache.java similarity index 83% copy from compiler/src/main/java/org/apache/royale/swf/types/IDataType.java copy to compiler-common/src/main/java/org/apache/royale/compiler/caches/ISWFCache.java index 3111980..1b75f1f 100644 --- a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/caches/ISWFCache.java @@ -17,12 +17,11 @@ * */ -package org.apache.royale.swf.types; +package org.apache.royale.compiler.caches; /** - * The interface for all SWF data types. - */ -public interface IDataType + * {@code ISWFCache} is a cache of SWFs used by ISWCManager */ +public interface ISWFCache { - + // TODO populate with methods } diff --git a/compiler/src/main/java/org/apache/royale/compiler/clients/problems/IProblemFilter.java b/compiler-common/src/main/java/org/apache/royale/compiler/clients/problems/IProblemFilter.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/clients/problems/IProblemFilter.java rename to compiler-common/src/main/java/org/apache/royale/compiler/clients/problems/IProblemFilter.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/clients/problems/ProblemFormatter.java b/compiler-common/src/main/java/org/apache/royale/compiler/clients/problems/ProblemFormatter.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/clients/problems/ProblemFormatter.java rename to compiler-common/src/main/java/org/apache/royale/compiler/clients/problems/ProblemFormatter.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/clients/problems/ProblemPrinter.java b/compiler-common/src/main/java/org/apache/royale/compiler/clients/problems/ProblemPrinter.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/clients/problems/ProblemPrinter.java rename to compiler-common/src/main/java/org/apache/royale/compiler/clients/problems/ProblemPrinter.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/ASModifier.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/ASModifier.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/ASModifier.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/ASModifier.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/DependencyType.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/DependencyType.java similarity index 97% rename from compiler/src/main/java/org/apache/royale/compiler/common/DependencyType.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/DependencyType.java index 4063aac..17282d6 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/common/DependencyType.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/common/DependencyType.java @@ -19,12 +19,10 @@ package org.apache.royale.compiler.common; -import org.apache.royale.compiler.internal.projects.DependencyGraph; - /** * An enumeration representing the four types of dependencies that an - * edge in a {@link DependencyGraph} can have. + * edge in a DependencyGraph can have. */ public enum DependencyType { diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/DependencyTypeSet.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/DependencyTypeSet.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/DependencyTypeSet.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/DependencyTypeSet.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/IDecoration.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/IDecoration.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/IDecoration.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/IDecoration.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/IFileSpecificationGetter.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/IFileSpecificationGetter.java similarity index 93% rename from compiler/src/main/java/org/apache/royale/compiler/common/IFileSpecificationGetter.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/IFileSpecificationGetter.java index 854ffb7..e18c230 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/common/IFileSpecificationGetter.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/common/IFileSpecificationGetter.java @@ -19,7 +19,6 @@ package org.apache.royale.compiler.common; -import org.apache.royale.compiler.filespecs.FileSpecification; import org.apache.royale.compiler.filespecs.IFileSpecification; import org.apache.royale.compiler.workspaces.IWorkspace; @@ -32,7 +31,7 @@ public interface IFileSpecificationGetter /** * Returns the most recent {@link IFileSpecification} given to the * implementation for a specified path. If the implementation has not seen - * the specified path before, a new {@link FileSpecification} is returned. + * the specified path before, a new FileSpecification is returned. * * @param fileName Normalized absolute file name for which a * {@link IFileSpecification} should be returned. diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/IImportTarget.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/IImportTarget.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/IImportTarget.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/IImportTarget.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/IMetaInfo.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/IMetaInfo.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/IMetaInfo.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/IMetaInfo.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/ISourceLocation.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/ISourceLocation.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/ISourceLocation.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/ISourceLocation.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/ModifiersSet.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/ModifiersSet.java similarity index 96% rename from compiler/src/main/java/org/apache/royale/compiler/common/ModifiersSet.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/ModifiersSet.java index 973e7cd..dabf14f 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/common/ModifiersSet.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/common/ModifiersSet.java @@ -21,7 +21,7 @@ package org.apache.royale.compiler.common; import java.util.ArrayList; -import org.apache.royale.compiler.internal.tree.as.ModifierNode; +import org.apache.royale.compiler.tree.as.IModifierNode; /** * Map for holding a set of modifiers @@ -53,7 +53,7 @@ public class ModifiersSet * * @param modifier token holding modifier keyword */ - public void addModifier(ModifierNode modifier) + public void addModifier(IModifierNode modifier) { if (modifier.getModifier() != null) { diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/MutablePrefixMap.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/MutablePrefixMap.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/MutablePrefixMap.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/MutablePrefixMap.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/PrefixMap.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/PrefixMap.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/PrefixMap.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/PrefixMap.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/SourceLocation.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/SourceLocation.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/SourceLocation.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/SourceLocation.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/common/XMLName.java b/compiler-common/src/main/java/org/apache/royale/compiler/common/XMLName.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/common/XMLName.java rename to compiler-common/src/main/java/org/apache/royale/compiler/common/XMLName.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/constants/IASKeywordConstants.java b/compiler-common/src/main/java/org/apache/royale/compiler/constants/IASKeywordConstants.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/constants/IASKeywordConstants.java rename to compiler-common/src/main/java/org/apache/royale/compiler/constants/IASKeywordConstants.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/constants/IASLanguageConstants.java b/compiler-common/src/main/java/org/apache/royale/compiler/constants/IASLanguageConstants.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/constants/IASLanguageConstants.java rename to compiler-common/src/main/java/org/apache/royale/compiler/constants/IASLanguageConstants.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IDefinition.java similarity index 99% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IDefinition.java index 5defbbc..21f225b 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/definitions/IDefinition.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IDefinition.java @@ -29,7 +29,6 @@ import org.apache.royale.compiler.definitions.references.INamespaceReference; import org.apache.royale.compiler.definitions.references.IReference; import org.apache.royale.compiler.projects.ICompilerProject; import org.apache.royale.compiler.scopes.IASScope; -import org.apache.royale.compiler.tree.as.IClassNode; import org.apache.royale.compiler.tree.as.IDefinitionNode; import org.apache.royale.compiler.tree.metadata.IMetaTagNode; @@ -445,7 +444,7 @@ public interface IDefinition * <p> * More specific definition interfaces such as {@link IClassDefinition} * redeclare this method to return a more specific node interface such as - * {@link IClassNode}. + * IClassNode. */ IDefinitionNode getNode(); diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IDocumentableDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IDocumentableDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IDocumentableDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IDocumentableDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IFunctionDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IFunctionDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IFunctionDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IFunctionDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IInterfaceDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IInterfaceDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IInterfaceDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IInterfaceDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IMemberedDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IMemberedDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IMemberedDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IMemberedDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/INamespaceDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/INamespaceDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/INamespaceDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/INamespaceDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IParameterDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IParameterDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IParameterDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IParameterDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IQualifiers.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IQualifiers.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IQualifiers.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IQualifiers.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IScopedDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IScopedDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IScopedDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IScopedDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/ITypeDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/ITypeDefinition.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/ITypeDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/ITypeDefinition.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/IVariableDefinition.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IVariableDefinition.java similarity index 93% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/IVariableDefinition.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/IVariableDefinition.java index 68fbb6b..445aae1 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/definitions/IVariableDefinition.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/IVariableDefinition.java @@ -19,7 +19,6 @@ package org.apache.royale.compiler.definitions; -import org.apache.royale.compiler.internal.projects.RoyaleProject; import org.apache.royale.compiler.projects.ICompilerProject; import org.apache.royale.compiler.tree.as.IVariableNode; @@ -140,7 +139,7 @@ public interface IVariableDefinition extends IDocumentableDefinition * specified type for the array elements. Otherwise, it returns * <code>null</code>. */ - String getArrayElementType(RoyaleProject project); + String getArrayElementType(ICompilerProject project); /** * If this {@code IVariableDefinition} is of type @@ -148,7 +147,7 @@ public interface IVariableDefinition extends IDocumentableDefinition * metadata, this method returns the specified type for the deferred * instance. Otherwise, it returns <code>null</code>. */ - String getInstanceType(RoyaleProject project); + String getInstanceType(ICompilerProject project); /** * If this {@code IVariableDefinition} has @@ -156,26 +155,26 @@ public interface IVariableDefinition extends IDocumentableDefinition * this method returns the specified property name. * Otherwise, it returns <code>null</code> */ - String getPercentProxy(RoyaleProject project); + String getPercentProxy(ICompilerProject project); /** * If this {@code IVariableDefinition} has <code>[RichTextContent]</code> * metadata, this method returns <code>true</code> Otherwise, it returns * <code>false</code> */ - boolean hasRichTextContent(RoyaleProject project); + boolean hasRichTextContent(ICompilerProject project); /** * If this {@code IVariableDefinition} has <code>[CollapseWhiteSpace]</code> * metadata, this method returns <code>true</code> Otherwise, it returns * <code>false</code> */ - boolean hasCollapseWhiteSpace(RoyaleProject project); + boolean hasCollapseWhiteSpace(ICompilerProject project); /** * Returns <code>true</code> if this {@code IVariableDefinition} has * <code>[Inspectable(...)]</code> metadata that specifies * <code>format="Color"</code> Otherwise, returns <code>false</code>. */ - boolean isColor(RoyaleProject project); + boolean isColor(ICompilerProject project); } diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/metadata/IDeprecationInfo.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/metadata/IDeprecationInfo.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/metadata/IDeprecationInfo.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/metadata/IDeprecationInfo.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTag.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTag.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTag.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTagAttribute.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTagAttribute.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTagAttribute.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/metadata/IMetaTagAttribute.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceReference.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceReference.java similarity index 91% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceReference.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceReference.java index db19f5e..b68db19 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceReference.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceReference.java @@ -19,10 +19,8 @@ package org.apache.royale.compiler.definitions.references; -import org.apache.royale.abc.semantics.Namespace; import org.apache.royale.compiler.definitions.INamespaceDefinition; import org.apache.royale.compiler.projects.ICompilerProject; -import org.apache.royale.compiler.units.ICompilationUnit; /** * INamespaceReferences are used in the symbol table to represent @@ -49,7 +47,7 @@ public interface INamespaceReference /** * Resolves this namespace reference to a namespace definition. * @param project {@link ICompilerProject} whose symbol table will be used to resolve - * references across {@link ICompilationUnit}'s. + * references across ICompilationUnits. * @return The {@link INamespaceDefinition} representing the definition of the namespace. */ INamespaceDefinition resolveNamespaceReference(ICompilerProject project); @@ -58,6 +56,4 @@ public interface INamespaceReference String getBaseName(); boolean isPublicOrInternalNamespace(); - - Namespace resolveAETNamespace(ICompilerProject project); } diff --git a/compiler/src/main/java/org/apache/royale/compiler/definitions/references/IReference.java b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/references/IReference.java similarity index 88% rename from compiler/src/main/java/org/apache/royale/compiler/definitions/references/IReference.java rename to compiler-common/src/main/java/org/apache/royale/compiler/definitions/references/IReference.java index 17f7a2a..4326da4 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/definitions/references/IReference.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/definitions/references/IReference.java @@ -19,7 +19,6 @@ package org.apache.royale.compiler.definitions.references; -import org.apache.royale.abc.semantics.Name; import org.apache.royale.compiler.common.DependencyType; import org.apache.royale.compiler.definitions.IDefinition; import org.apache.royale.compiler.internal.scopes.ASScope; @@ -77,13 +76,4 @@ public interface IReference */ String getDisplayString(); - /** - * Gets the AET {link Name} that this reference represents in the given - * project and scope. - * - * @param project The project where the reference is used. - * @param scope The scope where the reference is used from. - * @return An AET {@link Name} representing this reference - */ - Name getMName(ICompilerProject project, ASScope scope); } diff --git a/compiler/src/main/java/org/apache/royale/compiler/filespecs/IFileSpecification.java b/compiler-common/src/main/java/org/apache/royale/compiler/filespecs/IFileSpecification.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/filespecs/IFileSpecification.java rename to compiler-common/src/main/java/org/apache/royale/compiler/filespecs/IFileSpecification.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect.java b/compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect.java similarity index 95% rename from compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect.java rename to compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect.java index e23f736..c5ffba2 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect.java @@ -27,7 +27,7 @@ import com.google.common.collect.ImmutableMap; import org.apache.royale.compiler.common.PrefixMap; import org.apache.royale.compiler.common.XMLName; -import org.apache.royale.compiler.internal.projects.RoyaleProject; +import org.apache.royale.compiler.projects.ICompilerProject; import org.apache.royale.compiler.mxml.IMXMLLanguageConstants; /** @@ -571,72 +571,72 @@ public abstract class MXMLDialect /** * Parses an ActionScript <code>Boolean</code> value from a string. * - * @param project The {@link RoyaleProject} within which the MXML is being + * @param project The {@link ICompilerProject} within which the MXML is being * parsed. * @param s The string to be parsed. * @param flags A set of flags controlling the text parsing. * @return A Java <code>Boolean</code> representing the ActionScript * <code>Boolean</code>, or <code>null</code>. */ - public abstract Boolean parseBoolean(RoyaleProject project, String s, + public abstract Boolean parseBoolean(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags); /** * Parses an ActionScript <code>int</code> value from a string. * - * @param project The {@link RoyaleProject} within which the MXML is being + * @param project The {@link ICompilerProject} within which the MXML is being * parsed. * @param s The string to be parsed. * @param flags A set of flags controlling the text parsing. * @return A Java <code>Integer</code> representing the ActionScript * <code>int</code>, or <code>null</code>. */ - public abstract Integer parseInt(RoyaleProject project, String s, + public abstract Integer parseInt(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags); /** * Parses an ActionScript <code>uint</code> value from a string. * - * @param project The {@link RoyaleProject} within which the MXML is being + * @param project The {@link ICompilerProject} within which the MXML is being * parsed. * @param s The string to be parsed. * @param flags A set of flags controlling the text parsing. * @return A Java <code>Long</code> representing the ActionScript * <code>uint</code>, or <code>null</code>. */ - public abstract Long parseUint(RoyaleProject project, String s, + public abstract Long parseUint(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags); /** * Parses an ActionScript <code>Number</code> value from a string. * - * @param project The {@link RoyaleProject} within which the MXML is being + * @param project The {@link ICompilerProject} within which the MXML is being * parsed. * @param s The string to be parsed. * @param flags A set of flags controlling the text parsing. * @return A Java <code>Number</code> representing the ActionScript * <code>Number</code>, or <code>null</code>. */ - public abstract Number parseNumber(RoyaleProject project, String s, + public abstract Number parseNumber(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags); /** * Parses an ActionScript <code>String</code> value from a string. * - * @param project The {@link RoyaleProject} within which the MXML is being + * @param project The {@link ICompilerProject} within which the MXML is being * parsed. * @param s The string to be parsed. * @param flags A set of flags controlling the text parsing. * @return A Java <code>String</code> representing the ActionScript * <code>String</code>, or <code>null</code>. */ - public abstract String parseString(RoyaleProject project, String s, + public abstract String parseString(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags); /** * Parses an ActionScript <code>Array</code> value from a string. * - * @param project The {@link RoyaleProject} within which the MXML is being + * @param project The {@link ICompilerProject} within which the MXML is being * parsed. * @param s The string to be parsed. * @param flags A set of flags controlling the text parsing. @@ -644,20 +644,20 @@ public abstract class MXMLDialect * representing the elements of the ActionScript <code>Array</code>, or * <code>null</code>. */ - public abstract List<Object> parseArray(RoyaleProject project, String s, + public abstract List<Object> parseArray(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags); /** * Parses an ActionScript value from a string. * - * @param project The {@link RoyaleProject} within which the MXML is being + * @param project The {@link ICompilerProject} within which the MXML is being * parsed. * @param s The string to be parsed. * @param flags A set of flags controlling the text parsing. * @return A Java <code>Object</code> representing the ActionScript value, * or <code>null</code>. */ - public abstract Object parseObject(RoyaleProject project, String s, + public abstract Object parseObject(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags); /** diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2006.java b/compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2006.java similarity index 95% rename from compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2006.java rename to compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2006.java index a3ce153..53406a0 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2006.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2006.java @@ -25,7 +25,7 @@ import java.util.List; import org.apache.royale.compiler.common.XMLName; import org.apache.royale.compiler.constants.IASLanguageConstants; -import org.apache.royale.compiler.internal.projects.RoyaleProject; +import org.apache.royale.compiler.projects.ICompilerProject; import org.apache.royale.compiler.mxml.IMXMLLanguageConstants; /** @@ -149,7 +149,7 @@ public class MXMLDialect2006 extends MXMLDialect } @Override - public Boolean parseBoolean(RoyaleProject project, String s, + public Boolean parseBoolean(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { s = trim(s); @@ -165,7 +165,7 @@ public class MXMLDialect2006 extends MXMLDialect } @Override - public Integer parseInt(RoyaleProject project, String s, + public Integer parseInt(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { s = trim(s); @@ -197,7 +197,7 @@ public class MXMLDialect2006 extends MXMLDialect } @Override - public Long parseUint(RoyaleProject project, String s, + public Long parseUint(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { s = trim(s); @@ -232,7 +232,7 @@ public class MXMLDialect2006 extends MXMLDialect } @Override - public Number parseNumber(RoyaleProject project, String s, + public Number parseNumber(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { // Don't parse Numbers with leading zeros, which are not octal. @@ -256,7 +256,7 @@ public class MXMLDialect2006 extends MXMLDialect } @Override - public String parseString(RoyaleProject project, String s, + public String parseString(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { if (flags != null && flags.contains(TextParsingFlags.COLLAPSE_WHITE_SPACE)) @@ -266,7 +266,7 @@ public class MXMLDialect2006 extends MXMLDialect } @Override - public List<Object> parseArray(RoyaleProject project, String s, + public List<Object> parseArray(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { if (flags != null && flags.contains(TextParsingFlags.ALLOW_ARRAY)) @@ -363,7 +363,7 @@ public class MXMLDialect2006 extends MXMLDialect } @Override - public Object parseObject(RoyaleProject project, String s, + public Object parseObject(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { String trimmed = trim(s); diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2009.java b/compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2009.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2009.java rename to compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2009.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2012.java b/compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2012.java similarity index 95% rename from compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2012.java rename to compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2012.java index 6460890..47b968f 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2012.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/internal/mxml/MXMLDialect2012.java @@ -22,7 +22,7 @@ package org.apache.royale.compiler.internal.mxml; import java.util.EnumSet; import org.apache.royale.compiler.constants.IASLanguageConstants; -import org.apache.royale.compiler.internal.projects.RoyaleProject; +import org.apache.royale.compiler.projects.ICompilerProject; import org.apache.royale.compiler.mxml.IMXMLLanguageConstants; /** @@ -89,7 +89,7 @@ public class MXMLDialect2012 extends MXMLDialect2009 } @Override - public Boolean parseBoolean(RoyaleProject project, String s, EnumSet<TextParsingFlags> flags) + public Boolean parseBoolean(ICompilerProject project, String s, EnumSet<TextParsingFlags> flags) { // Unlike 2006 and 2009, 2012 recognizes only lowercase true and false. diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/parsing/ISourceFragment.java b/compiler-common/src/main/java/org/apache/royale/compiler/internal/parsing/ISourceFragment.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/internal/parsing/ISourceFragment.java rename to compiler-common/src/main/java/org/apache/royale/compiler/internal/parsing/ISourceFragment.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLData.java b/compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLData.java similarity index 94% rename from compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLData.java rename to compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLData.java index 00d8420..7da045a 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLData.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLData.java @@ -23,7 +23,6 @@ import java.util.Collection; import org.apache.royale.compiler.common.PrefixMap; import org.apache.royale.compiler.filespecs.IFileSpecification; -import org.apache.royale.compiler.internal.mxml.MXMLData; import org.apache.royale.compiler.internal.mxml.MXMLDialect; import org.apache.royale.compiler.problems.ICompilerProblem; @@ -38,14 +37,14 @@ import org.apache.royale.compiler.problems.ICompilerProblem; public interface IMXMLData { /** - * Gets the file on disk that created this {@link MXMLData}. + * Gets the file on disk that created this MXMLData. * * @return The file as an {@code IFileSpecification}. */ IFileSpecification getFileSpecification(); /** - * Gets the path to the file on disk that created this {@link MXMLData}. + * Gets the path to the file on disk that created this MXMLData. * * @return The path as a {@code String}. */ @@ -86,7 +85,7 @@ public interface IMXMLData /** * Gets the compiler problems found during the creation of this - * {@code MXMLData}. + * MXMLData * * @return A collection of {@code ICompilerProblem} objects. */ diff --git a/compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLDataManager.java b/compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLDataManager.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLDataManager.java rename to compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLDataManager.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLLanguageConstants.java b/compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLLanguageConstants.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLLanguageConstants.java rename to compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLLanguageConstants.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagAttributeData.java b/compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagAttributeData.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagAttributeData.java rename to compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagAttributeData.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagData.java b/compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagData.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagData.java rename to compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLTagData.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLUnitData.java b/compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLUnitData.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/mxml/IMXMLUnitData.java rename to compiler-common/src/main/java/org/apache/royale/compiler/mxml/IMXMLUnitData.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/parsing/IASToken.java b/compiler-common/src/main/java/org/apache/royale/compiler/parsing/IASToken.java similarity index 89% rename from compiler/src/main/java/org/apache/royale/compiler/parsing/IASToken.java rename to compiler-common/src/main/java/org/apache/royale/compiler/parsing/IASToken.java index c86544c..d2ba7d3 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/parsing/IASToken.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/parsing/IASToken.java @@ -20,7 +20,6 @@ package org.apache.royale.compiler.parsing; import org.apache.royale.compiler.common.ISourceLocation; -import org.apache.royale.compiler.internal.parsing.as.ASTokenTypes; /** * A token returned back by an {@link IASTokenizer} created when we scan text @@ -73,8 +72,20 @@ public interface IASToken extends ICMToken, ISourceLocation /** * @return True if this token is a multi-line comment such as - * {@link ASTokenTypes#TOKEN_ASDOC_COMMENT} and - * {@link ASTokenTypes#HIDDEN_TOKEN_MULTI_LINE_COMMENT}. + * ASTokenTypes#TOKEN_ASDOC_COMMENT and + * ASTokenTypes#HIDDEN_TOKEN_MULTI_LINE_COMMENT. */ boolean isMultiLineComment(); + + /** + * @return Local start offset. + */ + int getLocalStart(); + + /** + * @return Local end offset. + */ + int getLocalEnd(); + + } diff --git a/compiler/src/main/java/org/apache/royale/compiler/parsing/ICMToken.java b/compiler-common/src/main/java/org/apache/royale/compiler/parsing/ICMToken.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/parsing/ICMToken.java rename to compiler-common/src/main/java/org/apache/royale/compiler/parsing/ICMToken.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/CompilerProblem.java b/compiler-common/src/main/java/org/apache/royale/compiler/problems/CompilerProblem.java similarity index 97% rename from compiler/src/main/java/org/apache/royale/compiler/problems/CompilerProblem.java rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/CompilerProblem.java index 93b0b4a..618933f 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/problems/CompilerProblem.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/problems/CompilerProblem.java @@ -22,7 +22,7 @@ package org.apache.royale.compiler.problems; import org.apache.royale.compiler.clients.problems.ProblemFormatter; import org.apache.royale.compiler.common.ISourceLocation; import org.apache.royale.compiler.definitions.IDefinition; -import org.apache.royale.compiler.internal.parsing.as.ASToken; +import org.apache.royale.compiler.parsing.IASToken; import org.apache.royale.compiler.problems.annotations.DefaultSeverity; import org.apache.royale.compiler.problems.annotations.ProblemClassification; import org.apache.royale.utils.FilenameNormalization; @@ -173,11 +173,11 @@ public abstract class CompilerProblem implements ICompilerProblem } /** - * Constructor for a problem associated with an {@link ASToken}. + * Constructor for a problem associated with an {@link IASToken}. * - * @param site The {@link ASToken} where the problem occurred. + * @param site The {@link IASToken} where the problem occurred. */ - public CompilerProblem(ASToken site) + public CompilerProblem(IASToken site) { this(site.getSourcePath(), site.getLocalStart(), site.getLocalEnd(), diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/CompilerProblemClassification.java b/compiler-common/src/main/java/org/apache/royale/compiler/problems/CompilerProblemClassification.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/problems/CompilerProblemClassification.java rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/CompilerProblemClassification.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/CompilerProblemSeverity.java b/compiler-common/src/main/java/org/apache/royale/compiler/problems/CompilerProblemSeverity.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/problems/CompilerProblemSeverity.java rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/CompilerProblemSeverity.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/ICompilerProblem.java b/compiler-common/src/main/java/org/apache/royale/compiler/problems/ICompilerProblem.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/problems/ICompilerProblem.java rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/ICompilerProblem.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/UnexpectedExceptionProblem.java b/compiler-common/src/main/java/org/apache/royale/compiler/problems/UnexpectedExceptionProblem.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/problems/UnexpectedExceptionProblem.java rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/UnexpectedExceptionProblem.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/annotations/DefaultSeverity.java b/compiler-common/src/main/java/org/apache/royale/compiler/problems/annotations/DefaultSeverity.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/problems/annotations/DefaultSeverity.java rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/annotations/DefaultSeverity.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/annotations/ProblemClassification.java b/compiler-common/src/main/java/org/apache/royale/compiler/problems/annotations/ProblemClassification.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/problems/annotations/ProblemClassification.java rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/annotations/ProblemClassification.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/annotations/package.html b/compiler-common/src/main/java/org/apache/royale/compiler/problems/annotations/package.html similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/problems/annotations/package.html rename to compiler-common/src/main/java/org/apache/royale/compiler/problems/annotations/package.html diff --git a/compiler/src/main/java/org/apache/royale/compiler/projects/ICompilerProject.java b/compiler-common/src/main/java/org/apache/royale/compiler/projects/ICompilerProject.java similarity index 96% rename from compiler/src/main/java/org/apache/royale/compiler/projects/ICompilerProject.java rename to compiler-common/src/main/java/org/apache/royale/compiler/projects/ICompilerProject.java index 2bfb326..62fc5fb 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/projects/ICompilerProject.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/projects/ICompilerProject.java @@ -28,8 +28,6 @@ import org.apache.royale.compiler.constants.IASLanguageConstants; import org.apache.royale.compiler.definitions.IDefinition; import org.apache.royale.compiler.definitions.IFunctionDefinition; import org.apache.royale.compiler.definitions.ITypeDefinition; -import org.apache.royale.compiler.internal.definitions.FunctionDefinition; -import org.apache.royale.compiler.internal.scopes.ASScope; import org.apache.royale.compiler.problems.ICompilerProblem; import org.apache.royale.compiler.scopes.IASScope; import org.apache.royale.compiler.targets.ISWFTarget; @@ -210,7 +208,7 @@ public interface ICompilerProject * @param def2 The other possibility. * @return null if still ambiguous or else def1 or def2. */ - IDefinition doubleCheckAmbiguousDefinition(ASScope scope, String name, IDefinition def1, IDefinition def2); + IDefinition doubleCheckAmbiguousDefinition(IASScope scope, String name, IDefinition def1, IDefinition def2); /** @@ -241,7 +239,7 @@ public interface ICompilerProject * @param func The function being called. * @return True if valid */ - boolean isValidTypeConversion(IASNode node, IDefinition actualDefinition, IDefinition expectedDefinition, FunctionDefinition func); + boolean isValidTypeConversion(IASNode node, IDefinition actualDefinition, IDefinition expectedDefinition, IFunctionDefinition func); /** * @param functionDefinition diff --git a/compiler/src/main/java/org/apache/royale/compiler/scopes/IASScope.java b/compiler-common/src/main/java/org/apache/royale/compiler/scopes/IASScope.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/scopes/IASScope.java rename to compiler-common/src/main/java/org/apache/royale/compiler/scopes/IASScope.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/scopes/IDefinitionSet.java b/compiler-common/src/main/java/org/apache/royale/compiler/scopes/IDefinitionSet.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/scopes/IDefinitionSet.java rename to compiler-common/src/main/java/org/apache/royale/compiler/scopes/IDefinitionSet.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/ASTNodeID.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/ASTNodeID.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/ASTNodeID.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/ASTNodeID.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IASNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IASNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IASNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IASNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IContainerNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IContainerNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IContainerNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IContainerNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IDefinitionNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IDefinitionNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IDefinitionNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IDefinitionNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IDocumentableDefinitionNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IDocumentableDefinitionNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IDocumentableDefinitionNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IDocumentableDefinitionNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IExpressionNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IExpressionNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IExpressionNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IExpressionNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IFunctionNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IFunctionNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IFunctionNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IFunctionNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IImportNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IImportNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IImportNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IImportNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IModifierNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IModifierNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IModifierNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IModifierNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/INamespaceNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/INamespaceNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/INamespaceNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/INamespaceNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IParameterNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IParameterNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IParameterNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IParameterNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IScopedDefinitionNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IScopedDefinitionNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IScopedDefinitionNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IScopedDefinitionNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IScopedNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IScopedNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IScopedNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IScopedNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/ITypeNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/ITypeNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/ITypeNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/ITypeNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/as/IVariableNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IVariableNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/as/IVariableNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/as/IVariableNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagsNode.java b/compiler-common/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagsNode.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagsNode.java rename to compiler-common/src/main/java/org/apache/royale/compiler/tree/metadata/IMetaTagsNode.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/workspaces/IInvalidationListener.java b/compiler-common/src/main/java/org/apache/royale/compiler/workspaces/IInvalidationListener.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/workspaces/IInvalidationListener.java rename to compiler-common/src/main/java/org/apache/royale/compiler/workspaces/IInvalidationListener.java diff --git a/compiler/src/main/java/org/apache/royale/compiler/workspaces/IWorkspace.java b/compiler-common/src/main/java/org/apache/royale/compiler/workspaces/IWorkspace.java similarity index 95% rename from compiler/src/main/java/org/apache/royale/compiler/workspaces/IWorkspace.java rename to compiler-common/src/main/java/org/apache/royale/compiler/workspaces/IWorkspace.java index 2e0a6b6..10abcdb 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/workspaces/IWorkspace.java +++ b/compiler-common/src/main/java/org/apache/royale/compiler/workspaces/IWorkspace.java @@ -27,7 +27,6 @@ import java.util.Set; import org.apache.royale.compiler.asdoc.IASDocDelegate; import org.apache.royale.compiler.common.IFileSpecificationGetter; import org.apache.royale.compiler.filespecs.IFileSpecification; -import org.apache.royale.compiler.internal.parsing.as.ASParser; import org.apache.royale.compiler.mxml.IMXMLDataManager; import org.apache.royale.compiler.projects.ICompilerProject; import org.apache.royale.compiler.units.ICompilationUnit; @@ -193,19 +192,19 @@ public interface IWorkspace extends IFileSpecificationGetter /** * Gets the {@link IASDocDelegate} that instances of - * {@link ASParser} will use to record information about ASDoc comments. + * ASParser will use to record information about ASDoc comments. * * @return The {@link IASDocDelegate} that instances of - * {@link ASParser} will use to record information about ASDoc comments. + * ASParser will use to record information about ASDoc comments. */ IASDocDelegate getASDocDelegate(); /** * Sets the {@link IASDocDelegate} that instances of - * {@link ASParser} will use to record information about ASDoc comments. + * ASParser will use to record information about ASDoc comments. * * @param asDocDelegate {@link IASDocDelegate} that instances of - * {@link ASParser} will use to record information about ASDoc comments. + * ASParser will use to record information about ASDoc comments. */ void setASDocDelegate(IASDocDelegate asDocDelegate); } diff --git a/compiler/src/main/java/org/apache/royale/compiler/workspaces/IWorkspaceProfilingDelegate.java b/compiler-common/src/main/java/org/apache/royale/compiler/workspaces/IWorkspaceProfilingDelegate.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/compiler/workspaces/IWorkspaceProfilingDelegate.java rename to compiler-common/src/main/java/org/apache/royale/compiler/workspaces/IWorkspaceProfilingDelegate.java diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWC.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWC.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swc/ISWC.java rename to compiler-common/src/main/java/org/apache/royale/swc/ISWC.java diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCComponent.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWCComponent.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swc/ISWCComponent.java rename to compiler-common/src/main/java/org/apache/royale/swc/ISWCComponent.java diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCDigest.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWCDigest.java similarity index 100% copy from compiler/src/main/java/org/apache/royale/swc/ISWCDigest.java copy to compiler-common/src/main/java/org/apache/royale/swc/ISWCDigest.java diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCFileEntry.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWCFileEntry.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swc/ISWCFileEntry.java rename to compiler-common/src/main/java/org/apache/royale/swc/ISWCFileEntry.java diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCLibrary.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWCLibrary.java similarity index 93% rename from compiler/src/main/java/org/apache/royale/swc/ISWCLibrary.java rename to compiler-common/src/main/java/org/apache/royale/swc/ISWCLibrary.java index a3d0a2f..5ba7e3f 100644 --- a/compiler/src/main/java/org/apache/royale/swc/ISWCLibrary.java +++ b/compiler-common/src/main/java/org/apache/royale/swc/ISWCLibrary.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.Set; import org.apache.royale.swf.ISWF; -import org.apache.royale.swf.io.SWFReader; +import org.apache.royale.swf.io.ISWFReader; /** * Model for library definitions in a SWC file. @@ -83,10 +83,10 @@ public interface ISWCLibrary /** * Read the {@code InputStream} of the library SWF file. * - * @param swfReader containing {@code SWFReader} object + * @param swfReader containing {@code ISWFReader} object * @param swc containing {@code ISWC} object */ - void readSWFInputStream(SWFReader swfReader, ISWC swc); + void readSWFInputStream(ISWFReader swfReader, ISWC swc); /** * Get the digests of the library. diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCManager.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWCManager.java similarity index 81% rename from compiler/src/main/java/org/apache/royale/swc/ISWCManager.java rename to compiler-common/src/main/java/org/apache/royale/swc/ISWCManager.java index d2750e1..93d3ab8 100644 --- a/compiler/src/main/java/org/apache/royale/swc/ISWCManager.java +++ b/compiler-common/src/main/java/org/apache/royale/swc/ISWCManager.java @@ -21,10 +21,10 @@ package org.apache.royale.swc; import java.io.File; -import org.apache.royale.compiler.internal.caches.AssetTagCache; -import org.apache.royale.compiler.internal.caches.CSSDocumentCache; -import org.apache.royale.compiler.internal.caches.FileScopeCache; -import org.apache.royale.compiler.internal.caches.SWFCache; +import org.apache.royale.compiler.caches.IAssetTagCache; +import org.apache.royale.compiler.caches.ICSSDocumentCache; +import org.apache.royale.compiler.caches.IFileScopeCache; +import org.apache.royale.compiler.caches.ISWFCache; /** * {@code ISWCManager} is a repository of SWC library models. It has all the SWC @@ -54,25 +54,25 @@ public interface ISWCManager * * @return {@link SWFCache} */ - SWFCache getSWFCache(); + ISWFCache getSWFCache(); /** * Get file scope cache. * * @return {@link FileScopeCache} */ - FileScopeCache getFileScopeCache(); + IFileScopeCache getFileScopeCache(); /** * Get asset tags cache. * * @return {@link AssetTagCache} */ - AssetTagCache getAssetTagCache(); + IAssetTagCache getAssetTagCache(); /** * @return Cache for CSS models from a CSS file or a default CSS in a SWC * library. */ - CSSDocumentCache getCSSDocumentCache(); + ICSSDocumentCache getCSSDocumentCache(); } diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCScript.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWCScript.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swc/ISWCScript.java rename to compiler-common/src/main/java/org/apache/royale/swc/ISWCScript.java diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCVersion.java b/compiler-common/src/main/java/org/apache/royale/swc/ISWCVersion.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swc/ISWCVersion.java rename to compiler-common/src/main/java/org/apache/royale/swc/ISWCVersion.java diff --git a/compiler/src/main/java/org/apache/royale/swc/dita/IDITAEntry.java b/compiler-common/src/main/java/org/apache/royale/swc/dita/IDITAEntry.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swc/dita/IDITAEntry.java rename to compiler-common/src/main/java/org/apache/royale/swc/dita/IDITAEntry.java diff --git a/compiler/src/main/java/org/apache/royale/swc/dita/IDITAList.java b/compiler-common/src/main/java/org/apache/royale/swc/dita/IDITAList.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swc/dita/IDITAList.java rename to compiler-common/src/main/java/org/apache/royale/swc/dita/IDITAList.java diff --git a/compiler/src/main/java/org/apache/royale/swf/ISWF.java b/compiler-common/src/main/java/org/apache/royale/swf/ISWF.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/ISWF.java rename to compiler-common/src/main/java/org/apache/royale/swf/ISWF.java diff --git a/compiler/src/main/java/org/apache/royale/swf/ITagContainer.java b/compiler-common/src/main/java/org/apache/royale/swf/ITagContainer.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/ITagContainer.java rename to compiler-common/src/main/java/org/apache/royale/swf/ITagContainer.java diff --git a/compiler/src/main/java/org/apache/royale/swf/SWFFrame.java b/compiler-common/src/main/java/org/apache/royale/swf/SWFFrame.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/SWFFrame.java rename to compiler-common/src/main/java/org/apache/royale/swf/SWFFrame.java diff --git a/compiler/src/main/java/org/apache/royale/swf/TagType.java b/compiler-common/src/main/java/org/apache/royale/swf/TagType.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/TagType.java rename to compiler-common/src/main/java/org/apache/royale/swf/TagType.java diff --git a/compiler/src/main/java/org/apache/royale/swf/io/ISWFReader.java b/compiler-common/src/main/java/org/apache/royale/swf/io/ISWFReader.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/io/ISWFReader.java rename to compiler-common/src/main/java/org/apache/royale/swf/io/ISWFReader.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/DoABCTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/DoABCTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/DoABCTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/DoABCTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/EnableDebugger2Tag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/EnableDebugger2Tag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/EnableDebugger2Tag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/EnableDebugger2Tag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/EnableTelemetryTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/EnableTelemetryTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/EnableTelemetryTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/EnableTelemetryTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ExportAssetsTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/ExportAssetsTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/ExportAssetsTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/ExportAssetsTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/FrameLabelTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/FrameLabelTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/FrameLabelTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/FrameLabelTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ICharacterReferrer.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/ICharacterReferrer.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/ICharacterReferrer.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/ICharacterReferrer.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ICharacterTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/ICharacterTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/ICharacterTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/ICharacterTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/IManagedTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/IManagedTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/IManagedTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/IManagedTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ITag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/ITag.java similarity index 100% copy from compiler/src/main/java/org/apache/royale/swf/tags/ITag.java copy to compiler-common/src/main/java/org/apache/royale/swf/tags/ITag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ProductInfoTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/ProductInfoTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/ProductInfoTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/ProductInfoTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ScriptLimitsTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/ScriptLimitsTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/ScriptLimitsTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/ScriptLimitsTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ShowFrameTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/ShowFrameTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/ShowFrameTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/ShowFrameTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/SymbolClassTag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/SymbolClassTag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/SymbolClassTag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/SymbolClassTag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/Tag.java b/compiler-common/src/main/java/org/apache/royale/swf/tags/Tag.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/tags/Tag.java rename to compiler-common/src/main/java/org/apache/royale/swf/tags/Tag.java diff --git a/compiler/src/main/java/org/apache/royale/swf/types/IDataType.java b/compiler-common/src/main/java/org/apache/royale/swf/types/IDataType.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/types/IDataType.java rename to compiler-common/src/main/java/org/apache/royale/swf/types/IDataType.java diff --git a/compiler/src/main/java/org/apache/royale/swf/types/RGB.java b/compiler-common/src/main/java/org/apache/royale/swf/types/RGB.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/types/RGB.java rename to compiler-common/src/main/java/org/apache/royale/swf/types/RGB.java diff --git a/compiler/src/main/java/org/apache/royale/swf/types/RGBA.java b/compiler-common/src/main/java/org/apache/royale/swf/types/RGBA.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/types/RGBA.java rename to compiler-common/src/main/java/org/apache/royale/swf/types/RGBA.java diff --git a/compiler/src/main/java/org/apache/royale/swf/types/Rect.java b/compiler-common/src/main/java/org/apache/royale/swf/types/Rect.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/swf/types/Rect.java rename to compiler-common/src/main/java/org/apache/royale/swf/types/Rect.java diff --git a/compiler/src/main/java/org/apache/royale/utils/FilenameNormalization.java b/compiler-common/src/main/java/org/apache/royale/utils/FilenameNormalization.java similarity index 100% rename from compiler/src/main/java/org/apache/royale/utils/FilenameNormalization.java rename to compiler-common/src/main/java/org/apache/royale/utils/FilenameNormalization.java diff --git a/compiler-externc/build.xml b/compiler-externc/build.xml new file mode 100644 index 0000000..2d8a2c3 --- /dev/null +++ b/compiler-externc/build.xml @@ -0,0 +1,120 @@ +<?xml version="1.0" ?> + +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + +<project name="compiler-externc" default="main" basedir="."> + + <!-- + + PROPERTIES + + --> + + <!-- The 'compiler' property is the absolute path, with forward slashes, --> + <!-- to the 'compiler-externc' directory that contains this file. --> + <!-- All input paths are expressed as absolute paths starting with ${compiler-externc}. --> + <pathconvert property="compiler-externc" dirsep="/"> + <path location="${basedir}"/> + </pathconvert> + + <!-- Properties can be overridden locally by loading a local.properties file --> + <!-- Java 8 users probably need javadoc.params=-Xdoclint:none --> + <property file="${compiler-externc}/local.properties"/> + + <property name="src.depend" value="true"/> + + <!-- Options for <javac> tasks --> + <property name="javac.debug" value="true"/> + <property name="javac.deprecation" value="false"/> + <property name="javac.src" value="1.6"/> + + <!-- JAR manifest entries --> + <property name="manifest.sealed" value="false"/> + <property name="manifest.Implementation-Title" value="Apache Royale Compiler"/> + <property name="manifest.Implementation-Version" value="${release.version}"/> + <property name="manifest.Implementation-Vendor" value="Apache Software Foundation"/> + + <!-- label is set by CruiseControl script based on P4 label incrementer --> + <condition property="build.number" value="${env.BUILD_NUMBER}"> + <isset property="env.BUILD_NUMBER"/> + </condition> + + <!-- + <target name="compiler.test.downloads.cache" if="usingDownloadCache"> + <ant antfile="${compiler-externc}/../compiler/src/test/downloads.xml" dir="${compiler-externc}/../compiler/src/test" inheritAll="false"> + <property name="usingDownloadCache" value="${usingDownloadCache}" /> + <property name="downloadCacheFolder" value="${downloadCacheFolder}" /> + </ant> + </target> + <target name="compiler.test.downloads" depends="compiler.test.downloads.cache" unless="usingDownloadCache"> + <ant antfile="${compiler-externc}/../compiler/src/test/downloads.xml" dir="${compiler-externc}/../compiler/src/test" inheritAll="false"/> + </target> + --> + + <!-- + + EXTERNC + + --> + + <!-- + <target name="test.classes" depends="compiler.test.downloads"> + <mkdir dir="${compiler-externc}/target/classes"/> + <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-externc}/target/classes" includeAntRuntime="true" + source="${javac.src}" target="${javac.src}"> + <compilerarg value="-Xlint:all,-path,-fallthrough"/> + <src path="${compiler-externc}/src/main/java"/> + <include name="org/apache/royale/utils/*.java"/> + <classpath> + <pathelement location="${compiler-externc}/target/classes"/> + <fileset dir="${compiler-externc}/../compiler/lib/external" includes="**/*.jar"/> + </classpath> + </javac> + </target> + --> + + <target name="main" > + <mkdir dir="${compiler-externc}/target/classes"/> + <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-externc}/target/classes" includeAntRuntime="true" includes="**/*.java" + source="${javac.src}" target="${javac.src}"> + <compilerarg value="-Xlint:all,-path,-fallthrough"/> + <src path="${compiler-externc}/src/main/java"/> + <classpath> + <pathelement location="${compiler-externc}/target/classes"/> + <fileset dir="${compiler-externc}/../compiler/lib/external" includes="**/*.jar"/> + </classpath> + </javac> + </target> + + <!-- + + CLEANUP + + --> + + <target name="clean" description="clean"> + <delete dir="${compiler-externc}/target/classes"/> + </target> + + <target name="wipe" depends="clean" description="Wipes everything that didn't come from Git."> + <delete dir="${compiler-externc}/target"/> + </target> + + </project> diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/clients/EXTERNC.java b/compiler-externc/src/main/java/org/apache/royale/compiler/clients/EXTERNC.java similarity index 100% rename from compiler-jx/src/main/java/org/apache/royale/compiler/clients/EXTERNC.java rename to compiler-externc/src/main/java/org/apache/royale/compiler/clients/EXTERNC.java diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/config/ExterncConfigurator.java b/compiler-externc/src/main/java/org/apache/royale/compiler/config/ExterncConfigurator.java similarity index 100% rename from compiler-jx/src/main/java/org/apache/royale/compiler/config/ExterncConfigurator.java rename to compiler-externc/src/main/java/org/apache/royale/compiler/config/ExterncConfigurator.java diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/externals/emit/ReferenceEmitter.java b/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/externals/emit/ReferenceEmitter.java similarity index 100% rename from compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/externals/emit/ReferenceEmitter.java rename to compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/externals/emit/ReferenceEmitter.java diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/externals/pass/ReferenceCompiler.java b/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/externals/pass/ReferenceCompiler.java similarity index 100% rename from compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/externals/pass/ReferenceCompiler.java rename to compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/externals/pass/ReferenceCompiler.java diff --git a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/externals/reference/ReferenceModel.java b/compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/externals/reference/ReferenceModel.java similarity index 100% rename from compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/externals/reference/ReferenceModel.java rename to compiler-externc/src/main/java/org/apache/royale/compiler/internal/codegen/externals/reference/ReferenceModel.java diff --git a/compiler/src/main/java/org/apache/royale/swf/tags/ITag.java b/compiler/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceResolvedReference.java similarity index 69% rename from compiler/src/main/java/org/apache/royale/swf/tags/ITag.java rename to compiler/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceResolvedReference.java index b21b759..9b5bac0 100644 --- a/compiler/src/main/java/org/apache/royale/swf/tags/ITag.java +++ b/compiler/src/main/java/org/apache/royale/compiler/definitions/references/INamespaceResolvedReference.java @@ -17,19 +17,15 @@ * */ -package org.apache.royale.swf.tags; +package org.apache.royale.compiler.definitions.references; -import org.apache.royale.swf.TagType; +import org.apache.royale.abc.semantics.Namespace; +import org.apache.royale.compiler.projects.ICompilerProject; /** - * The interface for all the SWF tags. Each tag has a type code. + * INamespaceResolvedReference returns a resolved Namespace */ -public interface ITag +public interface INamespaceResolvedReference extends INamespaceReference { - /** - * Gets the tag type. - * - * @return tag type - */ - TagType getTagType(); + Namespace resolveAETNamespace(ICompilerProject project); } diff --git a/compiler/src/main/java/org/apache/royale/swc/ISWCDigest.java b/compiler/src/main/java/org/apache/royale/compiler/definitions/references/IReferenceMName.java similarity index 57% rename from compiler/src/main/java/org/apache/royale/swc/ISWCDigest.java rename to compiler/src/main/java/org/apache/royale/compiler/definitions/references/IReferenceMName.java index bc11539..0d25fc4 100644 --- a/compiler/src/main/java/org/apache/royale/swc/ISWCDigest.java +++ b/compiler/src/main/java/org/apache/royale/compiler/definitions/references/IReferenceMName.java @@ -17,32 +17,23 @@ * */ -package org.apache.royale.swc; +package org.apache.royale.compiler.definitions.references; + +import org.apache.royale.abc.semantics.Name; +import org.apache.royale.compiler.internal.scopes.ASScope; /** - * Model for {@code <digest>} tag in a SWC catalog.xml file. + * An <code>IReferenceMName</code> is for IReferences that have MNames */ -public interface ISWCDigest +public interface IReferenceMName extends IReference { /** - * Get digest type. For example: SHA-256. - * - * @return digest type - */ - String getType(); - - /** - * If the digest is signed. + * Gets the AET {link Name} that this reference represents in the given + * project and scope. * - * @return true if signed + * @param project The project where the reference is used. + * @param scope The scope where the reference is used from. + * @return An AET {@link Name} representing this reference */ - boolean isSigned(); - - /** - * Get digest value. - * - * @return digest value - */ - String getValue(); - + Name getMName(ICompilerProject project, ASScope scope); } diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/AssetTagCache.java b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/AssetTagCache.java index 5c93016..5fc66a4 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/AssetTagCache.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/AssetTagCache.java @@ -57,7 +57,7 @@ import org.apache.royale.swf.tags.SymbolClassTag; * (assets). The cache associate asset tags with QNames by looking into * {@link SymbolClassTag} entries. */ -public class AssetTagCache extends ConcurrentCacheStoreBase<AssetTagCache.AssetTagCacheValue> +public class AssetTagCache extends ConcurrentCacheStoreBase<AssetTagCache.AssetTagCacheValue> implements IAssetTagCache { /** diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/CSSDocumentCache.java b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/CSSDocumentCache.java index 8376ca0..8d3f9ce 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/CSSDocumentCache.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/CSSDocumentCache.java @@ -51,7 +51,7 @@ import com.google.common.collect.ImmutableList; * The cache key is normalized path to the SWC file (optional) and the CSS file * name inside the SWC. The cache value is an {@link ICSSDocument}. */ -public class CSSDocumentCache extends ConcurrentCacheStoreBase<ICSSDocument> +public class CSSDocumentCache extends ConcurrentCacheStoreBase<ICSSDocument> implements ICSSDocumentCache { /** diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/FileScopeCache.java b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/FileScopeCache.java index a2fa9dc..a7b1381 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/FileScopeCache.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/FileScopeCache.java @@ -40,7 +40,7 @@ import org.apache.royale.swf.tags.DoABCTag; * key-value pairs. The key is a string in the form: {@code swc/library/script}. * The value is a {@link SoftReference} to a collection of {@link ASFileScope}s. */ -public class FileScopeCache extends ConcurrentCacheStoreBase<Collection<IASScope>> +public class FileScopeCache extends ConcurrentCacheStoreBase<Collection<IASScope>> implements IFileScopeCache { /** diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/SWFCache.java b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/SWFCache.java index 74860cd..4e173e6 100644 --- a/compiler/src/main/java/org/apache/royale/compiler/internal/caches/SWFCache.java +++ b/compiler/src/main/java/org/apache/royale/compiler/internal/caches/SWFCache.java @@ -45,7 +45,7 @@ import org.apache.royale.swf.tags.SymbolClassTag; * is the URI to the SWF file. The value is a {@link SoftReference} to a * collection of SWF tags. */ -public class SWFCache extends ConcurrentCacheStoreBase<ITagContainer> +public class SWFCache extends ConcurrentCacheStoreBase<ITagContainer> implements ISWFCache { private static abstract class SWFCacheKey extends CacheStoreKeyBase -- To stop receiving notification emails like this one, please contact "commits@royale.apache.org" <commits@royale.apache.org>.