Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A1255200CFC for ; Mon, 14 Aug 2017 00:03:43 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 9D098163F82; Sun, 13 Aug 2017 22:03:43 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 78D94163F78 for ; Mon, 14 Aug 2017 00:03:42 +0200 (CEST) Received: (qmail 62015 invoked by uid 500); 13 Aug 2017 22:03:41 -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 61603 invoked by uid 99); 13 Aug 2017 22:03:40 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 13 Aug 2017 22:03:40 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 61DEAF32F4; Sun, 13 Aug 2017 22:03:39 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: piotrz@apache.org To: commits@flex.apache.org Date: Sun, 13 Aug 2017 22:03:44 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [06/13] git commit: [flex-falcon] [refs/heads/feature/amf] - option to skip @export statements in most JS output archived-at: Sun, 13 Aug 2017 22:03:43 -0000 option to skip @export statements in most JS output Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/d69cf6c7 Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/d69cf6c7 Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/d69cf6c7 Branch: refs/heads/feature/amf Commit: d69cf6c7fd18bdc2332cea8a8f84f1ff47199272 Parents: 42516a8 Author: Alex Harui Authored: Tue Aug 8 13:53:42 2017 -0700 Committer: Alex Harui Committed: Tue Aug 8 13:53:42 2017 -0700 ---------------------------------------------------------------------- .../codegen/js/flexjs/JSFlexJSDocEmitter.java | 12 +++++++++++ .../codegen/mxml/flexjs/MXMLFlexJSEmitter.java | 16 +++++++++++---- .../js/goog/JSGoogCompcConfiguration.java | 20 +++++++++++++++++++ .../driver/js/goog/JSGoogConfiguration.java | 21 ++++++++++++++++++++ 4 files changed, 65 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d69cf6c7/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java index 0cb1309..6077953 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSDocEmitter.java @@ -37,10 +37,12 @@ import org.apache.flex.compiler.internal.codegen.as.ASEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.JSEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.JSSessionModel; import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogDocEmitter; +import org.apache.flex.compiler.internal.codegen.js.goog.JSGoogDocEmitterTokens; import org.apache.flex.compiler.internal.codegen.js.jx.BindableEmitter; import org.apache.flex.compiler.internal.projects.FlexJSProject; import org.apache.flex.compiler.internal.scopes.ASScope; import org.apache.flex.compiler.projects.ICompilerProject; +import org.apache.flex.compiler.tree.as.IASNode; import org.apache.flex.compiler.tree.as.IDefinitionNode; import org.apache.flex.compiler.tree.as.IExpressionNode; import org.apache.flex.compiler.tree.as.IFunctionNode; @@ -53,6 +55,7 @@ public class JSFlexJSDocEmitter extends JSGoogDocEmitter private List ignoreList; private List coercionList; public boolean emitStringConversions = true; + private boolean emitExports = true; public JSFlexJSDocEmitter(IJSEmitter emitter) { @@ -107,6 +110,8 @@ public class JSFlexJSDocEmitter extends JSGoogDocEmitter { FlexJSProject fjp = (FlexJSProject)project; boolean keepASDoc = fjp.config != null && fjp.config.getKeepASDoc(); + if (fjp.config != null) + emitExports = fjp.config.getExportPublicSymbols(); coercionList = null; ignoreList = null; @@ -432,4 +437,11 @@ public class JSFlexJSDocEmitter extends JSGoogDocEmitter end(); } + @Override + public void emitPublic(IASNode node) + { + if (emitExports) + super.emitPublic(node); + } + } http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d69cf6c7/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java index 77377c9..c42c3f5 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmitter.java @@ -122,6 +122,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements private StringBuilder subDocuments = new StringBuilder(); private ArrayList subDocumentNames = new ArrayList(); private String interfaceList; + private boolean emitExports = true; /** * This keeps track of the entries in our temporary array of @@ -510,6 +511,10 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements @Override public void emitDocument(IMXMLDocumentNode node) { + FlexJSProject fjp = (FlexJSProject) getMXMLWalker().getProject(); + if (fjp.config != null) + emitExports = fjp.config.getExportPublicSymbols(); + descriptorTree = new ArrayList(); propertiesTree = new MXMLDescriptorSpecifier(); @@ -749,7 +754,8 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements root.isTopNode = true; writeNewline("/**"); - writeNewline(" * @export"); + if (emitExports) + writeNewline(" * @export"); writeNewline(" * @type {Array}"); writeNewline(" */"); writeNewline("this.mxmlsd = " + ASEmitterTokens.SQUARE_OPEN.getToken()); @@ -1135,7 +1141,7 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements .getASEmitter(); writeNewline("/**"); - writeNewline(" * @export"); + writeNewline(" * @export"); // must export or else GCC will remove it writeNewline(" */"); writeNewline(formatQualifiedName(cname) + ".prototype._bindings = ["); @@ -1536,7 +1542,8 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements for (MXMLEventSpecifier event : events) { writeNewline("/**"); - writeNewline(" * @export"); + if (emitExports) + writeNewline(" * @export"); writeNewline(" * @param {" + formatQualifiedName(event.type) + "} event"); writeNewline(" */"); writeNewline(formatQualifiedName(cname) @@ -1598,7 +1605,8 @@ public class MXMLFlexJSEmitter extends MXMLEmitter implements .getToken())) { indentPush(); - writeNewline("/** @export */"); + if (emitExports) + writeNewline("/** @export */"); writeNewline(instance.id + ": {"); writeNewline("/** @this {" + formattedCName + "} */"); indentPush(); http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d69cf6c7/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogCompcConfiguration.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogCompcConfiguration.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogCompcConfiguration.java index ab690e4..ebf3a21 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogCompcConfiguration.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogCompcConfiguration.java @@ -403,5 +403,25 @@ public class JSGoogCompcConfiguration extends JSConfiguration keepCodeWithMetadata.addAll(values); } + // + // 'export-public-symbols' + // + + private boolean exportPublicSymbols = true; + + public boolean getExportPublicSymbols() + { + return exportPublicSymbols; + } + + @Config + @Mapping("export-public-symbols") + public void setExportPublicSymbols(ConfigurationValue cv, boolean value) + throws ConfigurationException + { + exportPublicSymbols = value; + } + + } http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d69cf6c7/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogConfiguration.java ---------------------------------------------------------------------- diff --git a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogConfiguration.java b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogConfiguration.java index 318c90b..f1ccd4d 100644 --- a/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogConfiguration.java +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/internal/driver/js/goog/JSGoogConfiguration.java @@ -402,5 +402,26 @@ public class JSGoogConfiguration extends JSConfiguration keepCodeWithMetadata.addAll(values); } + // + // 'export-public-symbols' + // + + private boolean exportPublicSymbols = true; + + public boolean getExportPublicSymbols() + { + return exportPublicSymbols; + } + + @Config + @Mapping("export-public-symbols") + public void setExportPublicSymbols(ConfigurationValue cv, boolean value) + throws ConfigurationException + { + exportPublicSymbols = value; + } + + + }