groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-13 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 289cd1b90 -> f1e1c2de7


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

Avoid adding `CompilationCustomizer` multiple times and rename the option name 
to "groovy.compile.static"

(cherry picked from commit 31c5dab)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/f1e1c2de
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/f1e1c2de
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/f1e1c2de

Branch: refs/heads/GROOVY_2_6_X
Commit: f1e1c2de7ddbc2ca0d1238e240b6f94e0199509e
Parents: 289cd1b
Author: sunlan 
Authored: Fri Apr 13 19:13:52 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 19:15:16 2018 +0800

--
 .../groovy/control/CompilerConfiguration.java   | 62 ++--
 1 file changed, 32 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/f1e1c2de/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java 
b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
index 293d8da..15ae8c9 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
@@ -199,8 +199,6 @@ public class CompilerConfiguration {
 
 private final List compilationCustomizers = new 
LinkedList();
 
-private static final boolean COMPILE_STATIC_BY_DEFAULT = 
Boolean.getBoolean("groovy.compile.static.by.default");
-
 /**
  * Sets a list of global AST transformations which should not be loaded 
even if they are
  * defined in META-INF/org.codehaus.groovy.transform.ASTTransformation 
files. By default,
@@ -943,47 +941,51 @@ public class CompilerConfiguration {
 return indyEnabled;
 }
 
+private boolean compileStatic;
 private void enableCompileStaticByDefault() {
-if (!COMPILE_STATIC_BY_DEFAULT) {
+if (compileStatic) {
+return;
+}
+if (!Boolean.getBoolean("groovy.compile.static")) {
 return;
 }
 
 compilationCustomizers.add(
-new CompilationCustomizer(CompilePhase.CONVERSION) {
-@Override
-public void call(final SourceUnit source, GeneratorContext 
context, ClassNode classNode) throws CompilationFailedException {
-for (ClassNode cn : source.getAST().getClasses()) {
-new ClassCodeVisitorSupport() {
-@Override
-public void visitClass(ClassNode node) {
-enableCompileStatic(node);
+new CompilationCustomizer(CompilePhase.CONVERSION) {
+@Override
+public void call(final SourceUnit source, GeneratorContext 
context, ClassNode classNode) throws CompilationFailedException {
+for (ClassNode cn : source.getAST().getClasses()) {
+new ClassCodeVisitorSupport() {
+@Override
+public void visitClass(ClassNode node) {
+enableCompileStatic(node);
+}
+
+private void enableCompileStatic(ClassNode 
classNode) {
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
+return;
 }
-
-private void enableCompileStatic(ClassNode 
classNode) {
-if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
-return;
-}
-
-if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
-return;
-}
-
-classNode.addAnnotation(new 
AnnotationNode(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)));
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+return;
 }
 
-@Override
-protected SourceUnit getSourceUnit() {
-return source;
- 

groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-13 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master ae74e1d62 -> 31c5dabf8


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

Avoid adding `CompilationCustomizer` multiple times and rename the option name 
to "groovy.compile.static"


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/31c5dabf
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/31c5dabf
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/31c5dabf

Branch: refs/heads/master
Commit: 31c5dabf8a47b7854808ec96d565ca00611051d9
Parents: ae74e1d
Author: sunlan 
Authored: Fri Apr 13 19:13:52 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 19:13:52 2018 +0800

--
 .../groovy/control/CompilerConfiguration.java   | 62 ++--
 1 file changed, 32 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/31c5dabf/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java 
b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
index 06a4b1f..95d4c03 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
@@ -194,8 +194,6 @@ public class CompilerConfiguration {
 
 private final List compilationCustomizers = new 
LinkedList();
 
-private static final boolean COMPILE_STATIC_BY_DEFAULT = 
Boolean.getBoolean("groovy.compile.static.by.default");
-
 /**
  * Sets a list of global AST transformations which should not be loaded 
even if they are
  * defined in META-INF/org.codehaus.groovy.transform.ASTTransformation 
files. By default,
@@ -942,47 +940,51 @@ public class CompilerConfiguration {
 return indyEnabled;
 }
 
+private boolean compileStatic;
 private void enableCompileStaticByDefault() {
-if (!COMPILE_STATIC_BY_DEFAULT) {
+if (compileStatic) {
+return;
+}
+if (!Boolean.getBoolean("groovy.compile.static")) {
 return;
 }
 
 compilationCustomizers.add(
-new CompilationCustomizer(CompilePhase.CONVERSION) {
-@Override
-public void call(final SourceUnit source, GeneratorContext 
context, ClassNode classNode) throws CompilationFailedException {
-for (ClassNode cn : source.getAST().getClasses()) {
-new ClassCodeVisitorSupport() {
-@Override
-public void visitClass(ClassNode node) {
-enableCompileStatic(node);
+new CompilationCustomizer(CompilePhase.CONVERSION) {
+@Override
+public void call(final SourceUnit source, GeneratorContext 
context, ClassNode classNode) throws CompilationFailedException {
+for (ClassNode cn : source.getAST().getClasses()) {
+new ClassCodeVisitorSupport() {
+@Override
+public void visitClass(ClassNode node) {
+enableCompileStatic(node);
+}
+
+private void enableCompileStatic(ClassNode 
classNode) {
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
+return;
 }
-
-private void enableCompileStatic(ClassNode 
classNode) {
-if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
-return;
-}
-
-if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
-return;
-}
-
-classNode.addAnnotation(new 
AnnotationNode(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)));
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+return;
 }
 
-@Override
-protected SourceUnit getSourceUnit() {
-return source;
-}
+   

groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-13 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X e89cf7ba7 -> 289cd1b90


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

Use `CompilationCustomizer` to enable compileStatic

(cherry picked from commit ae74e1d)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/289cd1b9
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/289cd1b9
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/289cd1b9

Branch: refs/heads/GROOVY_2_6_X
Commit: 289cd1b904c39d10a95b63b51f4fca0ab3fc3e16
Parents: e89cf7b
Author: sunlan 
Authored: Fri Apr 13 16:59:45 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 17:19:38 2018 +0800

--
 .../groovy/control/CompilerConfiguration.java   | 51 
 .../apache/groovy/parser/antlr4/AstBuilder.java | 27 +--
 2 files changed, 52 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/289cd1b9/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java 
b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
index 28ac3e0..293d8da 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
@@ -19,6 +19,11 @@
 package org.codehaus.groovy.control;
 
 import org.apache.groovy.util.Maps;
+import org.codehaus.groovy.ast.AnnotationNode;
+import org.codehaus.groovy.ast.ClassCodeVisitorSupport;
+import org.codehaus.groovy.ast.ClassHelper;
+import org.codehaus.groovy.ast.ClassNode;
+import org.codehaus.groovy.classgen.GeneratorContext;
 import org.codehaus.groovy.control.customizers.CompilationCustomizer;
 import org.codehaus.groovy.control.io.NullWriter;
 import org.codehaus.groovy.control.messages.WarningMessage;
@@ -194,6 +199,8 @@ public class CompilerConfiguration {
 
 private final List compilationCustomizers = new 
LinkedList();
 
+private static final boolean COMPILE_STATIC_BY_DEFAULT = 
Boolean.getBoolean("groovy.compile.static.by.default");
+
 /**
  * Sets a list of global AST transformations which should not be loaded 
even if they are
  * defined in META-INF/org.codehaus.groovy.transform.ASTTransformation 
files. By default,
@@ -935,4 +942,48 @@ public class CompilerConfiguration {
 
 return indyEnabled;
 }
+
+private void enableCompileStaticByDefault() {
+if (!COMPILE_STATIC_BY_DEFAULT) {
+return;
+}
+
+compilationCustomizers.add(
+new CompilationCustomizer(CompilePhase.CONVERSION) {
+@Override
+public void call(final SourceUnit source, GeneratorContext 
context, ClassNode classNode) throws CompilationFailedException {
+for (ClassNode cn : source.getAST().getClasses()) {
+new ClassCodeVisitorSupport() {
+@Override
+public void visitClass(ClassNode node) {
+enableCompileStatic(node);
+}
+
+private void enableCompileStatic(ClassNode 
classNode) {
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
+return;
+}
+
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+return;
+}
+
+classNode.addAnnotation(new 
AnnotationNode(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)));
+}
+
+@Override
+protected SourceUnit getSourceUnit() {
+return source;
+}
+
+private static final String 
GROOVY_TRANSFORM_COMPILE_STATIC = "groovy.transform.CompileStatic";
+private static final String 
GROOVY_TRANSFORM_COMPILE_DYNAMIC = "groovy.transform.CompileDynamic";
+}.visitClass(cn);
+}
+}
+}
+);
+
+}
+{ enableCompileStaticByDefault(); }
 }


groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-13 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master adf7e9219 -> ae74e1d62


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

Use `CompilationCustomizer` to enable compileStatic


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/ae74e1d6
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/ae74e1d6
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/ae74e1d6

Branch: refs/heads/master
Commit: ae74e1d6270518144e45b54a5a8b892a3ce4781f
Parents: adf7e92
Author: sunlan 
Authored: Fri Apr 13 16:59:45 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 16:59:45 2018 +0800

--
 .../groovy/control/CompilerConfiguration.java   | 51 
 .../apache/groovy/parser/antlr4/AstBuilder.java | 27 +--
 2 files changed, 52 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/ae74e1d6/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
--
diff --git 
a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java 
b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
index d2d0a38..06a4b1f 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
@@ -19,6 +19,11 @@
 package org.codehaus.groovy.control;
 
 import org.apache.groovy.util.Maps;
+import org.codehaus.groovy.ast.AnnotationNode;
+import org.codehaus.groovy.ast.ClassCodeVisitorSupport;
+import org.codehaus.groovy.ast.ClassHelper;
+import org.codehaus.groovy.ast.ClassNode;
+import org.codehaus.groovy.classgen.GeneratorContext;
 import org.codehaus.groovy.control.customizers.CompilationCustomizer;
 import org.codehaus.groovy.control.io.NullWriter;
 import org.codehaus.groovy.control.messages.WarningMessage;
@@ -189,6 +194,8 @@ public class CompilerConfiguration {
 
 private final List compilationCustomizers = new 
LinkedList();
 
+private static final boolean COMPILE_STATIC_BY_DEFAULT = 
Boolean.getBoolean("groovy.compile.static.by.default");
+
 /**
  * Sets a list of global AST transformations which should not be loaded 
even if they are
  * defined in META-INF/org.codehaus.groovy.transform.ASTTransformation 
files. By default,
@@ -934,4 +941,48 @@ public class CompilerConfiguration {
 
 return indyEnabled;
 }
+
+private void enableCompileStaticByDefault() {
+if (!COMPILE_STATIC_BY_DEFAULT) {
+return;
+}
+
+compilationCustomizers.add(
+new CompilationCustomizer(CompilePhase.CONVERSION) {
+@Override
+public void call(final SourceUnit source, GeneratorContext 
context, ClassNode classNode) throws CompilationFailedException {
+for (ClassNode cn : source.getAST().getClasses()) {
+new ClassCodeVisitorSupport() {
+@Override
+public void visitClass(ClassNode node) {
+enableCompileStatic(node);
+}
+
+private void enableCompileStatic(ClassNode 
classNode) {
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
+return;
+}
+
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+return;
+}
+
+classNode.addAnnotation(new 
AnnotationNode(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)));
+}
+
+@Override
+protected SourceUnit getSourceUnit() {
+return source;
+}
+
+private static final String 
GROOVY_TRANSFORM_COMPILE_STATIC = "groovy.transform.CompileStatic";
+private static final String 
GROOVY_TRANSFORM_COMPILE_DYNAMIC = "groovy.transform.CompileDynamic";
+}.visitClass(cn);
+}
+}
+}
+);
+
+}
+{ enableCompileStaticByDefault(); }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/ae74e1d6/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java

groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-12 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X e88ce8687 -> 42280340b


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

Avoid attaching `groovy.transform.CompileStatic` annotation multiple times

(cherry picked from commit 4952a63)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/42280340
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/42280340
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/42280340

Branch: refs/heads/GROOVY_2_6_X
Commit: 42280340ba117eed59cedec871f0dece5b943741
Parents: e88ce86
Author: sunlan 
Authored: Fri Apr 13 12:13:28 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 12:14:00 2018 +0800

--
 .../apache/groovy/parser/antlr4/AstBuilder.java | 23 +++-
 1 file changed, 18 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/42280340/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
--
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
index 74b1f16..95243c0 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
@@ -1202,11 +1202,8 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 classNode.putNodeMetaData(CLASS_NAME, className);
 classNode.setSyntheticPublic(syntheticPublic);
 
-if (COMPILE_STATIC_BY_DEFAULT) {
-if 
(classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
-attachCompileStaticAnnotation(classNode);
-}
-}
+enableCompileStaticByDefault(classNode);
+
 if (asBoolean(ctx.TRAIT())) {
 attachTraitAnnotation(classNode);
 }
@@ -1277,6 +1274,22 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 return classNode;
 }
 
+private void enableCompileStaticByDefault(ClassNode classNode) {
+if (!COMPILE_STATIC_BY_DEFAULT) {
+return;
+}
+
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
+return;
+}
+
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+return;
+}
+
+attachCompileStaticAnnotation(classNode);
+}
+
 private void attachCompileStaticAnnotation(ClassNode classNode) {
 attachAnnotation(classNode, GROOVY_TRANSFORM_COMPILE_STATIC);
 }



groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-12 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master 39e4078c5 -> 4952a6359


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

Avoid attaching `groovy.transform.CompileStatic` annotation multiple times


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/4952a635
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/4952a635
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/4952a635

Branch: refs/heads/master
Commit: 4952a6359d59a79a1a95aa26d122a0cdf6d55c99
Parents: 39e4078
Author: sunlan 
Authored: Fri Apr 13 12:13:28 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 12:13:28 2018 +0800

--
 .../apache/groovy/parser/antlr4/AstBuilder.java | 23 +++-
 1 file changed, 18 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/4952a635/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
--
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
index e548a0b..b383f7b 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
@@ -1187,11 +1187,8 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 classNode.putNodeMetaData(CLASS_NAME, className);
 classNode.setSyntheticPublic(syntheticPublic);
 
-if (COMPILE_STATIC_BY_DEFAULT) {
-if 
(classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
-attachCompileStaticAnnotation(classNode);
-}
-}
+enableCompileStaticByDefault(classNode);
+
 if (asBoolean(ctx.TRAIT())) {
 attachTraitAnnotation(classNode);
 }
@@ -1262,6 +1259,22 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 return classNode;
 }
 
+private void enableCompileStaticByDefault(ClassNode classNode) {
+if (!COMPILE_STATIC_BY_DEFAULT) {
+return;
+}
+
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_STATIC)).isEmpty())
 {
+return;
+}
+
+if 
(!classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+return;
+}
+
+attachCompileStaticAnnotation(classNode);
+}
+
 private void attachCompileStaticAnnotation(ClassNode classNode) {
 attachAnnotation(classNode, GROOVY_TRANSFORM_COMPILE_STATIC);
 }



groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-12 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/master 81ffc8099 -> 39e4078c5


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

If `groovy.transform.CompileDynamic` annotation attached, skip attaching 
`groovy.transform.CompileStatic` annotation automatically.


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/39e4078c
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/39e4078c
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/39e4078c

Branch: refs/heads/master
Commit: 39e4078c55d9f0824351310eebda260f2fb360ab
Parents: 81ffc80
Author: sunlan 
Authored: Fri Apr 13 11:35:26 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 11:35:26 2018 +0800

--
 .../main/java/org/apache/groovy/parser/antlr4/AstBuilder.java   | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/39e4078c/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
--
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
index 22c59d2..e548a0b 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
@@ -1188,7 +1188,9 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 classNode.setSyntheticPublic(syntheticPublic);
 
 if (COMPILE_STATIC_BY_DEFAULT) {
-attachCompileStaticAnnotation(classNode);
+if 
(classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+attachCompileStaticAnnotation(classNode);
+}
 }
 if (asBoolean(ctx.TRAIT())) {
 attachTraitAnnotation(classNode);
@@ -4753,6 +4755,7 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 private static final String PACKAGE_INFO = "package-info";
 private static final String PACKAGE_INFO_FILE_NAME = PACKAGE_INFO + 
".groovy";
 private static final String GROOVY_TRANSFORM_COMPILE_STATIC = 
"groovy.transform.CompileStatic";
+private static final String GROOVY_TRANSFORM_COMPILE_DYNAMIC = 
"groovy.transform.CompileDynamic";
 private static final String GROOVY_TRANSFORM_TRAIT = 
"groovy.transform.Trait";
 private static final Set PRIMITIVE_TYPE_SET = 
Collections.unmodifiableSet(new HashSet<>(Arrays.asList("boolean", "char", 
"byte", "short", "int", "long", "float", "double")));
 private static final Logger LOGGER = 
Logger.getLogger(AstBuilder.class.getName());



groovy git commit: Refine "GROOVY-8543: Support setting compileStatic by default via system properties"

2018-04-12 Thread sunlan
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 1b26e1e76 -> e88ce8687


Refine "GROOVY-8543: Support setting compileStatic by default via system 
properties"

If `groovy.transform.CompileDynamic` annotation attached, skip attaching 
`groovy.transform.CompileStatic` annotation automatically.

(cherry picked from commit 39e4078)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/e88ce868
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/e88ce868
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/e88ce868

Branch: refs/heads/GROOVY_2_6_X
Commit: e88ce8687b495e4f031fef0c1b5dfb5846df3be0
Parents: 1b26e1e
Author: sunlan 
Authored: Fri Apr 13 11:35:26 2018 +0800
Committer: sunlan 
Committed: Fri Apr 13 11:35:52 2018 +0800

--
 .../main/java/org/apache/groovy/parser/antlr4/AstBuilder.java   | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/groovy/blob/e88ce868/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
--
diff --git 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
index 43fe5fd..74b1f16 100644
--- 
a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
+++ 
b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java
@@ -1203,7 +1203,9 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 classNode.setSyntheticPublic(syntheticPublic);
 
 if (COMPILE_STATIC_BY_DEFAULT) {
-attachCompileStaticAnnotation(classNode);
+if 
(classNode.getAnnotations(ClassHelper.make(GROOVY_TRANSFORM_COMPILE_DYNAMIC)).isEmpty())
 {
+attachCompileStaticAnnotation(classNode);
+}
 }
 if (asBoolean(ctx.TRAIT())) {
 attachTraitAnnotation(classNode);
@@ -4850,6 +4852,7 @@ public class AstBuilder extends 
GroovyParserBaseVisitor implements Groov
 private static final String PACKAGE_INFO = "package-info";
 private static final String PACKAGE_INFO_FILE_NAME = PACKAGE_INFO + 
".groovy";
 private static final String GROOVY_TRANSFORM_COMPILE_STATIC = 
"groovy.transform.CompileStatic";
+private static final String GROOVY_TRANSFORM_COMPILE_DYNAMIC = 
"groovy.transform.CompileDynamic";
 private static final String GROOVY_TRANSFORM_TRAIT = 
"groovy.transform.Trait";
 private static final Set PRIMITIVE_TYPE_SET = 
Collections.unmodifiableSet(new HashSet<>(Arrays.asList("boolean", "char", 
"byte", "short", "int", "long", "float", "double")));
 private static final Logger LOGGER = 
Logger.getLogger(AstBuilder.class.getName());