Repository: groovy Updated Branches: refs/heads/GROOVY_2_4_X cd80744cc -> 29592e177
Optimize imports Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/29592e17 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/29592e17 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/29592e17 Branch: refs/heads/GROOVY_2_4_X Commit: 29592e177001898f5f4dc7d19ff0ba0841044744 Parents: cd80744 Author: sunlan <[email protected]> Authored: Fri Nov 24 09:06:57 2017 +0800 Committer: sunlan <[email protected]> Committed: Fri Nov 24 09:06:57 2017 +0800 ---------------------------------------------------------------------- src/main/groovy/beans/ListenerList.groovy | 6 +- .../beans/ListenerListASTTransformation.groovy | 29 +++++++- src/main/groovy/grape/GrapeIvy.groovy | 6 +- .../groovy/transform/ThreadInterrupt.groovy | 6 +- src/main/groovy/transform/TimedInterrupt.groovy | 6 +- src/main/groovy/util/CliBuilder.groovy | 10 ++- .../ast/builder/AstSpecificationCompiler.groovy | 72 +++++++++++++++++++- .../ASTTransformationCustomizer.groovy | 6 +- .../org/codehaus/groovy/tools/GrapeMain.groovy | 7 +- .../transform/ASTTestTransformation.groovy | 15 +++- ...itionalInterruptibleASTTransformation.groovy | 15 +++- .../ThreadInterruptibleASTTransformation.groovy | 6 +- .../TimedInterruptibleASTTransformation.groovy | 10 ++- .../transform/tailrec/InWhileLoopWrapper.groovy | 8 ++- .../tailrec/ReturnAdderForClosures.groovy | 6 +- .../ReturnStatementToIterationConverter.groovy | 7 +- .../transform/tailrec/StatementReplacer.groovy | 7 +- .../TailRecursiveASTTransformation.groovy | 13 +++- .../tailrec/VariableExpressionReplacer.groovy | 18 ++++- 19 files changed, 226 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/groovy/beans/ListenerList.groovy ---------------------------------------------------------------------- diff --git a/src/main/groovy/beans/ListenerList.groovy b/src/main/groovy/beans/ListenerList.groovy index 3f696be..b8119f1 100644 --- a/src/main/groovy/beans/ListenerList.groovy +++ b/src/main/groovy/beans/ListenerList.groovy @@ -20,7 +20,11 @@ package groovy.beans import org.codehaus.groovy.transform.GroovyASTTransformationClass -import java.lang.annotation.* +import java.lang.annotation.Documented +import java.lang.annotation.ElementType +import java.lang.annotation.Retention +import java.lang.annotation.RetentionPolicy +import java.lang.annotation.Target /** * This annotation adds Java-style listener support to a class based on an annotated Collection-property. http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/groovy/beans/ListenerListASTTransformation.groovy ---------------------------------------------------------------------- diff --git a/src/main/groovy/beans/ListenerListASTTransformation.groovy b/src/main/groovy/beans/ListenerListASTTransformation.groovy index b6703fa..1d7fbf7 100644 --- a/src/main/groovy/beans/ListenerListASTTransformation.groovy +++ b/src/main/groovy/beans/ListenerListASTTransformation.groovy @@ -18,9 +18,32 @@ */ package groovy.beans -import org.codehaus.groovy.ast.* -import org.codehaus.groovy.ast.expr.* -import org.codehaus.groovy.ast.stmt.* +import org.codehaus.groovy.ast.ASTNode +import org.codehaus.groovy.ast.AnnotatedNode +import org.codehaus.groovy.ast.AnnotationNode +import org.codehaus.groovy.ast.ClassHelper +import org.codehaus.groovy.ast.ClassNode +import org.codehaus.groovy.ast.FieldNode +import org.codehaus.groovy.ast.GenericsType +import org.codehaus.groovy.ast.MethodNode +import org.codehaus.groovy.ast.Parameter +import org.codehaus.groovy.ast.VariableScope +import org.codehaus.groovy.ast.expr.ArgumentListExpression +import org.codehaus.groovy.ast.expr.BinaryExpression +import org.codehaus.groovy.ast.expr.BooleanExpression +import org.codehaus.groovy.ast.expr.CastExpression +import org.codehaus.groovy.ast.expr.ConstantExpression +import org.codehaus.groovy.ast.expr.ConstructorCallExpression +import org.codehaus.groovy.ast.expr.DeclarationExpression +import org.codehaus.groovy.ast.expr.ListExpression +import org.codehaus.groovy.ast.expr.MethodCallExpression +import org.codehaus.groovy.ast.expr.VariableExpression +import org.codehaus.groovy.ast.stmt.BlockStatement +import org.codehaus.groovy.ast.stmt.EmptyStatement +import org.codehaus.groovy.ast.stmt.ExpressionStatement +import org.codehaus.groovy.ast.stmt.ForStatement +import org.codehaus.groovy.ast.stmt.IfStatement +import org.codehaus.groovy.ast.stmt.ReturnStatement import org.codehaus.groovy.control.CompilePhase import org.codehaus.groovy.control.SourceUnit import org.codehaus.groovy.control.messages.SyntaxErrorMessage http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/groovy/grape/GrapeIvy.groovy ---------------------------------------------------------------------- diff --git a/src/main/groovy/grape/GrapeIvy.groovy b/src/main/groovy/grape/GrapeIvy.groovy index 55ef207..c8f976b 100644 --- a/src/main/groovy/grape/GrapeIvy.groovy +++ b/src/main/groovy/grape/GrapeIvy.groovy @@ -23,7 +23,11 @@ import org.apache.ivy.core.cache.ResolutionCacheManager import org.apache.ivy.core.event.IvyListener import org.apache.ivy.core.event.download.PrepareDownloadEvent import org.apache.ivy.core.event.resolve.StartResolveEvent -import org.apache.ivy.core.module.descriptor.* +import org.apache.ivy.core.module.descriptor.Configuration +import org.apache.ivy.core.module.descriptor.DefaultDependencyArtifactDescriptor +import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor +import org.apache.ivy.core.module.descriptor.DefaultExcludeRule +import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor import org.apache.ivy.core.module.id.ArtifactId import org.apache.ivy.core.module.id.ModuleId import org.apache.ivy.core.module.id.ModuleRevisionId http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/groovy/transform/ThreadInterrupt.groovy ---------------------------------------------------------------------- diff --git a/src/main/groovy/transform/ThreadInterrupt.groovy b/src/main/groovy/transform/ThreadInterrupt.groovy index d8a6f64..817507a 100644 --- a/src/main/groovy/transform/ThreadInterrupt.groovy +++ b/src/main/groovy/transform/ThreadInterrupt.groovy @@ -20,7 +20,11 @@ package groovy.transform import org.codehaus.groovy.transform.GroovyASTTransformationClass -import java.lang.annotation.* +import java.lang.annotation.Documented +import java.lang.annotation.ElementType +import java.lang.annotation.Retention +import java.lang.annotation.RetentionPolicy +import java.lang.annotation.Target /** * Allows "interrupt-safe" executions of scripts by adding Thread.currentThread().isInterrupted() http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/groovy/transform/TimedInterrupt.groovy ---------------------------------------------------------------------- diff --git a/src/main/groovy/transform/TimedInterrupt.groovy b/src/main/groovy/transform/TimedInterrupt.groovy index 3f1097c..0a0c193 100644 --- a/src/main/groovy/transform/TimedInterrupt.groovy +++ b/src/main/groovy/transform/TimedInterrupt.groovy @@ -20,7 +20,11 @@ package groovy.transform import org.codehaus.groovy.transform.GroovyASTTransformationClass -import java.lang.annotation.* +import java.lang.annotation.Documented +import java.lang.annotation.ElementType +import java.lang.annotation.Retention +import java.lang.annotation.RetentionPolicy +import java.lang.annotation.Target import java.util.concurrent.TimeUnit import java.util.concurrent.TimeoutException http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/groovy/util/CliBuilder.groovy ---------------------------------------------------------------------- diff --git a/src/main/groovy/util/CliBuilder.groovy b/src/main/groovy/util/CliBuilder.groovy index ef4d4a9..62e3135 100644 --- a/src/main/groovy/util/CliBuilder.groovy +++ b/src/main/groovy/util/CliBuilder.groovy @@ -18,7 +18,15 @@ */ package groovy.util -import org.apache.commons.cli.* +import org.apache.commons.cli.CommandLine +import org.apache.commons.cli.CommandLineParser +import org.apache.commons.cli.GnuParser +import org.apache.commons.cli.HelpFormatter +import org.apache.commons.cli.Option +import org.apache.commons.cli.OptionBuilder +import org.apache.commons.cli.Options +import org.apache.commons.cli.ParseException +import org.apache.commons.cli.PosixParser import org.codehaus.groovy.cli.GroovyPosixParser import org.codehaus.groovy.runtime.InvokerHelper http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/ast/builder/AstSpecificationCompiler.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/ast/builder/AstSpecificationCompiler.groovy b/src/main/org/codehaus/groovy/ast/builder/AstSpecificationCompiler.groovy index e36e33e..5e607b6 100644 --- a/src/main/org/codehaus/groovy/ast/builder/AstSpecificationCompiler.groovy +++ b/src/main/org/codehaus/groovy/ast/builder/AstSpecificationCompiler.groovy @@ -18,9 +18,75 @@ */ package org.codehaus.groovy.ast.builder -import org.codehaus.groovy.ast.* -import org.codehaus.groovy.ast.expr.* -import org.codehaus.groovy.ast.stmt.* +import org.codehaus.groovy.ast.ASTNode +import org.codehaus.groovy.ast.AnnotationNode +import org.codehaus.groovy.ast.ClassHelper +import org.codehaus.groovy.ast.ClassNode +import org.codehaus.groovy.ast.ConstructorNode +import org.codehaus.groovy.ast.DynamicVariable +import org.codehaus.groovy.ast.FieldNode +import org.codehaus.groovy.ast.GenericsType +import org.codehaus.groovy.ast.ImportNode +import org.codehaus.groovy.ast.InnerClassNode +import org.codehaus.groovy.ast.MethodNode +import org.codehaus.groovy.ast.MixinNode +import org.codehaus.groovy.ast.Parameter +import org.codehaus.groovy.ast.PropertyNode +import org.codehaus.groovy.ast.VariableScope +import org.codehaus.groovy.ast.expr.AnnotationConstantExpression +import org.codehaus.groovy.ast.expr.ArgumentListExpression +import org.codehaus.groovy.ast.expr.ArrayExpression +import org.codehaus.groovy.ast.expr.AttributeExpression +import org.codehaus.groovy.ast.expr.BinaryExpression +import org.codehaus.groovy.ast.expr.BitwiseNegationExpression +import org.codehaus.groovy.ast.expr.BooleanExpression +import org.codehaus.groovy.ast.expr.CastExpression +import org.codehaus.groovy.ast.expr.ClassExpression +import org.codehaus.groovy.ast.expr.ClosureExpression +import org.codehaus.groovy.ast.expr.ClosureListExpression +import org.codehaus.groovy.ast.expr.ConstantExpression +import org.codehaus.groovy.ast.expr.ConstructorCallExpression +import org.codehaus.groovy.ast.expr.DeclarationExpression +import org.codehaus.groovy.ast.expr.ElvisOperatorExpression +import org.codehaus.groovy.ast.expr.Expression +import org.codehaus.groovy.ast.expr.FieldExpression +import org.codehaus.groovy.ast.expr.GStringExpression +import org.codehaus.groovy.ast.expr.ListExpression +import org.codehaus.groovy.ast.expr.MapEntryExpression +import org.codehaus.groovy.ast.expr.MapExpression +import org.codehaus.groovy.ast.expr.MethodCallExpression +import org.codehaus.groovy.ast.expr.MethodPointerExpression +import org.codehaus.groovy.ast.expr.NamedArgumentListExpression +import org.codehaus.groovy.ast.expr.NotExpression +import org.codehaus.groovy.ast.expr.PostfixExpression +import org.codehaus.groovy.ast.expr.PrefixExpression +import org.codehaus.groovy.ast.expr.PropertyExpression +import org.codehaus.groovy.ast.expr.RangeExpression +import org.codehaus.groovy.ast.expr.SpreadExpression +import org.codehaus.groovy.ast.expr.SpreadMapExpression +import org.codehaus.groovy.ast.expr.StaticMethodCallExpression +import org.codehaus.groovy.ast.expr.TernaryExpression +import org.codehaus.groovy.ast.expr.TupleExpression +import org.codehaus.groovy.ast.expr.UnaryMinusExpression +import org.codehaus.groovy.ast.expr.UnaryPlusExpression +import org.codehaus.groovy.ast.expr.VariableExpression +import org.codehaus.groovy.ast.stmt.AssertStatement +import org.codehaus.groovy.ast.stmt.BlockStatement +import org.codehaus.groovy.ast.stmt.BreakStatement +import org.codehaus.groovy.ast.stmt.CaseStatement +import org.codehaus.groovy.ast.stmt.CatchStatement +import org.codehaus.groovy.ast.stmt.ContinueStatement +import org.codehaus.groovy.ast.stmt.EmptyStatement +import org.codehaus.groovy.ast.stmt.ExpressionStatement +import org.codehaus.groovy.ast.stmt.ForStatement +import org.codehaus.groovy.ast.stmt.IfStatement +import org.codehaus.groovy.ast.stmt.ReturnStatement +import org.codehaus.groovy.ast.stmt.Statement +import org.codehaus.groovy.ast.stmt.SwitchStatement +import org.codehaus.groovy.ast.stmt.SynchronizedStatement +import org.codehaus.groovy.ast.stmt.ThrowStatement +import org.codehaus.groovy.ast.stmt.TryCatchStatement +import org.codehaus.groovy.ast.stmt.WhileStatement import org.codehaus.groovy.runtime.MethodClosure import org.codehaus.groovy.syntax.Token import org.codehaus.groovy.syntax.Types http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/control/customizers/ASTTransformationCustomizer.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/customizers/ASTTransformationCustomizer.groovy b/src/main/org/codehaus/groovy/control/customizers/ASTTransformationCustomizer.groovy index 2b3e203..b90cf2c 100644 --- a/src/main/org/codehaus/groovy/control/customizers/ASTTransformationCustomizer.groovy +++ b/src/main/org/codehaus/groovy/control/customizers/ASTTransformationCustomizer.groovy @@ -23,7 +23,11 @@ import org.codehaus.groovy.ast.ASTNode import org.codehaus.groovy.ast.AnnotationNode import org.codehaus.groovy.ast.ClassHelper import org.codehaus.groovy.ast.ClassNode -import org.codehaus.groovy.ast.expr.* +import org.codehaus.groovy.ast.expr.ClassExpression +import org.codehaus.groovy.ast.expr.ClosureExpression +import org.codehaus.groovy.ast.expr.ConstantExpression +import org.codehaus.groovy.ast.expr.Expression +import org.codehaus.groovy.ast.expr.ListExpression import org.codehaus.groovy.classgen.GeneratorContext import org.codehaus.groovy.control.CompilationUnit import org.codehaus.groovy.control.CompilePhase http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/tools/GrapeMain.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/tools/GrapeMain.groovy b/src/main/org/codehaus/groovy/tools/GrapeMain.groovy index 6266de3..97f08b0 100644 --- a/src/main/org/codehaus/groovy/tools/GrapeMain.groovy +++ b/src/main/org/codehaus/groovy/tools/GrapeMain.groovy @@ -20,7 +20,12 @@ package org.codehaus.groovy.tools import groovy.grape.Grape import groovy.transform.Field -import org.apache.commons.cli.* +import org.apache.commons.cli.CommandLine +import org.apache.commons.cli.GroovyInternalPosixParser +import org.apache.commons.cli.HelpFormatter +import org.apache.commons.cli.OptionBuilder +import org.apache.commons.cli.OptionGroup +import org.apache.commons.cli.Options import org.apache.ivy.util.DefaultMessageLogger import org.apache.ivy.util.Message http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/ASTTestTransformation.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/ASTTestTransformation.groovy b/src/main/org/codehaus/groovy/transform/ASTTestTransformation.groovy index 5f76c73..dcfe314 100644 --- a/src/main/org/codehaus/groovy/transform/ASTTestTransformation.groovy +++ b/src/main/org/codehaus/groovy/transform/ASTTestTransformation.groovy @@ -19,12 +19,23 @@ package org.codehaus.groovy.transform import groovy.transform.CompilationUnitAware -import org.codehaus.groovy.ast.* +import org.codehaus.groovy.ast.ASTNode +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.ast.MethodNode import org.codehaus.groovy.ast.expr.ClosureExpression import org.codehaus.groovy.ast.expr.PropertyExpression import org.codehaus.groovy.ast.expr.VariableExpression import org.codehaus.groovy.ast.stmt.Statement -import org.codehaus.groovy.control.* +import org.codehaus.groovy.control.CompilationUnit +import org.codehaus.groovy.control.CompilePhase +import org.codehaus.groovy.control.CompilerConfiguration +import org.codehaus.groovy.control.ErrorCollector +import org.codehaus.groovy.control.Janitor +import org.codehaus.groovy.control.ProcessingUnit +import org.codehaus.groovy.control.SourceUnit import org.codehaus.groovy.control.customizers.ImportCustomizer import org.codehaus.groovy.control.io.ReaderSource import org.codehaus.groovy.runtime.MethodClosure http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/ConditionalInterruptibleASTTransformation.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/ConditionalInterruptibleASTTransformation.groovy b/src/main/org/codehaus/groovy/transform/ConditionalInterruptibleASTTransformation.groovy index c8726d4..2cda121 100644 --- a/src/main/org/codehaus/groovy/transform/ConditionalInterruptibleASTTransformation.groovy +++ b/src/main/org/codehaus/groovy/transform/ConditionalInterruptibleASTTransformation.groovy @@ -19,8 +19,19 @@ package org.codehaus.groovy.transform import groovy.transform.ConditionalInterrupt -import org.codehaus.groovy.ast.* -import org.codehaus.groovy.ast.expr.* +import org.codehaus.groovy.ast.AnnotatedNode +import org.codehaus.groovy.ast.AnnotationNode +import org.codehaus.groovy.ast.ClassHelper +import org.codehaus.groovy.ast.ClassNode +import org.codehaus.groovy.ast.FieldNode +import org.codehaus.groovy.ast.MethodNode +import org.codehaus.groovy.ast.Parameter +import org.codehaus.groovy.ast.PropertyNode +import org.codehaus.groovy.ast.expr.ArgumentListExpression +import org.codehaus.groovy.ast.expr.ClosureExpression +import org.codehaus.groovy.ast.expr.Expression +import org.codehaus.groovy.ast.expr.MethodCallExpression +import org.codehaus.groovy.ast.expr.VariableExpression import org.codehaus.groovy.ast.tools.ClosureUtils import org.codehaus.groovy.control.CompilePhase http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/ThreadInterruptibleASTTransformation.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/ThreadInterruptibleASTTransformation.groovy b/src/main/org/codehaus/groovy/transform/ThreadInterruptibleASTTransformation.groovy index e7df2f8..a4fb4c3 100644 --- a/src/main/org/codehaus/groovy/transform/ThreadInterruptibleASTTransformation.groovy +++ b/src/main/org/codehaus/groovy/transform/ThreadInterruptibleASTTransformation.groovy @@ -24,7 +24,11 @@ import org.codehaus.groovy.ast.ClassHelper import org.codehaus.groovy.ast.ClassNode import org.codehaus.groovy.ast.MethodNode import org.codehaus.groovy.ast.Parameter -import org.codehaus.groovy.ast.expr.* +import org.codehaus.groovy.ast.expr.ArgumentListExpression +import org.codehaus.groovy.ast.expr.ClassExpression +import org.codehaus.groovy.ast.expr.ClosureExpression +import org.codehaus.groovy.ast.expr.Expression +import org.codehaus.groovy.ast.expr.MethodCallExpression import org.codehaus.groovy.control.CompilePhase /** http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy b/src/main/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy index 34fb6b1..62f5986 100644 --- a/src/main/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy +++ b/src/main/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy @@ -19,7 +19,15 @@ package org.codehaus.groovy.transform import groovy.transform.TimedInterrupt -import org.codehaus.groovy.ast.* +import org.codehaus.groovy.ast.ASTNode +import org.codehaus.groovy.ast.AnnotatedNode +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.ast.FieldNode +import org.codehaus.groovy.ast.MethodNode +import org.codehaus.groovy.ast.PropertyNode import org.codehaus.groovy.ast.expr.ClosureExpression import org.codehaus.groovy.ast.expr.ConstantExpression import org.codehaus.groovy.ast.expr.DeclarationExpression http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/tailrec/InWhileLoopWrapper.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/tailrec/InWhileLoopWrapper.groovy b/src/main/org/codehaus/groovy/transform/tailrec/InWhileLoopWrapper.groovy index e553bba..0fe2baa 100644 --- a/src/main/org/codehaus/groovy/transform/tailrec/InWhileLoopWrapper.groovy +++ b/src/main/org/codehaus/groovy/transform/tailrec/InWhileLoopWrapper.groovy @@ -25,7 +25,13 @@ import org.codehaus.groovy.ast.Parameter import org.codehaus.groovy.ast.VariableScope import org.codehaus.groovy.ast.expr.BooleanExpression import org.codehaus.groovy.ast.expr.ConstantExpression -import org.codehaus.groovy.ast.stmt.* +import org.codehaus.groovy.ast.stmt.BlockStatement +import org.codehaus.groovy.ast.stmt.CatchStatement +import org.codehaus.groovy.ast.stmt.ContinueStatement +import org.codehaus.groovy.ast.stmt.EmptyStatement +import org.codehaus.groovy.ast.stmt.Statement +import org.codehaus.groovy.ast.stmt.TryCatchStatement +import org.codehaus.groovy.ast.stmt.WhileStatement /** * Wrap the body of a method in a while loop, nested in a try-catch. http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/tailrec/ReturnAdderForClosures.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/tailrec/ReturnAdderForClosures.groovy b/src/main/org/codehaus/groovy/transform/tailrec/ReturnAdderForClosures.groovy index 3ff7317..64ebce7 100644 --- a/src/main/org/codehaus/groovy/transform/tailrec/ReturnAdderForClosures.groovy +++ b/src/main/org/codehaus/groovy/transform/tailrec/ReturnAdderForClosures.groovy @@ -18,7 +18,11 @@ */ package org.codehaus.groovy.transform.tailrec -import org.codehaus.groovy.ast.* +import org.codehaus.groovy.ast.ClassHelper +import org.codehaus.groovy.ast.ClassNode +import org.codehaus.groovy.ast.CodeVisitorSupport +import org.codehaus.groovy.ast.MethodNode +import org.codehaus.groovy.ast.Parameter import org.codehaus.groovy.ast.expr.ClosureExpression import org.codehaus.groovy.classgen.ReturnAdder http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.groovy b/src/main/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.groovy index 196e0c7..2c75f4f 100644 --- a/src/main/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.groovy +++ b/src/main/org/codehaus/groovy/transform/tailrec/ReturnStatementToIterationConverter.groovy @@ -20,7 +20,12 @@ package org.codehaus.groovy.transform.tailrec import groovy.transform.CompileStatic import org.codehaus.groovy.ast.ClassNode -import org.codehaus.groovy.ast.expr.* +import org.codehaus.groovy.ast.expr.BinaryExpression +import org.codehaus.groovy.ast.expr.Expression +import org.codehaus.groovy.ast.expr.MethodCallExpression +import org.codehaus.groovy.ast.expr.StaticMethodCallExpression +import org.codehaus.groovy.ast.expr.TupleExpression +import org.codehaus.groovy.ast.expr.VariableExpression import org.codehaus.groovy.ast.stmt.BlockStatement import org.codehaus.groovy.ast.stmt.ExpressionStatement import org.codehaus.groovy.ast.stmt.ReturnStatement http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/tailrec/StatementReplacer.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/tailrec/StatementReplacer.groovy b/src/main/org/codehaus/groovy/transform/tailrec/StatementReplacer.groovy index b8f18df..3a9dab3 100644 --- a/src/main/org/codehaus/groovy/transform/tailrec/StatementReplacer.groovy +++ b/src/main/org/codehaus/groovy/transform/tailrec/StatementReplacer.groovy @@ -22,7 +22,12 @@ import groovy.transform.CompileStatic import org.codehaus.groovy.ast.ASTNode import org.codehaus.groovy.ast.CodeVisitorSupport import org.codehaus.groovy.ast.expr.ClosureExpression -import org.codehaus.groovy.ast.stmt.* +import org.codehaus.groovy.ast.stmt.BlockStatement +import org.codehaus.groovy.ast.stmt.DoWhileStatement +import org.codehaus.groovy.ast.stmt.ForStatement +import org.codehaus.groovy.ast.stmt.IfStatement +import org.codehaus.groovy.ast.stmt.Statement +import org.codehaus.groovy.ast.stmt.WhileStatement /** * Tool for replacing Statement objects in an AST by other Statement instances. http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.groovy b/src/main/org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.groovy index b27ff8c..0605f18 100644 --- a/src/main/org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.groovy +++ b/src/main/org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.groovy @@ -21,8 +21,17 @@ package org.codehaus.groovy.transform.tailrec import groovy.transform.CompileStatic import groovy.transform.Memoized import groovy.transform.TailRecursive -import org.codehaus.groovy.ast.* -import org.codehaus.groovy.ast.expr.* +import org.codehaus.groovy.ast.ASTNode +import org.codehaus.groovy.ast.AnnotationNode +import org.codehaus.groovy.ast.ClassHelper +import org.codehaus.groovy.ast.ClassNode +import org.codehaus.groovy.ast.MethodNode +import org.codehaus.groovy.ast.Parameter +import org.codehaus.groovy.ast.expr.Expression +import org.codehaus.groovy.ast.expr.MethodCallExpression +import org.codehaus.groovy.ast.expr.StaticMethodCallExpression +import org.codehaus.groovy.ast.expr.TernaryExpression +import org.codehaus.groovy.ast.expr.VariableExpression import org.codehaus.groovy.ast.stmt.BlockStatement import org.codehaus.groovy.ast.stmt.ReturnStatement import org.codehaus.groovy.ast.stmt.Statement http://git-wip-us.apache.org/repos/asf/groovy/blob/29592e17/src/main/org/codehaus/groovy/transform/tailrec/VariableExpressionReplacer.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/transform/tailrec/VariableExpressionReplacer.groovy b/src/main/org/codehaus/groovy/transform/tailrec/VariableExpressionReplacer.groovy index 7f62c48..1f14490 100644 --- a/src/main/org/codehaus/groovy/transform/tailrec/VariableExpressionReplacer.groovy +++ b/src/main/org/codehaus/groovy/transform/tailrec/VariableExpressionReplacer.groovy @@ -21,8 +21,22 @@ package org.codehaus.groovy.transform.tailrec import groovy.transform.CompileStatic import org.codehaus.groovy.ast.ASTNode import org.codehaus.groovy.ast.CodeVisitorSupport -import org.codehaus.groovy.ast.expr.* -import org.codehaus.groovy.ast.stmt.* +import org.codehaus.groovy.ast.expr.BinaryExpression +import org.codehaus.groovy.ast.expr.BooleanExpression +import org.codehaus.groovy.ast.expr.Expression +import org.codehaus.groovy.ast.expr.ExpressionTransformer +import org.codehaus.groovy.ast.expr.VariableExpression +import org.codehaus.groovy.ast.stmt.AssertStatement +import org.codehaus.groovy.ast.stmt.CaseStatement +import org.codehaus.groovy.ast.stmt.DoWhileStatement +import org.codehaus.groovy.ast.stmt.ExpressionStatement +import org.codehaus.groovy.ast.stmt.ForStatement +import org.codehaus.groovy.ast.stmt.IfStatement +import org.codehaus.groovy.ast.stmt.ReturnStatement +import org.codehaus.groovy.ast.stmt.SwitchStatement +import org.codehaus.groovy.ast.stmt.SynchronizedStatement +import org.codehaus.groovy.ast.stmt.ThrowStatement +import org.codehaus.groovy.ast.stmt.WhileStatement import java.lang.reflect.Method
