Repository: groovy Updated Branches: refs/heads/GROOVY_2_5_X ccd72534f -> c66da8eeb
Minor refactoring Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c66da8ee Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c66da8ee Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c66da8ee Branch: refs/heads/GROOVY_2_5_X Commit: c66da8eebbe87df0c89a78f4dbabfcc173243433 Parents: ccd7253 Author: sunlan <[email protected]> Authored: Tue Nov 21 22:37:05 2017 +0800 Committer: sunlan <[email protected]> Committed: Tue Nov 21 22:37:05 2017 +0800 ---------------------------------------------------------------------- .../BinaryExpressionMultiTypeDispatcher.java | 3 +-- .../groovy/classgen/asm/InvocationWriter.java | 4 ++-- .../classgen/asm/OptimizingStatementWriter.java | 22 +++++++++----------- .../classgen/asm/StatementMetaTypeChooser.java | 2 +- .../groovy/classgen/asm/StatementWriter.java | 4 ++-- .../classgen/asm/sc/StaticInvocationWriter.java | 4 ++-- ...ypesBinaryExpressionMultiTypeDispatcher.java | 2 +- .../asm/sc/StaticTypesCallSiteWriter.java | 6 +++--- .../classgen/asm/sc/StaticTypesTypeChooser.java | 4 ++-- 9 files changed, 24 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java b/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java index 98c2dc0..02a3ee0 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java +++ b/src/main/org/codehaus/groovy/classgen/asm/BinaryExpressionMultiTypeDispatcher.java @@ -239,8 +239,7 @@ public class BinaryExpressionMultiTypeDispatcher extends BinaryExpressionHelper Expression leftExpression = binExp.getLeftExpression(); if (!(leftExpression instanceof BinaryExpression)) return false; BinaryExpression leftBinExpr = (BinaryExpression) leftExpression; - if (leftBinExpr.getOperation().getType() != LEFT_SQUARE_BRACKET) return false; - return true; + return leftBinExpr.getOperation().getType() == LEFT_SQUARE_BRACKET; } private boolean doAssignmentToArray(BinaryExpression binExp) { http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/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 5557983..01b6cda 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/InvocationWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/InvocationWriter.java @@ -275,7 +275,7 @@ public class InvocationWriter { } StatementMeta meta = null; - if (origin!=null) meta = (StatementMeta) origin.getNodeMetaData(StatementMeta.class); + if (origin!=null) meta = origin.getNodeMetaData(StatementMeta.class); MethodNode mn = null; if (meta!=null) mn = meta.target; @@ -523,7 +523,7 @@ public class InvocationWriter { private boolean writeDirectConstructorCall(ConstructorCallExpression call) { if (!controller.isFastPath()) return false; - StatementMeta meta = (StatementMeta) call.getNodeMetaData(StatementMeta.class); + StatementMeta meta = call.getNodeMetaData(StatementMeta.class); ConstructorNode cn = null; if (meta!=null) cn = (ConstructorNode) meta.target; if (cn==null) return false; http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/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 8696637..6ebeb11 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java @@ -148,7 +148,7 @@ public class OptimizingStatementWriter extends StatementWriter { @Override public void writeBlockStatement(BlockStatement statement) { - StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); + StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); if (fastPathData==null) { @@ -175,7 +175,7 @@ public class OptimizingStatementWriter extends StatementWriter { if (controller.isFastPath()) { super.writeDoWhileLoop(statement); } else { - StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); + StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; @@ -213,7 +213,7 @@ public class OptimizingStatementWriter extends StatementWriter { if (controller.isFastPath()) { super.writeForInLoop(statement); } else { - StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); + StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; @@ -233,7 +233,7 @@ public class OptimizingStatementWriter extends StatementWriter { if (controller.isFastPath()) { super.writeForLoopWithClosureList(statement); } else { - StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); + StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; @@ -253,7 +253,7 @@ public class OptimizingStatementWriter extends StatementWriter { if (controller.isFastPath()) { super.writeWhileLoop(statement); } else { - StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); + StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); FastPathData fastPathData = writeGuards(meta, statement); boolean oldFastPathBlock = fastPathBlocked; @@ -294,8 +294,7 @@ public class OptimizingStatementWriter extends StatementWriter { // fastPathBlocked -> slow path if (fastPathBlocked) return false; // controller.isFastPath() -> fastPath - if (controller.isFastPath()) return false; - return true; + return !controller.isFastPath(); } @Override @@ -303,7 +302,7 @@ public class OptimizingStatementWriter extends StatementWriter { if (controller.isFastPath()) { super.writeReturn(statement); } else { - StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); + StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); if (isNewPathFork(meta) && writeDeclarationExtraction(statement)) { if (meta.declaredVariableExpression != null) { // declaration was replaced by assignment so we need to define the variable @@ -331,7 +330,7 @@ public class OptimizingStatementWriter extends StatementWriter { if (controller.isFastPath()) { super.writeExpressionStatement(statement); } else { - StatementMeta meta = (StatementMeta) statement.getNodeMetaData(StatementMeta.class); + StatementMeta meta = statement.getNodeMetaData(StatementMeta.class); // we have to have handle DelcarationExpressions special, since their // entry should be outside the optimization path, we have to do that of // course only if we are actually going to do two different paths, @@ -417,7 +416,7 @@ public class OptimizingStatementWriter extends StatementWriter { } private static StatementMeta addMeta(ASTNode node) { - StatementMeta metaOld = (StatementMeta) node.getNodeMetaData(StatementMeta.class); + StatementMeta metaOld = node.getNodeMetaData(StatementMeta.class); StatementMeta meta = metaOld; if (meta==null) meta = new StatementMeta(); meta.optimize = true; @@ -882,8 +881,7 @@ public class OptimizingStatementWriter extends StatementWriter { private static boolean validTypeForCall(ClassNode type) { // do call only for final classes and primitive types if (isPrimitiveType(type)) return true; - if ((type.getModifiers() & ACC_FINAL)>0) return true; - return false; + return (type.getModifiers() & ACC_FINAL) > 0; } @Override http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/src/main/org/codehaus/groovy/classgen/asm/StatementMetaTypeChooser.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/StatementMetaTypeChooser.java b/src/main/org/codehaus/groovy/classgen/asm/StatementMetaTypeChooser.java index 586a183..2ada09d 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/StatementMetaTypeChooser.java +++ b/src/main/org/codehaus/groovy/classgen/asm/StatementMetaTypeChooser.java @@ -35,7 +35,7 @@ import org.codehaus.groovy.ast.expr.VariableExpression; public class StatementMetaTypeChooser implements TypeChooser { public ClassNode resolveType(final Expression exp, final ClassNode current) { if (exp instanceof ClassExpression) return ClassHelper.CLASS_Type; - OptimizingStatementWriter.StatementMeta meta = (OptimizingStatementWriter.StatementMeta) exp.getNodeMetaData(OptimizingStatementWriter.StatementMeta.class); + OptimizingStatementWriter.StatementMeta meta = exp.getNodeMetaData(OptimizingStatementWriter.StatementMeta.class); ClassNode type = null; if (meta != null) type = meta.type; if (type != null) return type; http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/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 5c14e73..af6136a 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/StatementWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/StatementWriter.java @@ -160,7 +160,7 @@ public class StatementWriter { ClosureListExpression clExpr = (ClosureListExpression) loop.getCollectionExpression(); controller.getCompileStack().pushVariableScope(clExpr.getVariableScope()); - List expressions = clExpr.getExpressions(); + List<Expression> expressions = clExpr.getExpressions(); int size = expressions.size(); // middle element is condition, lower half is init, higher half is increment @@ -178,7 +178,7 @@ public class StatementWriter { mv.visitLabel(cond); // visit condition leave boolean on stack { - Expression condExpr = (Expression) expressions.get(condIndex); + Expression condExpr = expressions.get(condIndex); int mark = controller.getOperandStack().getStackLength(); condExpr.visit(controller.getAcg()); controller.getOperandStack().castToBool(mark,true); http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/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 778d740..90c3147 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java @@ -447,11 +447,11 @@ public class StaticInvocationWriter extends InvocationWriter { Parameter curParam = para[i]; ClassNode curParamType = curParam.getType(); Expression curArg = j < argumentList.size() ? argumentList.get(j) : null; - Expression initialExpression = (Expression) curParam.getNodeMetaData(StaticTypesMarker.INITIAL_EXPRESSION); + Expression initialExpression = curParam.getNodeMetaData(StaticTypesMarker.INITIAL_EXPRESSION); if (initialExpression == null && curParam.hasInitialExpression()) initialExpression = curParam.getInitialExpression(); if (initialExpression == null && curParam.getNodeMetaData(Verifier.INITIAL_EXPRESSION)!=null) { - initialExpression = (Expression) curParam.getNodeMetaData(Verifier.INITIAL_EXPRESSION); + initialExpression = curParam.getNodeMetaData(Verifier.INITIAL_EXPRESSION); } ClassNode curArgType = curArg == null ? null : typeChooser.resolveType(curArg, classNode); http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/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 9441007..129e1dd 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesBinaryExpressionMultiTypeDispatcher.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesBinaryExpressionMultiTypeDispatcher.java @@ -329,7 +329,7 @@ public class StaticTypesBinaryExpressionMultiTypeDispatcher extends BinaryExpres if (field != null && Modifier.isPrivate(field.getModifiers()) && (StaticInvocationWriter.isPrivateBridgeMethodsCallAllowed(receiverType, classNode) || StaticInvocationWriter.isPrivateBridgeMethodsCallAllowed(classNode,receiverType)) && !receiverType.equals(classNode)) { - Map<String, MethodNode> mutators = (Map<String, MethodNode>) receiverType.redirect().getNodeMetaData(StaticCompilationMetadataKeys.PRIVATE_FIELDS_MUTATORS); + Map<String, MethodNode> mutators = receiverType.redirect().getNodeMetaData(StaticCompilationMetadataKeys.PRIVATE_FIELDS_MUTATORS); if (mutators != null) { MethodNode methodNode = mutators.get(fieldName); if (methodNode != null) { http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/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 65c968f..e1303eb 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java @@ -270,7 +270,7 @@ public class StaticTypesCallSiteWriter extends CallSiteWriter implements Opcodes } private void writeListDotProperty(final Expression receiver, final String methodName, final MethodVisitor mv, final boolean safe) { - ClassNode componentType = (ClassNode) receiver.getNodeMetaData(StaticCompilationMetadataKeys.COMPONENT_TYPE); + ClassNode componentType = receiver.getNodeMetaData(StaticCompilationMetadataKeys.COMPONENT_TYPE); if (componentType==null) { componentType = OBJECT_TYPE; } @@ -386,7 +386,7 @@ public class StaticTypesCallSiteWriter extends CallSiteWriter implements Opcodes if (field!=null && Modifier.isPrivate(field.getModifiers()) && (StaticInvocationWriter.isPrivateBridgeMethodsCallAllowed(receiverType, classNode) || StaticInvocationWriter.isPrivateBridgeMethodsCallAllowed(classNode,receiverType)) && !receiverType.equals(classNode)) { - Map<String, MethodNode> accessors = (Map<String, MethodNode>) receiverType.redirect().getNodeMetaData(StaticCompilationMetadataKeys.PRIVATE_FIELDS_ACCESSORS); + Map<String, MethodNode> accessors = receiverType.redirect().getNodeMetaData(StaticCompilationMetadataKeys.PRIVATE_FIELDS_ACCESSORS); if (accessors!=null) { MethodNode methodNode = accessors.get(fieldName); if (methodNode!=null) { @@ -417,7 +417,7 @@ public class StaticTypesCallSiteWriter extends CallSiteWriter implements Opcodes if (controller.getInvocationWriter() instanceof StaticInvocationWriter) { MethodCallExpression currentCall = ((StaticInvocationWriter) controller.getInvocationWriter()).getCurrentCall(); if (currentCall != null && currentCall.getNodeMetaData(StaticTypesMarker.IMPLICIT_RECEIVER) != null) { - property = (String) currentCall.getNodeMetaData(StaticTypesMarker.IMPLICIT_RECEIVER); + property = currentCall.getNodeMetaData(StaticTypesMarker.IMPLICIT_RECEIVER); String[] props = property.split("\\."); BytecodeExpression thisLoader = new BytecodeExpression() { @Override http://git-wip-us.apache.org/repos/asf/groovy/blob/c66da8ee/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesTypeChooser.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesTypeChooser.java b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesTypeChooser.java index b54c988..a3e4551 100644 --- a/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesTypeChooser.java +++ b/src/main/org/codehaus/groovy/classgen/asm/sc/StaticTypesTypeChooser.java @@ -37,9 +37,9 @@ public class StaticTypesTypeChooser extends StatementMetaTypeChooser { @Override public ClassNode resolveType(final Expression exp, final ClassNode current) { ASTNode target = exp instanceof VariableExpression ? getTarget((VariableExpression) exp) : exp; - ClassNode inferredType = (ClassNode) target.getNodeMetaData(StaticTypesMarker.DECLARATION_INFERRED_TYPE); + ClassNode inferredType = target.getNodeMetaData(StaticTypesMarker.DECLARATION_INFERRED_TYPE); if (inferredType == null) { - inferredType = (ClassNode) target.getNodeMetaData(StaticTypesMarker.INFERRED_TYPE); + inferredType = target.getNodeMetaData(StaticTypesMarker.INFERRED_TYPE); if (inferredType == null && target instanceof VariableExpression && ((VariableExpression) target).getAccessedVariable() instanceof Parameter) { target = (Parameter) ((VariableExpression) target).getAccessedVariable(); inferredType = ((Parameter) target).getOriginType();
