http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/ClosureWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/ClosureWriter.java b/src/main/org/codehaus/groovy/classgen/asm/ClosureWriter.java index 93a7fe7..a424041 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/ClosureWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/ClosureWriter.java @@ -18,11 +18,6 @@ */ package org.codehaus.groovy.classgen.asm; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.ast.ASTNode; import org.codehaus.groovy.ast.ClassHelper; @@ -52,6 +47,11 @@ import org.codehaus.groovy.classgen.AsmClassGenerator; import org.codehaus.groovy.classgen.Verifier; import org.objectweb.asm.MethodVisitor; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + import static org.objectweb.asm.Opcodes.*; public class ClosureWriter {
http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/InvocationWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/InvocationWriter.java b/src/main/org/codehaus/groovy/classgen/asm/InvocationWriter.java index 5b1193c..95a6122 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/InvocationWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/InvocationWriter.java @@ -18,17 +18,26 @@ */ package org.codehaus.groovy.classgen.asm; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.TreeMap; - -import org.codehaus.groovy.ast.*; -import org.codehaus.groovy.ast.expr.*; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.ConstructorNode; +import org.codehaus.groovy.ast.FieldNode; +import org.codehaus.groovy.ast.InnerClassNode; +import org.codehaus.groovy.ast.MethodNode; +import org.codehaus.groovy.ast.Parameter; +import org.codehaus.groovy.ast.expr.ArgumentListExpression; +import org.codehaus.groovy.ast.expr.ArrayExpression; +import org.codehaus.groovy.ast.expr.CastExpression; +import org.codehaus.groovy.ast.expr.ClassExpression; +import org.codehaus.groovy.ast.expr.ConstantExpression; +import org.codehaus.groovy.ast.expr.ConstructorCallExpression; +import org.codehaus.groovy.ast.expr.Expression; +import org.codehaus.groovy.ast.expr.MethodCallExpression; +import org.codehaus.groovy.ast.expr.PropertyExpression; +import org.codehaus.groovy.ast.expr.SpreadExpression; +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.tools.WideningCategories; import org.codehaus.groovy.classgen.AsmClassGenerator; import org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.StatementMeta; @@ -39,6 +48,15 @@ import org.codehaus.groovy.syntax.SyntaxException; import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.TreeMap; + import static org.objectweb.asm.Opcodes.*; public class InvocationWriter { http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/MethodCaller.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/MethodCaller.java b/src/main/org/codehaus/groovy/classgen/asm/MethodCaller.java index 6160c68..33cc8ab 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/MethodCaller.java +++ b/src/main/org/codehaus/groovy/classgen/asm/MethodCaller.java @@ -18,13 +18,13 @@ */ package org.codehaus.groovy.classgen.asm; -import java.lang.reflect.Method; - import org.codehaus.groovy.classgen.ClassGeneratorException; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; +import java.lang.reflect.Method; + /** * A helper class to invoke methods more easily in ASM * http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/MopWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/MopWriter.java b/src/main/org/codehaus/groovy/classgen/asm/MopWriter.java index df6d461..4429962 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/MopWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/MopWriter.java @@ -18,6 +18,12 @@ */ package org.codehaus.groovy.classgen.asm; +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.objectweb.asm.MethodVisitor; + import java.lang.reflect.Modifier; import java.util.Collections; import java.util.HashMap; @@ -27,12 +33,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -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.objectweb.asm.MethodVisitor; - import static org.objectweb.asm.Opcodes.*; public class MopWriter { http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/OperandStack.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/OperandStack.java b/src/main/org/codehaus/groovy/classgen/asm/OperandStack.java index 152f854..7e7f3a1 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/OperandStack.java +++ b/src/main/org/codehaus/groovy/classgen/asm/OperandStack.java @@ -18,12 +18,12 @@ */ package org.codehaus.groovy.classgen.asm; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.ArrayList; - import org.codehaus.groovy.GroovyBugError; -import org.codehaus.groovy.ast.*; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.ConstructorNode; +import org.codehaus.groovy.ast.MethodNode; +import org.codehaus.groovy.ast.Variable; import org.codehaus.groovy.ast.expr.CastExpression; import org.codehaus.groovy.ast.expr.ConstantExpression; import org.codehaus.groovy.ast.expr.Expression; @@ -32,6 +32,10 @@ import org.codehaus.groovy.classgen.ClassGeneratorException; import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.ArrayList; + import static org.objectweb.asm.Opcodes.*; public class OperandStack { http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java b/src/main/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java index 123d2f4..10eaf38 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java @@ -18,13 +18,39 @@ */ package org.codehaus.groovy.classgen.asm; -import java.util.LinkedList; -import java.util.List; - -import org.codehaus.groovy.ast.*; -import org.codehaus.groovy.ast.expr.*; -import org.codehaus.groovy.ast.stmt.*; import org.codehaus.groovy.GroovyBugError; +import org.codehaus.groovy.ast.ASTNode; +import org.codehaus.groovy.ast.ClassCodeVisitorSupport; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.ConstructorNode; +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.BitwiseNegationExpression; +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.ConstructorCallExpression; +import org.codehaus.groovy.ast.expr.DeclarationExpression; +import org.codehaus.groovy.ast.expr.Expression; +import org.codehaus.groovy.ast.expr.MethodCallExpression; +import org.codehaus.groovy.ast.expr.PostfixExpression; +import org.codehaus.groovy.ast.expr.PrefixExpression; +import org.codehaus.groovy.ast.expr.StaticMethodCallExpression; +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.BlockStatement; +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.Statement; +import org.codehaus.groovy.ast.stmt.WhileStatement; import org.codehaus.groovy.ast.tools.ParameterUtils; import org.codehaus.groovy.classgen.AsmClassGenerator; import org.codehaus.groovy.classgen.Verifier; @@ -34,10 +60,14 @@ import org.codehaus.groovy.syntax.Types; import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; -import static org.objectweb.asm.Opcodes.*; -import static org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.*; +import java.util.LinkedList; +import java.util.List; + import static org.codehaus.groovy.ast.ClassHelper.*; import static org.codehaus.groovy.ast.tools.WideningCategories.*; +import static org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.typeMap; +import static org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher.typeMapKeyNames; +import static org.objectweb.asm.Opcodes.*; /** * A class to write out the optimized statements http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/StatementWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/StatementWriter.java b/src/main/org/codehaus/groovy/classgen/asm/StatementWriter.java index 91d2e46..8188576 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/StatementWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/StatementWriter.java @@ -18,9 +18,6 @@ */ package org.codehaus.groovy.classgen.asm; -import java.util.Iterator; -import java.util.List; - import org.codehaus.groovy.ast.ClassHelper; import org.codehaus.groovy.ast.ClassNode; import org.codehaus.groovy.ast.Parameter; @@ -53,6 +50,9 @@ import org.codehaus.groovy.classgen.asm.CompileStack.BlockRecorder; import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; +import java.util.Iterator; +import java.util.List; + import static org.objectweb.asm.Opcodes.*; public class StatementWriter { http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/UnaryExpressionHelper.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/UnaryExpressionHelper.java b/src/main/org/codehaus/groovy/classgen/asm/UnaryExpressionHelper.java index fa79468..0ebd9b4 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/UnaryExpressionHelper.java +++ b/src/main/org/codehaus/groovy/classgen/asm/UnaryExpressionHelper.java @@ -19,7 +19,11 @@ package org.codehaus.groovy.classgen.asm; import org.codehaus.groovy.ast.ClassHelper; -import org.codehaus.groovy.ast.expr.*; +import org.codehaus.groovy.ast.expr.BitwiseNegationExpression; +import org.codehaus.groovy.ast.expr.Expression; +import org.codehaus.groovy.ast.expr.NotExpression; +import org.codehaus.groovy.ast.expr.UnaryMinusExpression; +import org.codehaus.groovy.ast.expr.UnaryPlusExpression; import org.codehaus.groovy.runtime.ScriptBytecodeAdapter; /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/WriterController.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/WriterController.java b/src/main/org/codehaus/groovy/classgen/asm/WriterController.java index 989d660..5c39bef 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/WriterController.java +++ b/src/main/org/codehaus/groovy/classgen/asm/WriterController.java @@ -19,10 +19,6 @@ package org.codehaus.groovy.classgen.asm; import groovy.lang.GroovyRuntimeException; -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.ast.ClassHelper; import org.codehaus.groovy.ast.ClassNode; @@ -38,6 +34,11 @@ import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; +import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + public class WriterController { private static Constructor indyWriter, indyCallSiteWriter, indyBinHelper; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/indy/IndyCallSiteWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/indy/IndyCallSiteWriter.java b/src/main/org/codehaus/groovy/classgen/asm/indy/IndyCallSiteWriter.java index 202cd36..d22def1 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/indy/IndyCallSiteWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/indy/IndyCallSiteWriter.java @@ -19,7 +19,8 @@ package org.codehaus.groovy.classgen.asm.indy; import org.codehaus.groovy.ast.expr.Expression; -import org.codehaus.groovy.classgen.asm.*; +import org.codehaus.groovy.classgen.asm.CallSiteWriter; +import org.codehaus.groovy.classgen.asm.WriterController; /** * Dummy class used by the indy implementation. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/indy/InvokeDynamicWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/indy/InvokeDynamicWriter.java b/src/main/org/codehaus/groovy/classgen/asm/indy/InvokeDynamicWriter.java index 82cb2bc..5b4f458 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/indy/InvokeDynamicWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/indy/InvokeDynamicWriter.java @@ -44,15 +44,8 @@ import java.lang.invoke.MethodHandles.Lookup; import java.lang.invoke.MethodType; import static org.codehaus.groovy.classgen.asm.BytecodeHelper.getTypeDescription; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.CALL_TYPES.CAST; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.CALL_TYPES.GET; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.CALL_TYPES.INIT; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.CALL_TYPES.METHOD; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.GROOVY_OBJECT; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.IMPLICIT_THIS; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.SAFE_NAVIGATION; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.SPREAD_CALL; -import static org.codehaus.groovy.vmplugin.v7.IndyInterface.THIS_CALL; +import static org.codehaus.groovy.vmplugin.v7.IndyInterface.CALL_TYPES.*; +import static org.codehaus.groovy.vmplugin.v7.IndyInterface.*; import static org.objectweb.asm.Opcodes.H_INVOKESTATIC; /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java index f8d895b..58fc5e8 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java @@ -25,12 +25,32 @@ import org.codehaus.groovy.ast.GroovyCodeVisitor; import org.codehaus.groovy.ast.InnerClassNode; 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.ArrayExpression; +import org.codehaus.groovy.ast.expr.AttributeExpression; +import org.codehaus.groovy.ast.expr.ClassExpression; +import org.codehaus.groovy.ast.expr.ConstantExpression; +import org.codehaus.groovy.ast.expr.ConstructorCallExpression; +import org.codehaus.groovy.ast.expr.Expression; +import org.codehaus.groovy.ast.expr.ExpressionTransformer; +import org.codehaus.groovy.ast.expr.MethodCallExpression; +import org.codehaus.groovy.ast.expr.PropertyExpression; +import org.codehaus.groovy.ast.expr.TupleExpression; +import org.codehaus.groovy.ast.expr.VariableExpression; import org.codehaus.groovy.ast.stmt.ExpressionStatement; import org.codehaus.groovy.ast.stmt.ForStatement; import org.codehaus.groovy.classgen.AsmClassGenerator; import org.codehaus.groovy.classgen.Verifier; -import org.codehaus.groovy.classgen.asm.*; +import org.codehaus.groovy.classgen.asm.BytecodeHelper; +import org.codehaus.groovy.classgen.asm.CallSiteWriter; +import org.codehaus.groovy.classgen.asm.CompileStack; +import org.codehaus.groovy.classgen.asm.ExpressionAsVariableSlot; +import org.codehaus.groovy.classgen.asm.InvocationWriter; +import org.codehaus.groovy.classgen.asm.MethodCallerMultiAdapter; +import org.codehaus.groovy.classgen.asm.OperandStack; +import org.codehaus.groovy.classgen.asm.TypeChooser; +import org.codehaus.groovy.classgen.asm.VariableSlotLoader; +import org.codehaus.groovy.classgen.asm.WriterController; import org.codehaus.groovy.runtime.InvokerHelper; import org.codehaus.groovy.syntax.SyntaxException; import org.codehaus.groovy.transform.sc.StaticCompilationMetadataKeys; @@ -48,9 +68,7 @@ import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; -import static org.codehaus.groovy.ast.ClassHelper.CLOSURE_TYPE; -import static org.codehaus.groovy.ast.ClassHelper.OBJECT_TYPE; -import static org.codehaus.groovy.ast.ClassHelper.getWrapper; +import static org.codehaus.groovy.ast.ClassHelper.*; import static org.codehaus.groovy.transform.sc.StaticCompilationMetadataKeys.PRIVATE_BRIDGE_METHODS; import static org.objectweb.asm.Opcodes.*; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesBinaryExpressionMultiTypeDispatcher.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesBinaryExpressionMultiTypeDispatcher.java b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesBinaryExpressionMultiTypeDispatcher.java index 129e1dd..fd5203c 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesBinaryExpressionMultiTypeDispatcher.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesBinaryExpressionMultiTypeDispatcher.java @@ -18,13 +18,36 @@ */ package org.codehaus.groovy.classgen.asm.sc; -import org.codehaus.groovy.ast.*; -import org.codehaus.groovy.ast.expr.*; +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.AttributeExpression; +import org.codehaus.groovy.ast.expr.BinaryExpression; +import org.codehaus.groovy.ast.expr.CastExpression; +import org.codehaus.groovy.ast.expr.ClassExpression; +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.Expression; +import org.codehaus.groovy.ast.expr.MethodCallExpression; +import org.codehaus.groovy.ast.expr.PropertyExpression; +import org.codehaus.groovy.ast.expr.VariableExpression; 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.tools.WideningCategories; -import org.codehaus.groovy.classgen.asm.*; +import org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher; +import org.codehaus.groovy.classgen.asm.BinaryExpressionWriter; +import org.codehaus.groovy.classgen.asm.BytecodeHelper; +import org.codehaus.groovy.classgen.asm.CompileStack; +import org.codehaus.groovy.classgen.asm.OperandStack; +import org.codehaus.groovy.classgen.asm.TypeChooser; +import org.codehaus.groovy.classgen.asm.VariableSlotLoader; +import org.codehaus.groovy.classgen.asm.WriterController; import org.codehaus.groovy.runtime.MetaClassHelper; import org.codehaus.groovy.syntax.Token; import org.codehaus.groovy.transform.sc.StaticCompilationMetadataKeys; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java index 32c48c0..3f99597 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java @@ -19,11 +19,29 @@ package org.codehaus.groovy.classgen.asm.sc; import org.codehaus.groovy.GroovyBugError; -import org.codehaus.groovy.ast.*; -import org.codehaus.groovy.ast.expr.*; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.FieldNode; +import org.codehaus.groovy.ast.InnerClassNode; +import org.codehaus.groovy.ast.MethodNode; +import org.codehaus.groovy.ast.Parameter; +import org.codehaus.groovy.ast.PropertyNode; +import org.codehaus.groovy.ast.Variable; +import org.codehaus.groovy.ast.expr.ArgumentListExpression; +import org.codehaus.groovy.ast.expr.CastExpression; +import org.codehaus.groovy.ast.expr.ClassExpression; +import org.codehaus.groovy.ast.expr.ConstantExpression; +import org.codehaus.groovy.ast.expr.Expression; +import org.codehaus.groovy.ast.expr.MethodCallExpression; +import org.codehaus.groovy.ast.expr.PropertyExpression; +import org.codehaus.groovy.ast.expr.VariableExpression; import org.codehaus.groovy.ast.stmt.EmptyStatement; import org.codehaus.groovy.classgen.BytecodeExpression; -import org.codehaus.groovy.classgen.asm.*; +import org.codehaus.groovy.classgen.asm.BytecodeHelper; +import org.codehaus.groovy.classgen.asm.CallSiteWriter; +import org.codehaus.groovy.classgen.asm.CompileStack; +import org.codehaus.groovy.classgen.asm.OperandStack; +import org.codehaus.groovy.classgen.asm.TypeChooser; import org.codehaus.groovy.runtime.InvokerHelper; import org.codehaus.groovy.runtime.MetaClassHelper; import org.codehaus.groovy.syntax.SyntaxException; @@ -35,7 +53,11 @@ import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; import java.lang.reflect.Modifier; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; import static org.codehaus.groovy.ast.ClassHelper.*; import static org.codehaus.groovy.transform.stc.StaticTypeCheckingSupport.*; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesUnaryExpressionHelper.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesUnaryExpressionHelper.java b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesUnaryExpressionHelper.java index dc8ff96..cbcd713 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesUnaryExpressionHelper.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesUnaryExpressionHelper.java @@ -18,10 +18,13 @@ */ package org.codehaus.groovy.classgen.asm.sc; -import static org.codehaus.groovy.ast.ClassHelper.*; - import org.codehaus.groovy.ast.ClassNode; -import org.codehaus.groovy.ast.expr.*; +import org.codehaus.groovy.ast.expr.BitwiseNegationExpression; +import org.codehaus.groovy.ast.expr.EmptyExpression; +import org.codehaus.groovy.ast.expr.Expression; +import org.codehaus.groovy.ast.expr.NotExpression; +import org.codehaus.groovy.ast.expr.UnaryMinusExpression; +import org.codehaus.groovy.ast.expr.UnaryPlusExpression; import org.codehaus.groovy.classgen.BytecodeExpression; import org.codehaus.groovy.classgen.asm.TypeChooser; import org.codehaus.groovy.classgen.asm.UnaryExpressionHelper; @@ -30,6 +33,8 @@ import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; +import static org.codehaus.groovy.ast.ClassHelper.*; + /** * An unary expression helper which generates optimized bytecode depending on * the current type on top of the operand stack. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesWriterController.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesWriterController.java b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesWriterController.java index 91f0ea8..9609c5b 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesWriterController.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesWriterController.java @@ -18,10 +18,23 @@ */ package org.codehaus.groovy.classgen.asm.sc; -import org.codehaus.groovy.ast.*; +import org.codehaus.groovy.ast.AnnotatedNode; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.ConstructorNode; +import org.codehaus.groovy.ast.MethodNode; import org.codehaus.groovy.classgen.AsmClassGenerator; import org.codehaus.groovy.classgen.GeneratorContext; -import org.codehaus.groovy.classgen.asm.*; +import org.codehaus.groovy.classgen.asm.BinaryExpressionHelper; +import org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher; +import org.codehaus.groovy.classgen.asm.CallSiteWriter; +import org.codehaus.groovy.classgen.asm.ClosureWriter; +import org.codehaus.groovy.classgen.asm.DelegatingController; +import org.codehaus.groovy.classgen.asm.InvocationWriter; +import org.codehaus.groovy.classgen.asm.StatementWriter; +import org.codehaus.groovy.classgen.asm.TypeChooser; +import org.codehaus.groovy.classgen.asm.UnaryExpressionHelper; +import org.codehaus.groovy.classgen.asm.WriterController; import org.codehaus.groovy.transform.sc.StaticCompilationMetadataKeys; import org.codehaus.groovy.transform.sc.StaticCompilationVisitor; import org.codehaus.groovy.transform.stc.StaticTypesMarker; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/ClassNodeResolver.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/ClassNodeResolver.java b/src/main/org/codehaus/groovy/control/ClassNodeResolver.java index 7f2ea72..ee8ecd6 100644 --- a/src/main/org/codehaus/groovy/control/ClassNodeResolver.java +++ b/src/main/org/codehaus/groovy/control/ClassNodeResolver.java @@ -19,6 +19,11 @@ package org.codehaus.groovy.control; import groovy.lang.GroovyClassLoader; +import org.codehaus.groovy.GroovyBugError; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.classgen.Verifier; +import org.objectweb.asm.Opcodes; import java.io.File; import java.io.IOException; @@ -28,12 +33,6 @@ import java.net.URLConnection; import java.util.HashMap; import java.util.Map; -import org.codehaus.groovy.GroovyBugError; -import org.codehaus.groovy.ast.ClassHelper; -import org.codehaus.groovy.ast.ClassNode; -import org.codehaus.groovy.classgen.Verifier; -import org.objectweb.asm.Opcodes; - /** * This class is used as a pluggable way to resolve class names. * An instance of this class has to be added to {@link CompilationUnit} using http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/CompilationUnit.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/CompilationUnit.java b/src/main/org/codehaus/groovy/control/CompilationUnit.java index 3220f5f..59fd993 100644 --- a/src/main/org/codehaus/groovy/control/CompilationUnit.java +++ b/src/main/org/codehaus/groovy/control/CompilationUnit.java @@ -20,11 +20,24 @@ package org.codehaus.groovy.control; import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyRuntimeException; - import groovy.transform.CompilationUnitAware; import org.codehaus.groovy.GroovyBugError; -import org.codehaus.groovy.ast.*; -import org.codehaus.groovy.classgen.*; +import org.codehaus.groovy.ast.ASTNode; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.CompileUnit; +import org.codehaus.groovy.ast.InnerClassNode; +import org.codehaus.groovy.ast.ModuleNode; +import org.codehaus.groovy.classgen.AsmClassGenerator; +import org.codehaus.groovy.classgen.ClassCompletionVerifier; +import org.codehaus.groovy.classgen.EnumCompletionVisitor; +import org.codehaus.groovy.classgen.EnumVisitor; +import org.codehaus.groovy.classgen.ExtendedVerifier; +import org.codehaus.groovy.classgen.GeneratorContext; +import org.codehaus.groovy.classgen.InnerClassCompletionVisitor; +import org.codehaus.groovy.classgen.InnerClassVisitor; +import org.codehaus.groovy.classgen.VariableScopeVisitor; +import org.codehaus.groovy.classgen.Verifier; import org.codehaus.groovy.control.customizers.CompilationCustomizer; import org.codehaus.groovy.control.io.InputStreamReaderSource; import org.codehaus.groovy.control.io.ReaderSource; @@ -46,7 +59,12 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.security.CodeSource; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; /** * The CompilationUnit collects all compilation data as it is generated by the compiler system. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/CompilerConfiguration.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/CompilerConfiguration.java b/src/main/org/codehaus/groovy/control/CompilerConfiguration.java index 38fcc4c..ee4075c 100644 --- a/src/main/org/codehaus/groovy/control/CompilerConfiguration.java +++ b/src/main/org/codehaus/groovy/control/CompilerConfiguration.java @@ -24,7 +24,16 @@ import org.codehaus.groovy.control.messages.WarningMessage; import java.io.File; import java.io.PrintWriter; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.StringTokenizer; /** * Compilation control flags and coordination stuff. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/ErrorCollector.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/ErrorCollector.java b/src/main/org/codehaus/groovy/control/ErrorCollector.java index 4777d34..1293184 100644 --- a/src/main/org/codehaus/groovy/control/ErrorCollector.java +++ b/src/main/org/codehaus/groovy/control/ErrorCollector.java @@ -18,11 +18,6 @@ */ package org.codehaus.groovy.control; -import java.io.PrintWriter; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; - import org.codehaus.groovy.control.messages.ExceptionMessage; import org.codehaus.groovy.control.messages.LocatedMessage; import org.codehaus.groovy.control.messages.Message; @@ -31,6 +26,11 @@ import org.codehaus.groovy.control.messages.WarningMessage; import org.codehaus.groovy.syntax.CSTNode; import org.codehaus.groovy.syntax.SyntaxException; +import java.io.PrintWriter; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + /** * A base class for collecting messages and errors during processing. * Each CompilationUnit should have an ErrorCollector, and the SourceUnits http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/ParserPlugin.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/ParserPlugin.java b/src/main/org/codehaus/groovy/control/ParserPlugin.java index 555632d..9b298d8 100644 --- a/src/main/org/codehaus/groovy/control/ParserPlugin.java +++ b/src/main/org/codehaus/groovy/control/ParserPlugin.java @@ -18,9 +18,9 @@ */ package org.codehaus.groovy.control; -import org.codehaus.groovy.syntax.Reduction; -import org.codehaus.groovy.syntax.ParserException; import org.codehaus.groovy.ast.ModuleNode; +import org.codehaus.groovy.syntax.ParserException; +import org.codehaus.groovy.syntax.Reduction; import java.io.Reader; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/ResolveVisitor.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/ResolveVisitor.java b/src/main/org/codehaus/groovy/control/ResolveVisitor.java index 7e426aa..15448be 100644 --- a/src/main/org/codehaus/groovy/control/ResolveVisitor.java +++ b/src/main/org/codehaus/groovy/control/ResolveVisitor.java @@ -18,22 +18,60 @@ */ package org.codehaus.groovy.control; -import org.codehaus.groovy.ast.*; -import org.codehaus.groovy.ast.expr.*; +import org.codehaus.groovy.GroovyBugError; +import org.codehaus.groovy.ast.ASTNode; +import org.codehaus.groovy.ast.AnnotatedNode; +import org.codehaus.groovy.ast.AnnotationNode; +import org.codehaus.groovy.ast.ClassCodeExpressionTransformer; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.CompileUnit; +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.ModuleNode; +import org.codehaus.groovy.ast.PackageNode; +import org.codehaus.groovy.ast.Parameter; +import org.codehaus.groovy.ast.PropertyNode; +import org.codehaus.groovy.ast.Variable; +import org.codehaus.groovy.ast.VariableScope; +import org.codehaus.groovy.ast.expr.AnnotationConstantExpression; +import org.codehaus.groovy.ast.expr.BinaryExpression; +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.ConstantExpression; +import org.codehaus.groovy.ast.expr.ConstructorCallExpression; +import org.codehaus.groovy.ast.expr.DeclarationExpression; +import org.codehaus.groovy.ast.expr.Expression; +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.PropertyExpression; +import org.codehaus.groovy.ast.expr.VariableExpression; import org.codehaus.groovy.ast.stmt.BlockStatement; import org.codehaus.groovy.ast.stmt.CatchStatement; import org.codehaus.groovy.ast.stmt.ForStatement; import org.codehaus.groovy.ast.stmt.Statement; import org.codehaus.groovy.control.ClassNodeResolver.LookupResult; import org.codehaus.groovy.syntax.Types; -import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.transform.trait.Traits; import org.objectweb.asm.Opcodes; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Modifier; -import java.util.*; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; /** * Visitor to resolve Types and convert VariableExpression to http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/SourceUnit.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/SourceUnit.java b/src/main/org/codehaus/groovy/control/SourceUnit.java index fd2e53f..66950f4 100644 --- a/src/main/org/codehaus/groovy/control/SourceUnit.java +++ b/src/main/org/codehaus/groovy/control/SourceUnit.java @@ -18,15 +18,12 @@ */ package org.codehaus.groovy.control; +import antlr.CharScanner; +import antlr.MismatchedCharException; +import antlr.MismatchedTokenException; +import antlr.NoViableAltException; +import antlr.NoViableAltForCharException; import groovy.lang.GroovyClassLoader; - -import java.io.File; -import java.io.IOException; -import java.io.Reader; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; - import org.codehaus.groovy.GroovyBugError; import org.codehaus.groovy.ast.ModuleNode; import org.codehaus.groovy.control.io.FileReaderSource; @@ -36,14 +33,16 @@ import org.codehaus.groovy.control.io.URLReaderSource; import org.codehaus.groovy.control.messages.Message; import org.codehaus.groovy.control.messages.SimpleMessage; import org.codehaus.groovy.control.messages.SyntaxErrorMessage; -import org.codehaus.groovy.syntax.*; +import org.codehaus.groovy.syntax.Reduction; +import org.codehaus.groovy.syntax.SyntaxException; import org.codehaus.groovy.tools.Utilities; -import antlr.CharScanner; -import antlr.MismatchedTokenException; -import antlr.MismatchedCharException; -import antlr.NoViableAltException; -import antlr.NoViableAltForCharException; +import java.io.File; +import java.io.IOException; +import java.io.Reader; +import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; /** * Provides an anchor for a single source unit (usually a script file) http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/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 22b08a6..2b3e203 100644 --- a/src/main/org/codehaus/groovy/control/customizers/ASTTransformationCustomizer.groovy +++ b/src/main/org/codehaus/groovy/control/customizers/ASTTransformationCustomizer.groovy @@ -18,25 +18,21 @@ */ package org.codehaus.groovy.control.customizers -import org.codehaus.groovy.ast.expr.Expression -import org.codehaus.groovy.transform.ASTTransformation -import org.codehaus.groovy.control.CompilePhase -import org.codehaus.groovy.transform.GroovyASTTransformation -import org.codehaus.groovy.control.SourceUnit -import org.codehaus.groovy.classgen.GeneratorContext -import org.codehaus.groovy.ast.ClassNode -import org.codehaus.groovy.ast.AnnotationNode +import groovy.transform.CompilationUnitAware 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.classgen.GeneratorContext +import org.codehaus.groovy.control.CompilationUnit +import org.codehaus.groovy.control.CompilePhase +import org.codehaus.groovy.control.SourceUnit +import org.codehaus.groovy.transform.ASTTransformation +import org.codehaus.groovy.transform.GroovyASTTransformation import org.codehaus.groovy.transform.GroovyASTTransformationClass + import java.lang.annotation.Annotation -import org.codehaus.groovy.ast.expr.ClosureExpression -import org.codehaus.groovy.ast.expr.ConstantExpression -import org.codehaus.groovy.ast.expr.ClassExpression -import org.codehaus.groovy.ast.Parameter -import org.codehaus.groovy.ast.expr.ListExpression -import groovy.transform.CompilationUnitAware -import org.codehaus.groovy.control.CompilationUnit /** * This customizer allows applying an AST transformation to a source unit with http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/customizers/ImportCustomizer.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/customizers/ImportCustomizer.java b/src/main/org/codehaus/groovy/control/customizers/ImportCustomizer.java index a1069c0..780b554 100644 --- a/src/main/org/codehaus/groovy/control/customizers/ImportCustomizer.java +++ b/src/main/org/codehaus/groovy/control/customizers/ImportCustomizer.java @@ -26,7 +26,8 @@ import org.codehaus.groovy.control.CompilationFailedException; import org.codehaus.groovy.control.CompilePhase; import org.codehaus.groovy.control.SourceUnit; -import java.util.*; +import java.util.LinkedList; +import java.util.List; /** * This compilation customizer allows addiing various types of imports to the compilation unit. Supports adding : http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java b/src/main/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java index 79b5455..1bb302b 100644 --- a/src/main/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java +++ b/src/main/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java @@ -18,9 +18,66 @@ */ package org.codehaus.groovy.control.customizers; -import org.codehaus.groovy.ast.*; -import org.codehaus.groovy.ast.expr.*; -import org.codehaus.groovy.ast.stmt.*; +import org.codehaus.groovy.ast.ClassHelper; +import org.codehaus.groovy.ast.ClassNode; +import org.codehaus.groovy.ast.CodeVisitorSupport; +import org.codehaus.groovy.ast.GroovyCodeVisitor; +import org.codehaus.groovy.ast.ImportNode; +import org.codehaus.groovy.ast.MethodNode; +import org.codehaus.groovy.ast.ModuleNode; +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.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.DoWhileStatement; +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.classgen.BytecodeExpression; import org.codehaus.groovy.classgen.GeneratorContext; import org.codehaus.groovy.control.CompilationFailedException; @@ -28,7 +85,12 @@ import org.codehaus.groovy.control.CompilePhase; import org.codehaus.groovy.control.SourceUnit; import org.codehaus.groovy.syntax.Token; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; /** * This customizer allows securing source code by controlling what code constructs are allowed. For example, if you only http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/customizers/builder/ASTTransformationCustomizerFactory.groovy ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/customizers/builder/ASTTransformationCustomizerFactory.groovy b/src/main/org/codehaus/groovy/control/customizers/builder/ASTTransformationCustomizerFactory.groovy index 6a05834..4e4f5be 100644 --- a/src/main/org/codehaus/groovy/control/customizers/builder/ASTTransformationCustomizerFactory.groovy +++ b/src/main/org/codehaus/groovy/control/customizers/builder/ASTTransformationCustomizerFactory.groovy @@ -19,8 +19,8 @@ package org.codehaus.groovy.control.customizers.builder -import org.codehaus.groovy.control.customizers.ASTTransformationCustomizer import groovy.transform.CompileStatic +import org.codehaus.groovy.control.customizers.ASTTransformationCustomizer /** * This factory generates an {@link ASTTransformationCustomizer ast transformation customizer}. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/io/AbstractReaderSource.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/io/AbstractReaderSource.java b/src/main/org/codehaus/groovy/control/io/AbstractReaderSource.java index 706ae0b..1c1084c 100644 --- a/src/main/org/codehaus/groovy/control/io/AbstractReaderSource.java +++ b/src/main/org/codehaus/groovy/control/io/AbstractReaderSource.java @@ -18,12 +18,12 @@ */ package org.codehaus.groovy.control.io; -import java.io.BufferedReader; -import java.io.IOException; - import org.codehaus.groovy.control.CompilerConfiguration; import org.codehaus.groovy.control.Janitor; +import java.io.BufferedReader; +import java.io.IOException; + /** * For ReaderSources that can choose a parent class, a base that * provides common functionality. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/io/FileReaderSource.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/io/FileReaderSource.java b/src/main/org/codehaus/groovy/control/io/FileReaderSource.java index 162dfe4..b9d4360 100644 --- a/src/main/org/codehaus/groovy/control/io/FileReaderSource.java +++ b/src/main/org/codehaus/groovy/control/io/FileReaderSource.java @@ -18,12 +18,18 @@ */ package org.codehaus.groovy.control.io; -import java.io.*; +import org.codehaus.groovy.control.CompilerConfiguration; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; import java.net.URI; import java.nio.charset.Charset; -import org.codehaus.groovy.control.CompilerConfiguration; - /** * A ReaderSource for source files. * http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/io/InputStreamReaderSource.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/io/InputStreamReaderSource.java b/src/main/org/codehaus/groovy/control/io/InputStreamReaderSource.java index 499b07c..d018698 100644 --- a/src/main/org/codehaus/groovy/control/io/InputStreamReaderSource.java +++ b/src/main/org/codehaus/groovy/control/io/InputStreamReaderSource.java @@ -18,14 +18,14 @@ */ package org.codehaus.groovy.control.io; +import org.codehaus.groovy.control.CompilerConfiguration; + import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.net.URI; -import org.codehaus.groovy.control.CompilerConfiguration; - /** * A ReaderSource for source strings. * http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/io/ReaderSource.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/io/ReaderSource.java b/src/main/org/codehaus/groovy/control/io/ReaderSource.java index c73ffc1..76ddd3c 100644 --- a/src/main/org/codehaus/groovy/control/io/ReaderSource.java +++ b/src/main/org/codehaus/groovy/control/io/ReaderSource.java @@ -18,13 +18,13 @@ */ package org.codehaus.groovy.control.io; +import org.codehaus.groovy.control.HasCleanup; +import org.codehaus.groovy.control.Janitor; + import java.io.IOException; import java.io.Reader; import java.net.URI; -import org.codehaus.groovy.control.HasCleanup; -import org.codehaus.groovy.control.Janitor; - /** * An interface for things that can supply (and potentially resupply) a Reader * on a source stream. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/io/StringReaderSource.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/io/StringReaderSource.java b/src/main/org/codehaus/groovy/control/io/StringReaderSource.java index fe5e125..5e83de0 100644 --- a/src/main/org/codehaus/groovy/control/io/StringReaderSource.java +++ b/src/main/org/codehaus/groovy/control/io/StringReaderSource.java @@ -18,14 +18,14 @@ */ package org.codehaus.groovy.control.io; +import org.codehaus.groovy.control.CompilerConfiguration; + import java.io.IOException; import java.io.Reader; import java.io.StringReader; import java.net.URI; import java.net.URISyntaxException; -import org.codehaus.groovy.control.CompilerConfiguration; - /** * A ReaderSource for source strings. * http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/io/URLReaderSource.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/io/URLReaderSource.java b/src/main/org/codehaus/groovy/control/io/URLReaderSource.java index f5602e8..713ec86 100644 --- a/src/main/org/codehaus/groovy/control/io/URLReaderSource.java +++ b/src/main/org/codehaus/groovy/control/io/URLReaderSource.java @@ -18,6 +18,9 @@ */ package org.codehaus.groovy.control.io; +import groovy.lang.GroovyRuntimeException; +import org.codehaus.groovy.control.CompilerConfiguration; + import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; @@ -25,9 +28,6 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; -import groovy.lang.GroovyRuntimeException; -import org.codehaus.groovy.control.CompilerConfiguration; - /** * A ReaderSource for source files hosted at a URL. * http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/messages/ExceptionMessage.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/messages/ExceptionMessage.java b/src/main/org/codehaus/groovy/control/messages/ExceptionMessage.java index 34a0ee4..363b9f5 100644 --- a/src/main/org/codehaus/groovy/control/messages/ExceptionMessage.java +++ b/src/main/org/codehaus/groovy/control/messages/ExceptionMessage.java @@ -18,11 +18,11 @@ */ package org.codehaus.groovy.control.messages; -import java.io.PrintWriter; - import org.codehaus.groovy.control.Janitor; import org.codehaus.groovy.control.ProcessingUnit; +import java.io.PrintWriter; + /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/messages/LocatedMessage.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/messages/LocatedMessage.java b/src/main/org/codehaus/groovy/control/messages/LocatedMessage.java index b616131..d3368ac 100644 --- a/src/main/org/codehaus/groovy/control/messages/LocatedMessage.java +++ b/src/main/org/codehaus/groovy/control/messages/LocatedMessage.java @@ -18,12 +18,12 @@ */ package org.codehaus.groovy.control.messages; -import java.io.PrintWriter; - import org.codehaus.groovy.control.Janitor; import org.codehaus.groovy.control.SourceUnit; import org.codehaus.groovy.syntax.CSTNode; +import java.io.PrintWriter; + /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/messages/Message.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/messages/Message.java b/src/main/org/codehaus/groovy/control/messages/Message.java index cc0c023..0c2feab 100644 --- a/src/main/org/codehaus/groovy/control/messages/Message.java +++ b/src/main/org/codehaus/groovy/control/messages/Message.java @@ -18,13 +18,13 @@ */ package org.codehaus.groovy.control.messages; -import java.io.PrintWriter; - import org.codehaus.groovy.control.Janitor; import org.codehaus.groovy.control.ProcessingUnit; import org.codehaus.groovy.control.SourceUnit; import org.codehaus.groovy.syntax.SyntaxException; +import java.io.PrintWriter; + /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/messages/SimpleMessage.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/messages/SimpleMessage.java b/src/main/org/codehaus/groovy/control/messages/SimpleMessage.java index fadae7c..2cbc9d8 100644 --- a/src/main/org/codehaus/groovy/control/messages/SimpleMessage.java +++ b/src/main/org/codehaus/groovy/control/messages/SimpleMessage.java @@ -18,12 +18,12 @@ */ package org.codehaus.groovy.control.messages; -import java.io.PrintWriter; - import org.codehaus.groovy.control.Janitor; import org.codehaus.groovy.control.ProcessingUnit; import org.codehaus.groovy.control.SourceUnit; +import java.io.PrintWriter; + /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/messages/SyntaxErrorMessage.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/messages/SyntaxErrorMessage.java b/src/main/org/codehaus/groovy/control/messages/SyntaxErrorMessage.java index 759e3e6..be9339d 100644 --- a/src/main/org/codehaus/groovy/control/messages/SyntaxErrorMessage.java +++ b/src/main/org/codehaus/groovy/control/messages/SyntaxErrorMessage.java @@ -18,12 +18,12 @@ */ package org.codehaus.groovy.control.messages; -import java.io.PrintWriter; - import org.codehaus.groovy.control.Janitor; import org.codehaus.groovy.control.SourceUnit; import org.codehaus.groovy.syntax.SyntaxException; +import java.io.PrintWriter; + /** * A class for error messages produced by the parser system. * http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/control/messages/WarningMessage.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/control/messages/WarningMessage.java b/src/main/org/codehaus/groovy/control/messages/WarningMessage.java index 62c6069..71770e0 100644 --- a/src/main/org/codehaus/groovy/control/messages/WarningMessage.java +++ b/src/main/org/codehaus/groovy/control/messages/WarningMessage.java @@ -18,12 +18,12 @@ */ package org.codehaus.groovy.control.messages; -import java.io.PrintWriter; - import org.codehaus.groovy.control.Janitor; import org.codehaus.groovy.control.SourceUnit; import org.codehaus.groovy.syntax.CSTNode; +import java.io.PrintWriter; + /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/CachedClass.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/CachedClass.java b/src/main/org/codehaus/groovy/reflection/CachedClass.java index f0a57e9..d391fac 100644 --- a/src/main/org/codehaus/groovy/reflection/CachedClass.java +++ b/src/main/org/codehaus/groovy/reflection/CachedClass.java @@ -18,13 +18,17 @@ */ package org.codehaus.groovy.reflection; -import groovy.lang.*; - +import groovy.lang.Closure; +import groovy.lang.ExpandoMetaClass; +import groovy.lang.GroovyRuntimeException; +import groovy.lang.MetaClass; +import groovy.lang.MetaClassImpl; +import groovy.lang.MetaMethod; import org.codehaus.groovy.classgen.asm.BytecodeHelper; import org.codehaus.groovy.runtime.callsite.CallSiteClassLoader; import org.codehaus.groovy.runtime.metaclass.ClosureMetaClass; -import org.codehaus.groovy.util.LazyReference; import org.codehaus.groovy.util.FastArray; +import org.codehaus.groovy.util.LazyReference; import org.codehaus.groovy.util.ReferenceBundle; import java.lang.reflect.AccessibleObject; @@ -34,7 +38,16 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.security.AccessController; import java.security.PrivilegedAction; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; /** * @author Alex.Tkachman http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/CachedMethod.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/CachedMethod.java b/src/main/org/codehaus/groovy/reflection/CachedMethod.java index 2e2fc29..c8bdab6 100644 --- a/src/main/org/codehaus/groovy/reflection/CachedMethod.java +++ b/src/main/org/codehaus/groovy/reflection/CachedMethod.java @@ -21,17 +21,21 @@ package org.codehaus.groovy.reflection; import groovy.lang.MetaClassImpl; import groovy.lang.MetaMethod; import groovy.lang.MissingMethodException; - import org.codehaus.groovy.classgen.asm.BytecodeHelper; import org.codehaus.groovy.runtime.InvokerInvocationException; -import org.codehaus.groovy.runtime.callsite.*; +import org.codehaus.groovy.runtime.callsite.CallSite; +import org.codehaus.groovy.runtime.callsite.CallSiteGenerator; +import org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite; +import org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite; +import org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite; import org.codehaus.groovy.runtime.metaclass.MethodHelper; import java.lang.ref.SoftReference; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.*; +import java.util.Arrays; +import java.util.Comparator; /** * @author Alex.Tkachman http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/ClassInfo.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/ClassInfo.java b/src/main/org/codehaus/groovy/reflection/ClassInfo.java index 2d8bbaa..afbb5c8 100644 --- a/src/main/org/codehaus/groovy/reflection/ClassInfo.java +++ b/src/main/org/codehaus/groovy/reflection/ClassInfo.java @@ -18,17 +18,44 @@ */ package org.codehaus.groovy.reflection; -import groovy.lang.*; - +import groovy.lang.Closure; +import groovy.lang.ExpandoMetaClass; +import groovy.lang.ExpandoMetaClassCreationHandle; +import groovy.lang.GroovySystem; +import groovy.lang.MetaClass; +import groovy.lang.MetaClassRegistry; +import groovy.lang.MetaMethod; import org.codehaus.groovy.reflection.GroovyClassValue.ComputeValue; -import org.codehaus.groovy.reflection.stdclasses.*; -import org.codehaus.groovy.util.*; +import org.codehaus.groovy.reflection.stdclasses.ArrayCachedClass; +import org.codehaus.groovy.reflection.stdclasses.BigDecimalCachedClass; +import org.codehaus.groovy.reflection.stdclasses.BigIntegerCachedClass; +import org.codehaus.groovy.reflection.stdclasses.BooleanCachedClass; +import org.codehaus.groovy.reflection.stdclasses.ByteCachedClass; +import org.codehaus.groovy.reflection.stdclasses.CachedClosureClass; +import org.codehaus.groovy.reflection.stdclasses.CachedSAMClass; +import org.codehaus.groovy.reflection.stdclasses.CharacterCachedClass; +import org.codehaus.groovy.reflection.stdclasses.DoubleCachedClass; +import org.codehaus.groovy.reflection.stdclasses.FloatCachedClass; +import org.codehaus.groovy.reflection.stdclasses.IntegerCachedClass; +import org.codehaus.groovy.reflection.stdclasses.LongCachedClass; +import org.codehaus.groovy.reflection.stdclasses.NumberCachedClass; +import org.codehaus.groovy.reflection.stdclasses.ObjectCachedClass; +import org.codehaus.groovy.reflection.stdclasses.ShortCachedClass; +import org.codehaus.groovy.reflection.stdclasses.StringCachedClass; +import org.codehaus.groovy.util.Finalizable; +import org.codehaus.groovy.util.LazyReference; +import org.codehaus.groovy.util.LockableObject; +import org.codehaus.groovy.util.ManagedConcurrentLinkedQueue; +import org.codehaus.groovy.util.ManagedConcurrentMap; +import org.codehaus.groovy.util.ManagedReference; +import org.codehaus.groovy.util.ReferenceBundle; import org.codehaus.groovy.vmplugin.VMPluginFactory; import java.lang.ref.WeakReference; import java.math.BigDecimal; import java.math.BigInteger; -import java.util.*; +import java.util.Collection; +import java.util.Iterator; import java.util.concurrent.atomic.AtomicInteger; /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/ClassLoaderForClassArtifacts.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/ClassLoaderForClassArtifacts.java b/src/main/org/codehaus/groovy/reflection/ClassLoaderForClassArtifacts.java index a8781b1..ba24a6d 100644 --- a/src/main/org/codehaus/groovy/reflection/ClassLoaderForClassArtifacts.java +++ b/src/main/org/codehaus/groovy/reflection/ClassLoaderForClassArtifacts.java @@ -18,18 +18,17 @@ */ package org.codehaus.groovy.reflection; -import org.codehaus.groovy.runtime.callsite.GroovySunClassLoader; +import groovy.lang.MetaClassImpl; +import groovy.lang.MetaMethod; import org.codehaus.groovy.runtime.callsite.CallSite; +import org.codehaus.groovy.runtime.callsite.GroovySunClassLoader; import java.lang.ref.SoftReference; import java.lang.reflect.Constructor; import java.lang.reflect.Method; -import java.util.concurrent.atomic.AtomicInteger; import java.security.AccessController; import java.security.PrivilegedAction; - -import groovy.lang.MetaClassImpl; -import groovy.lang.MetaMethod; +import java.util.concurrent.atomic.AtomicInteger; public class ClassLoaderForClassArtifacts extends ClassLoader { public final SoftReference<Class> klazz; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/GeneratedMetaMethod.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/GeneratedMetaMethod.java b/src/main/org/codehaus/groovy/reflection/GeneratedMetaMethod.java index e448b3d..1823ce9 100644 --- a/src/main/org/codehaus/groovy/reflection/GeneratedMetaMethod.java +++ b/src/main/org/codehaus/groovy/reflection/GeneratedMetaMethod.java @@ -21,10 +21,20 @@ package org.codehaus.groovy.reflection; import groovy.lang.GroovyRuntimeException; import groovy.lang.MetaMethod; -import java.lang.reflect.Modifier; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.Serializable; import java.lang.reflect.Constructor; -import java.io.*; -import java.util.*; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; public abstract class GeneratedMetaMethod extends MetaMethod { private final String name; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/ReflectionUtils.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/ReflectionUtils.java b/src/main/org/codehaus/groovy/reflection/ReflectionUtils.java index 50337df..e621729 100644 --- a/src/main/org/codehaus/groovy/reflection/ReflectionUtils.java +++ b/src/main/org/codehaus/groovy/reflection/ReflectionUtils.java @@ -19,9 +19,9 @@ package org.codehaus.groovy.reflection; import java.util.Collection; +import java.util.Collections; import java.util.HashSet; import java.util.Set; -import java.util.Collections; /** * This class contains utility methods to determine which class called the http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/SunClassLoader.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/SunClassLoader.java b/src/main/org/codehaus/groovy/reflection/SunClassLoader.java index f3cb1ac..0a6a082 100644 --- a/src/main/org/codehaus/groovy/reflection/SunClassLoader.java +++ b/src/main/org/codehaus/groovy/reflection/SunClassLoader.java @@ -18,17 +18,17 @@ */ package org.codehaus.groovy.reflection; -import org.objectweb.asm.Opcodes; +import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.ClassReader; +import org.objectweb.asm.Opcodes; -import java.util.Map; -import java.util.HashMap; import java.io.IOException; import java.io.InputStream; import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.HashMap; +import java.util.Map; /** * Special class loader, which when running on Sun VM allows to generate accessor classes for any method http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java b/src/main/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java index e98f6b9..45a1c85 100644 --- a/src/main/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java +++ b/src/main/org/codehaus/groovy/reflection/stdclasses/BigDecimalCachedClass.java @@ -18,9 +18,10 @@ */ package org.codehaus.groovy.reflection.stdclasses; +import org.codehaus.groovy.reflection.ClassInfo; + import java.math.BigDecimal; import java.math.BigInteger; -import org.codehaus.groovy.reflection.ClassInfo; /** * @author Alex.Tkachman http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/stdclasses/CachedClosureClass.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/stdclasses/CachedClosureClass.java b/src/main/org/codehaus/groovy/reflection/stdclasses/CachedClosureClass.java index be9738f..7dcaed0 100644 --- a/src/main/org/codehaus/groovy/reflection/stdclasses/CachedClosureClass.java +++ b/src/main/org/codehaus/groovy/reflection/stdclasses/CachedClosureClass.java @@ -19,8 +19,8 @@ package org.codehaus.groovy.reflection.stdclasses; import org.codehaus.groovy.reflection.CachedClass; -import org.codehaus.groovy.reflection.ClassInfo; import org.codehaus.groovy.reflection.CachedMethod; +import org.codehaus.groovy.reflection.ClassInfo; public class CachedClosureClass extends CachedClass { private final Class[] parameterTypes; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/reflection/stdclasses/CachedSAMClass.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/reflection/stdclasses/CachedSAMClass.java b/src/main/org/codehaus/groovy/reflection/stdclasses/CachedSAMClass.java index 5988db0..6364f40 100644 --- a/src/main/org/codehaus/groovy/reflection/stdclasses/CachedSAMClass.java +++ b/src/main/org/codehaus/groovy/reflection/stdclasses/CachedSAMClass.java @@ -18,6 +18,15 @@ */ package org.codehaus.groovy.reflection.stdclasses; +import groovy.lang.Closure; +import groovy.util.ProxyGenerator; +import org.codehaus.groovy.GroovyBugError; +import org.codehaus.groovy.reflection.CachedClass; +import org.codehaus.groovy.reflection.ClassInfo; +import org.codehaus.groovy.reflection.ReflectionCache; +import org.codehaus.groovy.runtime.ConvertedClosure; +import org.codehaus.groovy.transform.trait.Traits; + import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.Proxy; @@ -31,16 +40,6 @@ import java.util.List; import java.util.ListIterator; import java.util.Map; -import groovy.lang.Closure; -import groovy.util.ProxyGenerator; - -import org.codehaus.groovy.GroovyBugError; -import org.codehaus.groovy.reflection.CachedClass; -import org.codehaus.groovy.reflection.ClassInfo; -import org.codehaus.groovy.reflection.ReflectionCache; -import org.codehaus.groovy.runtime.ConvertedClosure; -import org.codehaus.groovy.transform.trait.Traits; - public class CachedSAMClass extends CachedClass { private static final int ABSTRACT_STATIC_PRIVATE = http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/ConvertedMap.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/ConvertedMap.java b/src/main/org/codehaus/groovy/runtime/ConvertedMap.java index 811f269..393d55e 100644 --- a/src/main/org/codehaus/groovy/runtime/ConvertedMap.java +++ b/src/main/org/codehaus/groovy/runtime/ConvertedMap.java @@ -18,11 +18,11 @@ */ package org.codehaus.groovy.runtime; +import groovy.lang.Closure; + import java.lang.reflect.Method; import java.util.Map; -import groovy.lang.Closure; - /** * This class is a general adapter to adapt a map of closures to * any Java interface. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java index 5d23220..e3f7474 100644 --- a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java +++ b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java @@ -20,7 +20,30 @@ package org.codehaus.groovy.runtime; import groovy.io.FileType; import groovy.io.GroovyPrintWriter; -import groovy.lang.*; +import groovy.lang.Closure; +import groovy.lang.DelegatesTo; +import groovy.lang.DelegatingMetaClass; +import groovy.lang.EmptyRange; +import groovy.lang.ExpandoMetaClass; +import groovy.lang.GString; +import groovy.lang.GroovyObject; +import groovy.lang.GroovyRuntimeException; +import groovy.lang.GroovySystem; +import groovy.lang.IntRange; +import groovy.lang.ListWithDefault; +import groovy.lang.MapWithDefault; +import groovy.lang.MetaClass; +import groovy.lang.MetaClassImpl; +import groovy.lang.MetaClassRegistry; +import groovy.lang.MetaMethod; +import groovy.lang.MetaProperty; +import groovy.lang.MissingPropertyException; +import groovy.lang.ObjectRange; +import groovy.lang.PropertyValue; +import groovy.lang.Range; +import groovy.lang.SpreadMap; +import groovy.lang.Tuple2; +import groovy.lang.Writable; import groovy.transform.stc.ClosureParams; import groovy.transform.stc.FirstParam; import groovy.transform.stc.FromString; @@ -43,7 +66,24 @@ import org.codehaus.groovy.runtime.dgmimpl.NumberNumberDiv; import org.codehaus.groovy.runtime.dgmimpl.NumberNumberMinus; import org.codehaus.groovy.runtime.dgmimpl.NumberNumberMultiply; import org.codehaus.groovy.runtime.dgmimpl.NumberNumberPlus; -import org.codehaus.groovy.runtime.dgmimpl.arrays.*; +import org.codehaus.groovy.runtime.dgmimpl.arrays.BooleanArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.BooleanArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.ByteArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.ByteArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.CharacterArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.CharacterArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.DoubleArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.DoubleArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.FloatArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.FloatArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.IntegerArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.IntegerArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.LongArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.LongArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.ObjectArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.ObjectArrayPutAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.ShortArrayGetAtMetaMethod; +import org.codehaus.groovy.runtime.dgmimpl.arrays.ShortArrayPutAtMetaMethod; import org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl; import org.codehaus.groovy.runtime.metaclass.MissingPropertyExceptionNoStack; import org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation; @@ -53,7 +93,26 @@ import org.codehaus.groovy.tools.RootLoader; import org.codehaus.groovy.transform.trait.Traits; import org.codehaus.groovy.util.ArrayIterator; -import java.io.*; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.io.PrintStream; +import java.io.PrintWriter; +import java.io.Reader; +import java.io.StringWriter; +import java.io.UnsupportedEncodingException; +import java.io.Writer; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -70,7 +129,33 @@ import java.net.URL; import java.security.AccessController; import java.security.PrivilegedAction; import java.text.MessageFormat; -import java.util.*; +import java.util.AbstractCollection; +import java.util.AbstractMap; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.BitSet; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Queue; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.Stack; +import java.util.Timer; +import java.util.TimerTask; +import java.util.TreeMap; +import java.util.TreeSet; import java.util.concurrent.BlockingQueue; import java.util.logging.Logger; import java.util.regex.Matcher; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethodsSupport.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethodsSupport.java b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethodsSupport.java index 359b993..9d5784a 100644 --- a/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethodsSupport.java +++ b/src/main/org/codehaus/groovy/runtime/DefaultGroovyMethodsSupport.java @@ -26,7 +26,23 @@ import org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation; import java.io.Closeable; import java.io.IOException; import java.lang.reflect.Array; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Hashtable; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Queue; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.Stack; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.Vector; import java.util.logging.Logger; /** http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java b/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java index 9e4ce31..1c85e91 100644 --- a/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java +++ b/src/main/org/codehaus/groovy/runtime/DefaultGroovyStaticMethods.java @@ -19,20 +19,19 @@ package org.codehaus.groovy.runtime; import groovy.lang.Closure; +import org.codehaus.groovy.reflection.ReflectionUtils; +import org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation; import java.io.File; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.ResourceBundle; import java.util.Locale; +import java.util.ResourceBundle; import java.util.TimeZone; import java.util.regex.Matcher; -import org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation; -import org.codehaus.groovy.reflection.ReflectionUtils; - /** * This class defines all the new static groovy methods which appear on normal * JDK classes inside the Groovy environment. Static methods are used with the http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/FlushingStreamWriter.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/FlushingStreamWriter.java b/src/main/org/codehaus/groovy/runtime/FlushingStreamWriter.java index 3f16b16..6fb77b7 100644 --- a/src/main/org/codehaus/groovy/runtime/FlushingStreamWriter.java +++ b/src/main/org/codehaus/groovy/runtime/FlushingStreamWriter.java @@ -18,9 +18,9 @@ */ package org.codehaus.groovy.runtime; -import java.io.OutputStreamWriter; -import java.io.OutputStream; import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; /** * Stream writer which flushes after each write operation. http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/GroovyCategorySupport.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/GroovyCategorySupport.java b/src/main/org/codehaus/groovy/runtime/GroovyCategorySupport.java index 6626b83..4c64b05 100644 --- a/src/main/org/codehaus/groovy/runtime/GroovyCategorySupport.java +++ b/src/main/org/codehaus/groovy/runtime/GroovyCategorySupport.java @@ -19,8 +19,6 @@ package org.codehaus.groovy.runtime; import groovy.lang.Closure; -import java.lang.ref.SoftReference; - import org.codehaus.groovy.reflection.CachedClass; import org.codehaus.groovy.reflection.CachedMethod; import org.codehaus.groovy.reflection.ReflectionCache; @@ -28,7 +26,14 @@ import org.codehaus.groovy.runtime.metaclass.DefaultMetaClassInfo; import org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod; import org.codehaus.groovy.vmplugin.VMPluginFactory; -import java.util.*; +import java.lang.ref.SoftReference; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java b/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java index 0aaa633..a838c28 100644 --- a/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java +++ b/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java @@ -18,7 +18,12 @@ */ package org.codehaus.groovy.runtime; -import groovy.lang.*; +import groovy.lang.DelegatingMetaClass; +import groovy.lang.ExpandoMetaClass; +import groovy.lang.GroovyObject; +import groovy.lang.MetaBeanProperty; +import groovy.lang.MetaClass; +import groovy.lang.MetaMethod; import java.lang.reflect.Method; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/InvokerHelper.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/InvokerHelper.java b/src/main/org/codehaus/groovy/runtime/InvokerHelper.java index 069b926..f3471c1 100644 --- a/src/main/org/codehaus/groovy/runtime/InvokerHelper.java +++ b/src/main/org/codehaus/groovy/runtime/InvokerHelper.java @@ -18,7 +18,23 @@ */ package org.codehaus.groovy.runtime; -import groovy.lang.*; +import groovy.lang.Binding; +import groovy.lang.Closure; +import groovy.lang.GString; +import groovy.lang.GroovyInterceptable; +import groovy.lang.GroovyObject; +import groovy.lang.GroovyRuntimeException; +import groovy.lang.GroovySystem; +import groovy.lang.MetaClass; +import groovy.lang.MetaClassRegistry; +import groovy.lang.MissingMethodException; +import groovy.lang.MissingPropertyException; +import groovy.lang.Range; +import groovy.lang.Script; +import groovy.lang.SpreadMap; +import groovy.lang.SpreadMapEvaluatingException; +import groovy.lang.Tuple; +import groovy.lang.Writable; import org.codehaus.groovy.reflection.ClassInfo; import org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl; import org.codehaus.groovy.runtime.metaclass.MissingMethodExecutionFailed; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/MetaClassHelper.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/MetaClassHelper.java b/src/main/org/codehaus/groovy/runtime/MetaClassHelper.java index 28e8e0a..7839a59 100644 --- a/src/main/org/codehaus/groovy/runtime/MetaClassHelper.java +++ b/src/main/org/codehaus/groovy/runtime/MetaClassHelper.java @@ -18,13 +18,17 @@ */ package org.codehaus.groovy.runtime; -import groovy.lang.*; - +import groovy.lang.Closure; +import groovy.lang.GString; +import groovy.lang.GroovyObject; +import groovy.lang.GroovyRuntimeException; +import groovy.lang.MetaClass; +import groovy.lang.MetaMethod; import org.codehaus.groovy.reflection.CachedClass; -import org.codehaus.groovy.util.FastArray; import org.codehaus.groovy.reflection.ParameterTypes; import org.codehaus.groovy.reflection.ReflectionCache; import org.codehaus.groovy.runtime.wrappers.Wrapper; +import org.codehaus.groovy.util.FastArray; import java.lang.reflect.Array; import java.lang.reflect.Constructor; http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/MethodRankHelper.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/MethodRankHelper.java b/src/main/org/codehaus/groovy/runtime/MethodRankHelper.java index 1e4f996..eb6b7cd 100644 --- a/src/main/org/codehaus/groovy/runtime/MethodRankHelper.java +++ b/src/main/org/codehaus/groovy/runtime/MethodRankHelper.java @@ -20,6 +20,8 @@ package org.codehaus.groovy.runtime; import groovy.lang.MetaMethod; import groovy.lang.MetaProperty; +import org.codehaus.groovy.reflection.CachedClass; +import org.codehaus.groovy.reflection.ClassInfo; import java.lang.reflect.Constructor; import java.util.ArrayList; @@ -30,9 +32,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Set; -import org.codehaus.groovy.reflection.CachedClass; -import org.codehaus.groovy.reflection.ClassInfo; - /** * Utility class for MissingMethodException, MissingPropertyException etc. * This class contains methods assisting in ranking and listing probable intended http://git-wip-us.apache.org/repos/asf/groovy/blob/0cfb0d91/src/main/org/codehaus/groovy/runtime/NullObject.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/runtime/NullObject.java b/src/main/org/codehaus/groovy/runtime/NullObject.java index c281db8..48f9170 100644 --- a/src/main/org/codehaus/groovy/runtime/NullObject.java +++ b/src/main/org/codehaus/groovy/runtime/NullObject.java @@ -18,12 +18,12 @@ */ package org.codehaus.groovy.runtime; -import java.util.Collections; -import java.util.Iterator; - import groovy.lang.Closure; import groovy.lang.GroovyObjectSupport; +import java.util.Collections; +import java.util.Iterator; + public class NullObject extends GroovyObjectSupport { private static final NullObject INSTANCE = new NullObject();
