This is an automated email from the ASF dual-hosted git repository.
gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
The following commit(s) were added to refs/heads/develop by this push:
new 24786cf Fixed the implementation of @royalesuppressexport at the
class level (applies to all members)
24786cf is described below
commit 24786cfba9a1eda8972327162c35b44e54104bc4
Author: greg-dove <[email protected]>
AuthorDate: Fri Aug 9 16:02:21 2019 +1200
Fixed the implementation of @royalesuppressexport at the class level
(applies to all members)
---
.../royale/compiler/internal/codegen/js/JSSessionModel.java | 6 ++++++
.../royale/compiler/internal/codegen/js/jx/ClassEmitter.java | 2 ++
.../compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java | 8 ++++++--
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSSessionModel.java
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSSessionModel.java
index 6155a37..55eb732 100644
---
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSSessionModel.java
+++
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/JSSessionModel.java
@@ -76,6 +76,7 @@ public class JSSessionModel
public ArrayList<IFunctionNode> methods;
public IClassDefinition classDefinition;
public ImplicitBindableImplementation bindableImplementation;
+ public Boolean suppressExports;
}
public JSSessionModel()
@@ -93,6 +94,8 @@ public class JSSessionModel
public boolean inStaticInitializer = false;
+ public boolean suppressExports = false;
+
private LinkedHashMap<String, PropertyNodes> propertyMap = new
LinkedHashMap<String, PropertyNodes>();
private List<String> interfacePropertyMap = new ArrayList<String>();
@@ -150,7 +153,9 @@ public class JSSessionModel
context.vars = vars;
context.methods = methods;
context.bindableImplementation = implicitBindableImplementation;
+ context.suppressExports = suppressExports;
stack.push(context);
+ suppressExports = false; //always defaults to false
this.currentClass = currentClass;
bindableVars = new HashMap<String, BindableVarInfo>();
staticPropertyMap = new LinkedHashMap<String, PropertyNodes>();
@@ -174,6 +179,7 @@ public class JSSessionModel
vars = context.vars;
methods = context.methods;
implicitBindableImplementation = context.bindableImplementation;
+ suppressExports = context.suppressExports;
}
public HashMap<String, PropertyNodes> getPropertyMap()
diff --git
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/ClassEmitter.java
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/ClassEmitter.java
index 3f6e13e..df85044 100644
---
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/ClassEmitter.java
+++
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/jx/ClassEmitter.java
@@ -70,6 +70,8 @@ public class ClassEmitter extends JSSubEmitter implements
boolean suppressExport = (asDoc != null &&
DocEmitterUtils.hasSuppressExport(fjs, asDoc.commentNoEnd()));
+ getModel().suppressExports = suppressExport;
+
IClassDefinition definition = node.getDefinition();
IFunctionDefinition ctorDefinition = definition.getConstructor();
diff --git
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
index 2d8379c..0c32ad3 100644
---
a/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
+++
b/compiler-jx/src/main/java/org/apache/royale/compiler/internal/codegen/js/royale/JSRoyaleDocEmitter.java
@@ -131,10 +131,14 @@ public class JSRoyaleDocEmitter extends JSGoogDocEmitter
{
RoyaleJSProject fjp = (RoyaleJSProject)project;
boolean keepASDoc = fjp.config != null && fjp.config.getKeepASDoc();
+ boolean suppressExports = false;
+ if (emitter instanceof JSRoyaleEmitter) {
+ suppressExports = ((JSRoyaleEmitter)
emitter).getModel().suppressExports;
+ }
if (fjp.config != null)
{
- emitExports = fjp.config.getExportPublicSymbols();
- exportProtected = fjp.config.getExportProtectedSymbols();
+ emitExports = !suppressExports &&
fjp.config.getExportPublicSymbols();
+ exportProtected = !suppressExports &&
fjp.config.getExportProtectedSymbols();
}
coercionList = null;