Return-Path: X-Original-To: apmail-flex-commits-archive@www.apache.org Delivered-To: apmail-flex-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D739510716 for ; Sun, 6 Apr 2014 05:39:38 +0000 (UTC) Received: (qmail 74166 invoked by uid 500); 6 Apr 2014 05:39:38 -0000 Delivered-To: apmail-flex-commits-archive@flex.apache.org Received: (qmail 74121 invoked by uid 500); 6 Apr 2014 05:39:37 -0000 Mailing-List: contact commits-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flex.apache.org Delivered-To: mailing list commits@flex.apache.org Received: (qmail 72660 invoked by uid 99); 6 Apr 2014 05:39:26 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 06 Apr 2014 05:39:26 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 12CD894B6C6; Sun, 6 Apr 2014 05:39:24 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aharui@apache.org To: commits@flex.apache.org Date: Sun, 06 Apr 2014 05:39:30 -0000 Message-Id: In-Reply-To: <1d2ac80fd95d48be816a176d2930d894@git.apache.org> References: <1d2ac80fd95d48be816a176d2930d894@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [08/26] fork a bunch of files from SDK's FB compiler integration. Several files are intact, but many have been gutted to reduce the number of files required. It appears that the Report isn't used for basic compilation, so removing all of the compilatio http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java b/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java new file mode 100644 index 0000000..1d59834 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/ConfigurationConstants.java @@ -0,0 +1,141 @@ +/* + * + * 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. + * + */ + +package flex2.tools.oem.internal; + +/** + * Contains constants for all the configuration options. + * + * @version 2.0.1 + * @author Clement Wong + */ +interface ConfigurationConstants +{ + String USE_NETWORK = "--use-network"; + String RUNTIME_SHARED_LIBRARIES = "--runtime-shared-libraries"; + String RAW_METADATA = "--raw-metadata"; + String PROJECTOR = "--projector"; + String METADATA_PUBLISHER = "--metadata.publisher"; + String METADATA_LANGUAGE = "--metadata.language"; + String METADATA_LOCALIZED_TITLE = "--metadata.localized-title"; + String METADATA_LOCALIZED_DESCRIPTION = "--metadata.localized-description"; + String METADATA_DATE = "--metadata.date"; + String METADATA_CREATOR = "--metadata.creator"; + String METADATA_CONTRIBUTOR = "--metadata.contributor"; + String LINK_REPORT = "--link-report"; + String SIZE_REPORT = "--size-report"; + String LICENSES_LICENSE = "--licenses.license"; + String INCLUDES = "--includes"; + String INCLUDE_RESOURCE_BUNDLES = "--include-resource-bundles"; + String FRAMES_FRAME = "--frames.frame"; + String LOAD_EXTERNS = "--load-externs"; + String LOAD_CONFIG = "--load-config"; + String EXTERNS = "--externs"; + String DEFAULT_SIZE = "--default-size"; + String DEFAULT_SCRIPT_LIMITS = "--default-script-limits"; + String DEFAULT_FRAME_RATE = "--default-frame-rate"; + String DEFAULT_BACKGROUND_COLOR = "--default-background-color"; + String DEBUG_PASSWORD = "--debug-password"; + String SWF_VERSION = "--swf-version"; + String COMPILER_WARN_XML_CLASS_HAS_CHANGED = "--compiler.warn-xml-class-has-changed"; + String COMPILER_WARN_UNLIKELY_FUNCTION_VALUE = "--compiler.warn-unlikely-function-value"; + String COMPILER_WARN_SLOW_TEXT_FIELD_ADDITION = "--compiler.warn-slow-text-field-addition"; + String COMPILER_WARN_SCOPING_CHANGE_IN_THIS = "--compiler.warn-scoping-change-in-this"; + String COMPILER_WARN_NUMBER_FROM_STRING_CHANGES = "--compiler.warn-number-from-string-changes"; + String COMPILER_WARN_NO_TYPE_DECL = "--compiler.warn-no-type-decl"; + String COMPILER_WARN_NO_EXPLICIT_SUPER_CALL_IN_CONSTRUCTOR = "--compiler.warn-no-explicit-super-call-in-constructor"; + String COMPILER_WARN_NO_CONSTRUCTOR = "--compiler.warn-no-constructor"; + String COMPILER_WARN_NEGATIVE_UINT_LITERAL = "--compiler.warn-negative-uint-literal"; + String COMPILER_WARN_MISSING_NAMESPACE_DECL = "--compiler.warn-missing-namespace-decl"; + String COMPILER_WARN_LEVEL_NOT_SUPPORTED = "--compiler.warn-level-not-supported"; + String COMPILER_WARN_INTERNAL_ERROR = "--compiler.warn-internal-error"; + String COMPILER_WARN_INSTANCE_OF_CHANGES = "--compiler.warn-instance-of-changes"; + String COMPILER_WARN_IMPORT_HIDES_CLASS = "--compiler.warn-import-hides-class"; + String COMPILER_WARN_FOR_VAR_IN_CHANGES = "--compiler.warn-for-var-in-changes"; + String COMPILER_WARN_DUPLICATE_VARIABLE_DEF = "--compiler.warn-duplicate-variable-def"; + String COMPILER_WARN_DUPLICATE_ARGUMENT_NAMES = "--compiler.warn-duplicate-argument-names"; + String COMPILER_WARN_DEPRECATED_PROPERTY_ERROR = "--compiler.warn-deprecated-property-error"; + String COMPILER_WARN_DEPRECATED_FUNCTION_ERROR = "--compiler.warn-deprecated-function-error"; + String COMPILER_WARN_DEPRECATED_EVENT_HANDLER_ERROR = "--compiler.warn-deprecated-event-handler-error"; + String COMPILER_WARN_CONSTRUCTOR_RETURNS_VALUE = "--compiler.warn-constructor-returns-value"; + String COMPILER_WARN_CONST_NOT_INITIALIZED = "--compiler.warn-const-not-initialized"; + String COMPILER_WARN_CLASS_IS_SEALED = "--compiler.warn-class-is-sealed"; + String COMPILER_WARN_CHANGES_IN_RESOLVE = "--compiler.warn-changes-in-resolve"; + String COMPILER_WARN_BOOLEAN_CONSTRUCTOR_WITH_NO_ARGS = "--compiler.warn-boolean-constructor-with-no-args"; + String COMPILER_WARN_BAD_UNDEFINED_COMPARISON = "--compiler.warn-bad-undefined-comparison"; + String COMPILER_WARN_BAD_NULL_COMPARISON = "--compiler.warn-bad-null-comparison"; + String COMPILER_WARN_BAD_NULL_ASSIGNMENT = "--compiler.warn-bad-null-assignment"; + String COMPILER_WARN_BAD_NAN_COMPARISON = "--compiler.warn-bad-nan-comparison"; + String COMPILER_WARN_BAD_ES3_TYPE_PROP = "--compiler.warn-bad-es3-type-prop"; + String COMPILER_WARN_BAD_ES3_TYPE_METHOD = "--compiler.warn-bad-es3-type-method"; + String COMPILER_WARN_BAD_DATE_CAST = "--compiler.warn-bad-date-cast"; + String COMPILER_WARN_BAD_BOOL_ASSIGNMENT = "--compiler.warn-bad-bool-assignment"; + String COMPILER_WARN_BAD_ARRAY_CAST = "--compiler.warn-bad-array-cast"; + String COMPILER_WARN_ASSIGNMENT_WITHIN_CONDITIONAL = "--compiler.warn-assignment-within-conditional"; + String COMPILER_WARN_ARRAY_TOSTRING_CHANGES = "--compiler.warn-array-tostring-changes"; + String COMPILER_VERBOSE_STACKTRACES = "--compiler.verbose-stacktraces"; + String COMPILER_USE_RESOURCE_BUNDLE_METADATA = "--compiler.use-resource-bundle-metadata"; + String COMPILER_THEME = "--compiler.theme"; + String COMPILER_STRICT = "--compiler.strict"; + String COMPILER_SOURCE_PATH = "--compiler.source-path"; + String COMPILER_SHOW_UNUSED_TYPE_SELECTOR_WARNINGS = "--compiler.show-unused-type-selector-warnings"; + String COMPILER_SHOW_DEPRECATION_WARNINGS = "--compiler.show-deprecation-warnings"; + String COMPILER_SHOW_SHADOWED_DEVICE_FONT_WARNINGS = "--compiler.show-shadowed-device-font-warnings"; + String COMPILER_SHOW_BINDING_WARNINGS = "--compiler.show-binding-warnings"; + String COMPILER_SHOW_ACTIONSCRIPT_WARNINGS = "--compiler.show-actionscript-warnings"; + String COMPILER_SERVICES = "--compiler.services"; + String COMPILER_OPTIMIZE = "--compiler.optimize"; + String COMPILER_NAMESPACES_NAMESPACE = "--compiler.namespaces.namespace"; + String COMPILER_MOBILE = "--compiler.mobile"; + String COMPILER_LOCALE = "--compiler.locale"; + String COMPILER_LIBRARY_PATH = "--compiler.library-path"; + String COMPILER_INCLUDE_LIBRARIES = "--compiler.include-libraries"; + String COMPILER_KEEP_GENERATED_ACTIONSCRIPT = "--compiler.keep-generated-actionscript"; + String COMPILER_KEEP_AS3_METADATA = "--compiler.keep-as3-metadata"; + String COMPILER_KEEP_ALL_TYPE_SELECTORS = "--compiler.keep-all-type-selectors"; + String COMPILER_HEADLESS_SERVER = "--compiler.headless-server"; + String COMPILER_FONTS_MAX_GLYPHS_PER_FACE = "--compiler.fonts.max-glyphs-per-face"; + String COMPILER_FONTS_MAX_CACHED_FONTS = "--compiler.fonts.max-cached-fonts"; + String COMPILER_FONTS_MANAGERS = "--compiler.fonts.managers"; + String COMPILER_FONTS_LOCAL_FONT_PATHS = "--compiler.fonts.local-font-paths"; + String COMPILER_FONTS_LOCAL_FONTS_SNAPSHOT = "--compiler.fonts.local-fonts-snapshot"; + String COMPILER_FONTS_LANGUAGES_LANGUAGE_RANGE = "--compiler.fonts.languages.language-range"; + String COMPILER_FONTS_FLASH_TYPE = "--compiler.fonts.flash-type"; + String COMPILER_FONTS_ADVANCED_ANTI_ALIASING = "--compiler.fonts.advanced-anti-aliasing"; + String COMPILER_EXTERNAL_LIBRARY_PATH = "--compiler.external-library-path"; + String COMPILER_ES = "--compiler.es"; + String COMPILER_DEFAULTS_CSS_URL = "--compiler.defaults-css-url"; + String COMPILER_DEBUG = "--compiler.debug"; + String COMPILER_COMPRESS = "--compiler.compress"; + String COMPILER_CONTEXT_ROOT = "--compiler.context-root"; + String COMPILER_AS3 = "--compiler.as3"; + String COMPILER_ALLOW_SOURCE_PATH_OVERLAP = "--compiler.allow-source-path-overlap"; + String COMPILER_ACTIONSCRIPT_FILE_ENCODING = "--compiler.actionscript-file-encoding"; + String COMPILER_ACCESSIBLE = "--compiler.accessible"; + String TARGET_PLAYER = "--target-player"; + String RUNTIME_SHARED_LIBRARY_PATH = "--runtime-shared-library-path"; + String VERIFY_DIGESTS = "--verify-digests"; + String COMPILER_COMPUTE_DIGEST = "--compute-digest"; + String COMPILER_DEFINE = "--compiler.define"; + String COMPILER_MXML_COMPATIBILITY = "--compiler.mxml.compatibility-version"; + String COMPILER_EXTENSIONS = "--compiler.extensions.extension"; + String REMOVE_UNUSED_RSLS = "--remove-unused-rsls"; + String RUNTIME_SHARED_LIBRARY_SETTINGS_FORCE_RSLS = "--runtime-shared-library-settings.force-rsls"; + String RUNTIME_SHARED_LIBRARY_SETTINGS_APPLICATION_DOMAIN = "--runtime-shared-library-settings.application-domain"; +} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java b/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java new file mode 100644 index 0000000..738eeb9 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/GenericMessage.java @@ -0,0 +1,73 @@ +/* + * + * 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. + * + */ + +package flex2.tools.oem.internal; + +import flex2.tools.oem.Message; + +/** + * A generic implementation of Message. + * + * @version 2.0.1 + * @author Clement Wong + */ +class GenericMessage implements Message +{ + GenericMessage(Message message) + { + this(message.getLevel(), message.getPath(), message.getLine(), message.getColumn(), message.toString()); + } + + GenericMessage(String level, String path, int line, int col, String message) + { + this.level = level; + this.path = path; + this.line = line; + this.col = col; + this.message = message; + } + + private String level, path, message; + private int line, col; + + public int getColumn() + { + return col; + } + + public String getLevel() + { + return level; + } + + public int getLine() + { + return line; + } + + public String getPath() + { + return path; + } + + public String toString() + { + return message; + } +} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java b/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java new file mode 100644 index 0000000..6062445 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/LibraryCompilerConfiguration.java @@ -0,0 +1,132 @@ +/* + * + * 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. + * + */ + +package flex2.tools.oem.internal; + +import java.util.HashMap; +import java.util.Map; + +import flex2.compiler.common.Configuration; +import flex2.compiler.config.ConfigurationBuffer; +import flex2.compiler.config.ConfigurationException; +import flex2.compiler.config.ConfigurationInfo; +import flex2.compiler.config.ConfigurationValue; +import flex2.tools.CompcConfiguration; + +/** + * A configuration that extends CompcConfiguration by adding options + * for -loadConfig and -compute-digest. + * + * @version 2.0.1 + * @author Clement Wong + */ +public class LibraryCompilerConfiguration extends CompcConfiguration +{ + static + { + outputRequired = false; + } + + public static Map getAliases() + { + Map map = new HashMap(); + map.putAll(Configuration.getAliases()); + map.remove("o"); + return map; + } + + protected void validateSwcInputs() throws ConfigurationException + { + // Skip validating the inputs, because they are provided via the OEM API. + } + + // + // 'generate-link-report' option + // + + private boolean generateLinkReport; + + public boolean generateLinkReport() + { + return generateLinkReport || super.generateLinkReport(); + } + + public void keepLinkReport(boolean b) + { + generateLinkReport = b; + } + + // + // 'generate-size-report' option + // + + private boolean generateSizeReport; + + public boolean generateSizeReport() + { + return generateSizeReport || super.generateSizeReport(); + } + + public void keepSizeReport(boolean b) + { + generateSizeReport = b; + } + + // + // 'load-config' option + // + + // dummy, ignored - pulled out of the buffer + public void cfgLoadConfig(ConfigurationValue cv, String filename) throws ConfigurationException + { + } + + public static ConfigurationInfo getLoadConfigInfo() + { + return new ConfigurationInfo( 1, "filename" ) + { + public boolean allowMultiple() + { + return true; + } + }; + } + + // + // compute-digest option + // + + private boolean computeDigest = true; + + public boolean getComputeDigest() + { + return computeDigest; + } + + /** + * compute-digest option + * + * @param cv + * @param b + */ + public void cfgComputeDigest(ConfigurationValue cv, boolean b) + { + computeDigest = b; + } +} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/dff3a518/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java ---------------------------------------------------------------------- diff --git a/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java b/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java new file mode 100644 index 0000000..6732574 --- /dev/null +++ b/flex-compiler-oem/src/flex2/tools/oem/internal/LinkerConfiguration.java @@ -0,0 +1,470 @@ +/* + * + * 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. + * + */ + +package flex2.tools.oem.internal; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; + +import flex2.compiler.common.Configuration; +import flex2.compiler.common.FramesConfiguration.FrameInfo; +import flex2.compiler.config.ConfigurationBuffer; +import flex2.compiler.config.ConfigurationException; +import flex2.tools.ToolsConfiguration; + +/** + * A configuration that extends ToolsConfiguration by adding link + * specific options. + * + * @version 2.0.1 + * @author Clement Wong + */ +/* + * TODO Jono: this should really *implement* flex2.linker.Configuration + * and not extend ToolsConfiguration to keep us honest about settings + * required for linking -- options that were not part of the original + * config are currently ignored and their values instead come from the + * inherited ToolsConfiguration, and are the default values (rather + * than the ones coming from original). + * + * Example: I forgot to implement getTargetPlayerMajorVersion() here, + * and it instead came from super, so the value set on the command line + * was totally ignored. + */ +public class LinkerConfiguration extends ToolsConfiguration implements flex2.linker.LinkerConfiguration +{ + public static Map getAliases() + { + Map map = new HashMap(); + map.putAll(Configuration.getAliases()); + map.remove("o"); + return map; + } + + public void validate( ConfigurationBuffer cfgbuf ) throws ConfigurationException + { + super.validate(cfgbuf); + } + + private flex2.linker.LinkerConfiguration original; + private Set args; + + public void setOriginalConfiguration(flex2.linker.LinkerConfiguration original, Set args, Set includes, Set excludes) + { + this.original = original; + this.args = args; + + Set s = getIncludes(); + addIncludes(s == null || s.size() == 0 ? original.getIncludes() : includes); + s = getExterns(); + addExterns(s == null || s.size() == 0 ? original.getExterns() : excludes); + } + + // flex2.linker.Configuration methods... + + public int backgroundColor() + { + if (args.contains(ConfigurationConstants.DEFAULT_BACKGROUND_COLOR)) + { + return super.backgroundColor(); + } + else + { + return original.backgroundColor(); + } + } + + public String debugPassword() + { + if (args.contains(ConfigurationConstants.DEBUG_PASSWORD)) + { + return super.debugPassword(); + } + else + { + return original.debugPassword(); + } + } + + public int defaultHeight() + { + if (args.contains(ConfigurationConstants.DEFAULT_SIZE)) + { + return super.defaultHeight(); + } + else + { + return original.defaultHeight(); + } + } + + public int defaultWidth() + { + if (args.contains(ConfigurationConstants.DEFAULT_SIZE)) + { + return super.defaultWidth(); + } + else + { + return original.defaultWidth(); + } + } + + public boolean debug() + { + if (args.contains(ConfigurationConstants.COMPILER_DEBUG)) + { + return super.debug(); + } + else + { + return original.debug(); + } + } + + public Set getExterns() + { + return super.getExterns(); + } + + public List getFrameList() + { + if (args.contains(ConfigurationConstants.FRAMES_FRAME)) + { + return super.getFrameList(); + } + else + { + return original.getFrameList(); + } + } + + public int getFrameRate() + { + if (args.contains(ConfigurationConstants.DEFAULT_FRAME_RATE)) + { + return super.getFrameRate(); + } + else + { + return original.getFrameRate(); + } + } + + public Set getIncludes() + { + return super.getIncludes(); + } + + public String getLinkReportFileName() + { + return null; + } + + public String getMainDefinition() + { + return original.getMainDefinition(); + } + + public String getMetadata() + { + if (args.contains(ConfigurationConstants.METADATA_CONTRIBUTOR) || + args.contains(ConfigurationConstants.METADATA_CREATOR) || + args.contains(ConfigurationConstants.METADATA_DATE) || + args.contains(ConfigurationConstants.METADATA_LANGUAGE) || + args.contains(ConfigurationConstants.METADATA_LOCALIZED_DESCRIPTION) || + args.contains(ConfigurationConstants.METADATA_LOCALIZED_TITLE) || + args.contains(ConfigurationConstants.METADATA_PUBLISHER) || + args.contains(ConfigurationConstants.RAW_METADATA)) + { + return super.getMetadata(); + } + else + { + return original.getMetadata(); + } + } + + public String getRBListFileName() + { + return null; + } + + public SortedSet getResourceBundles() + { + return original.getResourceBundles(); + } + + public String getRootClassName() + { + return original.getRootClassName(); + } + + public int getScriptRecursionLimit() + { + if (args.contains(ConfigurationConstants.DEFAULT_SCRIPT_LIMITS)) + { + return super.getScriptRecursionLimit(); + } + else + { + return original.getScriptRecursionLimit(); + } + } + + public int getScriptTimeLimit() + { + if (args.contains(ConfigurationConstants.DEFAULT_SCRIPT_LIMITS)) + { + return super.getScriptTimeLimit(); + } + else + { + return original.getScriptTimeLimit(); + } + } + + public Set getUnresolved() + { + return original.getUnresolved(); + } + + public String height() + { + return original.height(); + } + + public String heightPercent() + { + return original.heightPercent(); + } + + public boolean verboseStacktraces() + { + if (args.contains(ConfigurationConstants.COMPILER_DEBUG) || + args.contains(ConfigurationConstants.COMPILER_VERBOSE_STACKTRACES)) + { + return super.verboseStacktraces(); + } + else + { + return original.verboseStacktraces(); + } + } + + public boolean lazyInit() + { + return original.lazyInit(); + } + + public boolean optimize() + { + if (args.contains(ConfigurationConstants.COMPILER_OPTIMIZE)) + { + return super.optimize(); + } + else + { + return original.optimize(); + } + } + + public String pageTitle() + { + return original.pageTitle(); + } + + public boolean scriptLimitsSet() + { + if (args.contains(ConfigurationConstants.DEFAULT_SCRIPT_LIMITS)) + { + return super.scriptLimitsSet(); + } + else + { + return original.scriptLimitsSet(); + } + } + + public int getSwfVersion() + { + if (args.contains(ConfigurationConstants.SWF_VERSION)) + { + return super.getSwfVersion(); + } + else + { + return original.getSwfVersion(); + } + } + + public void setMainDefinition(String mainDefinition) + { + original.setMainDefinition(mainDefinition); + } + + public void setRootClassName(String rootClassName) + { + original.setRootClassName(rootClassName); + } + + public boolean useNetwork() + { + if (args.contains(ConfigurationConstants.USE_NETWORK)) + { + return super.useNetwork(); + } + else + { + return original.useNetwork(); + } + } + + public String width() + { + return original.width(); + } + + public String widthPercent() + { + return original.widthPercent(); + } + + private boolean generateLinkReport; + + public void keepLinkReport(boolean b) + { + generateLinkReport = b; + } + + public boolean generateLinkReport() + { + return generateLinkReport || super.generateLinkReport(); + } + + private boolean generateSizeReport; + + public void keepSizeReport(boolean b) + { + generateSizeReport = b; + } + + public boolean generateSizeReport() + { + return generateSizeReport || super.generateSizeReport(); + } + + public String[] getMetadataToKeep() + { + if (args.contains(ConfigurationConstants.COMPILER_KEEP_AS3_METADATA)) + { + return super.getMetadataToKeep(); + } + else + { + return original.getMetadataToKeep(); + } + } + + public boolean getComputeDigest() + { + if (args.contains(ConfigurationConstants.COMPILER_COMPUTE_DIGEST)) + { + return super.getComputeDigest(); + } + else + { + return original.getComputeDigest(); + } + } + + public String getCompatibilityVersionString() + { + if (args.contains(ConfigurationConstants.COMPILER_MXML_COMPATIBILITY)) + { + return super.getCompatibilityVersionString(); + } + else + { + return original.getCompatibilityVersionString(); + } + } + + + public int getCompatibilityVersion() + { + if (args.contains(ConfigurationConstants.COMPILER_MXML_COMPATIBILITY)) + { + return super.getCompatibilityVersion(); + } + else + { + return original.getCompatibilityVersion(); + } + } + + public String getOutput() + { + return null; + } + + public String getTargetFile() + { + return null; + } + + public int getTargetPlayerMajorVersion() + { + if (args.contains(ConfigurationConstants.TARGET_PLAYER)) + { + return super.getTargetPlayerMajorVersion(); + } + else + { + return original.getTargetPlayerMajorVersion(); + } + } + + public int getTargetPlayerMinorVersion() + { + if (args.contains(ConfigurationConstants.TARGET_PLAYER)) + { + return super.getTargetPlayerMinorVersion(); + } + else + { + return original.getTargetPlayerMinorVersion(); + } + } + + public int getTargetPlayerRevision() + { + if (args.contains(ConfigurationConstants.TARGET_PLAYER)) + { + return super.getTargetPlayerRevision(); + } + else + { + return original.getTargetPlayerRevision(); + } + } +}