This is an automated email from the ASF dual-hosted git repository.
emilles pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new 0b2155d minor edits
0b2155d is described below
commit 0b2155dd202107b5dfca51a36ada20884c983d69
Author: Eric Milles <[email protected]>
AuthorDate: Sun Nov 17 18:35:06 2019 -0600
minor edits
---
.../transform/stc/StaticTypeCheckingVisitor.java | 85 ++++++++++------------
1 file changed, 40 insertions(+), 45 deletions(-)
diff --git
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index fa99933..acdd3d9 100644
---
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -773,8 +773,6 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
@Override
public void visitBinaryExpression(final BinaryExpression expression) {
- boolean isAssignment =
expression.getOperation().isA(ASSIGNMENT_OPERATOR);
-
BinaryExpression enclosingBinaryExpression =
typeCheckingContext.getEnclosingBinaryExpression();
typeCheckingContext.pushEnclosingBinaryExpression(expression);
try {
@@ -851,6 +849,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
}
}
+ boolean isAssignment =
expression.getOperation().isA(ASSIGNMENT_OPERATOR);
if (isAssignment && lType.isUsingGenerics() &&
missesGenericsTypes(resultType)) {
// unchecked assignment
// examples:
@@ -1006,7 +1005,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
// because we need to check if a setter uses @DelegatesTo
VariableExpression ve = varX("%", setterInfo.receiverType);
// for compound assignment "x op= y" find type as if it was "x = (x op
y)"
- final Expression newRightExpression = isCompoundAssignment(expression)
+ Expression newRightExpression = isCompoundAssignment(expression)
? binX(leftExpression, getOpWithoutEqual(expression),
rightExpression)
: rightExpression;
MethodCallExpression call = callX(ve, setterInfo.name,
newRightExpression);
@@ -1865,7 +1864,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
@Override
public void visitProperty(final PropertyNode node) {
- final boolean osc = typeCheckingContext.isInStaticContext;
+ boolean osc = typeCheckingContext.isInStaticContext;
try {
typeCheckingContext.isInStaticContext = node.isInStaticContext();
currentProperty = node;
@@ -1878,7 +1877,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
@Override
public void visitField(final FieldNode node) {
- final boolean osc = typeCheckingContext.isInStaticContext;
+ boolean osc = typeCheckingContext.isInStaticContext;
try {
typeCheckingContext.isInStaticContext = node.isInStaticContext();
currentField = node;
@@ -1906,7 +1905,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
@Override
public void visitForLoop(final ForStatement forLoop) {
// collect every variable expression used in the loop body
- final Map<VariableExpression, ClassNode> varOrigType = new HashMap<>();
+ Map<VariableExpression, ClassNode> varOrigType = new HashMap<>();
forLoop.getLoopBlock().visit(new
VariableExpressionTypeMemoizer(varOrigType));
// visit body
@@ -1917,7 +1916,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
super.visitForLoop(forLoop);
} else {
collectionExpression.visit(this);
- final ClassNode collectionType = getType(collectionExpression);
+ ClassNode collectionType = getType(collectionExpression);
ClassNode forLoopVariableType = forLoop.getVariableType();
ClassNode componentType;
if (Character_TYPE.equals(getWrapper(forLoopVariableType)) &&
STRING_TYPE.equals(collectionType)) {
@@ -2480,7 +2479,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
typeCheckingContext.pushErrorCollector(collector);
- final boolean osc = typeCheckingContext.isInStaticContext;
+ boolean osc = typeCheckingContext.isInStaticContext;
try {
typeCheckingContext.isInStaticContext = node.isStatic();
super.visitMethod(node);
@@ -2527,7 +2526,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
@Override
public void visitStaticMethodCallExpression(final
StaticMethodCallExpression call) {
- final String name = call.getMethod();
+ String name = call.getMethod();
if (name == null) {
addStaticTypeError("cannot resolve dynamic method name at compile
time.", call);
return;
@@ -2544,7 +2543,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
checkForbiddenSpreadArgument(argumentList);
- final ClassNode receiver = call.getOwnerType();
+ ClassNode receiver = call.getOwnerType();
visitMethodCallArguments(receiver, argumentList, false, null);
ClassNode[] args = getArgumentTypes(argumentList);
@@ -2646,7 +2645,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
ArgumentListExpression newArgs = args(expressions);
for (int i = 0, expressionsSize = expressions.size(); i <
expressionsSize; i++) {
- final Expression expression = expressions.get(i);
+ Expression expression = expressions.get(i);
if (visitClosures && expression instanceof ClosureExpression
|| !visitClosures && !(expression instanceof
ClosureExpression)) {
if (i < params.length && visitClosures) {
@@ -2957,10 +2956,9 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
Iterator<ClassNode[]> candIt = candidates.iterator();
while (candIt.hasNext()) {
ClassNode[] inferred = candIt.next();
- final int length = closureParams.length;
- for (int i = 0; i < length; i++) {
+ for (int i = 0, n = closureParams.length; i < n; i += 1) {
Parameter closureParam = closureParams[i];
- final ClassNode originType = closureParam.getOriginType();
+ ClassNode originType = closureParam.getOriginType();
ClassNode inferredType;
if (i < inferred.length - 1 || inferred.length ==
closureParams.length) {
inferredType = inferred[i];
@@ -2973,7 +2971,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
continue;
}
}
- if (!typeCheckMethodArgumentWithGenerics(originType,
inferredType, i == length - 1)) {
+ if (!typeCheckMethodArgumentWithGenerics(originType,
inferredType, i == (n - 1))) {
candIt.remove();
}
}
@@ -2990,10 +2988,9 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
if (closureParams.length == 0 && inferred.length == 1) {
expression.putNodeMetaData(CLOSURE_ARGUMENTS, inferred);
} else {
- final int length = closureParams.length;
- for (int i = 0; i < length; i++) {
+ for (int i = 0, n = closureParams.length; i < n; i += 1) {
Parameter closureParam = closureParams[i];
- final ClassNode originType = closureParam.getOriginType();
+ ClassNode originType = closureParam.getOriginType();
ClassNode inferredType = OBJECT_TYPE;
if (i < inferred.length - 1 || inferred.length ==
closureParams.length) {
inferredType = inferred[i];
@@ -3005,7 +3002,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
addError("Incorrect number of parameters. Expected
" + inferred.length + " but found " + closureParams.length, expression);
}
}
- boolean lastArg = i == length - 1;
+ boolean lastArg = i == (n - 1);
if (!typeCheckMethodArgumentWithGenerics(originType,
inferredType, lastArg)) {
addError("Expected parameter of type " +
inferredType.toString(false) + " but got " + originType.toString(false),
closureParam.getType());
@@ -3019,8 +3016,8 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
private ClassNode[] resolveGenericsFromTypeHint(final ClassNode receiver,
final Expression arguments, final MethodNode selectedMethod, final ClassNode[]
signature) {
ClassNode dummyResultNode = new ClassNode("ClForInference$" +
UNIQUE_LONG.incrementAndGet(), 0, OBJECT_TYPE).getPlainNodeReference();
- final GenericsType[] genericTypes = new GenericsType[signature.length];
- for (int i = 0; i < signature.length; i++) {
+ GenericsType[] genericTypes = new GenericsType[signature.length];
+ for (int i = 0, n = signature.length; i < n; i += 1) {
genericTypes[i] = new GenericsType(signature[i]);
}
dummyResultNode.setGenericsTypes(genericTypes);
@@ -3134,13 +3131,13 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
}
}
} else {
- final List<Expression> expressions =
arguments.getExpressions();
- final int expressionsSize = expressions.size();
+ List<Expression> expressions = arguments.getExpressions();
+ int expressionsSize = expressions.size();
Expression parameter = annotation.getMember("target");
String parameterName = parameter instanceof
ConstantExpression ? parameter.getText() : "";
// todo: handle vargs!
for (int j = 0, paramsLength = params.length; j <
paramsLength; j++) {
- final Parameter methodParam = params[j];
+ Parameter methodParam = params[j];
List<AnnotationNode> targets =
methodParam.getAnnotations(DELEGATES_TO_TARGET);
if (targets != null && targets.size() == 1) {
AnnotationNode targetAnnotation = targets.get(0);
// @DelegatesTo.Target Obj foo
@@ -3756,8 +3753,8 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
if (allParametersAndArgumentsMatch(parameters, args) < 0 &&
lastArgMatchesVarg(parameters, args) < 0) {
StringBuilder sb = new StringBuilder("[");
- for (int i = 0, parametersLength = parameters.length; i <
parametersLength; i++) {
- final Parameter parameter = parameters[i];
+ for (int i = 0, parametersLength = parameters.length; i <
parametersLength; i += 1) {
+ Parameter parameter = parameters[i];
sb.append(parameter.getType().getName());
if (i < parametersLength - 1) sb.append(", ");
}
@@ -3994,9 +3991,8 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
}
private boolean isDelegateOrOwnerInClosure(final Expression exp) {
- return typeCheckingContext.getEnclosingClosure() != null &&
- exp instanceof VariableExpression &&
- (("delegate".equals(((VariableExpression) exp).getName())) ||
("owner".equals(((VariableExpression) exp).getName())));
+ return typeCheckingContext.getEnclosingClosure() != null && exp
instanceof VariableExpression
+ && (("delegate".equals(((VariableExpression) exp).getName()))
|| ("owner".equals(((VariableExpression) exp).getName())));
}
protected boolean checkCast(final ClassNode targetType, final Expression
source) {
@@ -4393,7 +4389,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
}
protected ClassNode inferComponentType(final ClassNode containerType,
final ClassNode indexType) {
- final ClassNode componentType = containerType.getComponentType();
+ ClassNode componentType = containerType.getComponentType();
if (componentType == null) {
// GROOVY-5521
// try to identify a getAt method
@@ -4472,14 +4468,14 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
protected static String prettyPrintMethodList(final List<MethodNode>
nodes) {
StringBuilder sb = new StringBuilder("[");
- for (int i = 0, nodesSize = nodes.size(); i < nodesSize; i++) {
- final MethodNode node = nodes.get(i);
+ for (int i = 0, n = nodes.size(); i < n; i += 1) {
+ MethodNode node = nodes.get(i);
sb.append(node.getReturnType().toString(false));
sb.append(" ");
sb.append(node.getDeclaringClass().toString(false));
sb.append("#");
sb.append(toMethodParametersString(node.getName(),
extractTypesFromParameters(node.getParameters())));
- if (i < nodesSize - 1) sb.append(", ");
+ if (i < n - 1) sb.append(", ");
}
sb.append("]");
return sb.toString();
@@ -4871,7 +4867,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
ClosureExpression closureExpression =
enclosingClosure.getClosureExpression();
ClassNode[] closureParamTypes =
closureExpression.getNodeMetaData(CLOSURE_ARGUMENTS);
if (closureParamTypes == null) return null;
- final Parameter[] parameters = closureExpression.getParameters();
+ Parameter[] parameters = closureExpression.getParameters();
String name = parameter.getName();
if (parameters != null) {
@@ -5227,9 +5223,9 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
if (expression.getNodeMetaData(CLOSURE_ARGUMENTS) != null) {
closureParamTypes =
expression.getNodeMetaData(CLOSURE_ARGUMENTS);
}
- final Parameter[] parameters = sam.getParameters();
- for (int i = 0; i < parameters.length; i++) {
- final Parameter parameter = parameters[i];
+ Parameter[] parameters = sam.getParameters();
+ for (int i = 0, n = parameters.length; i < n; i += 1) {
+ Parameter parameter = parameters[i];
if (parameter.getOriginType().isUsingGenerics() &&
closureParamTypes.length > i) {
genericsToConnect.add(new
ClassNode[]{closureParamTypes[i], parameter.getOriginType()});
}
@@ -5252,8 +5248,8 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
GenericsType[] expectedGenericsTypes =
expected.getGenericsTypes();
GenericsType[] foundGenericsTypes =
generifiedType.getGenericsTypes();
- for (int i = 0; i < expectedGenericsTypes.length; i++)
{
- final GenericsType type = expectedGenericsTypes[i];
+ for (int i = 0, n = expectedGenericsTypes.length; i <
n; i += 1) {
+ GenericsType type = expectedGenericsTypes[i];
if (type.isPlaceholder()) {
String name = type.getName();
placeholders.put(new GenericsTypeName(name),
foundGenericsTypes[i]);
@@ -5316,7 +5312,7 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
if (isPrimitiveType(receiver) && !isPrimitiveType(declaringClass)) {
receiver = getWrapper(receiver);
}
- final List<ClassNode> queue;
+ List<ClassNode> queue;
if (receiver instanceof UnionTypeClassNode) {
queue = Arrays.asList(((UnionTypeClassNode)
receiver).getDelegates());
} else {
@@ -5376,15 +5372,14 @@ public class StaticTypeCheckingVisitor extends
ClassCodeVisitorSupport {
if (!typeCheckMethodsWithGenerics(receiver, arguments,
candidateMethod)) {
Map<GenericsTypeName, GenericsType> classGTs =
GenericsUtils.extractPlaceholders(receiver);
ClassNode[] ptypes = new
ClassNode[candidateMethod.getParameters().length];
- final Parameter[] parameters = candidateMethod.getParameters();
- for (int i = 0; i < parameters.length; i++) {
- final Parameter parameter = parameters[i];
+ Parameter[] parameters = candidateMethod.getParameters();
+ for (int i = 0, n = parameters.length; i < n; i += 1) {
+ Parameter parameter = parameters[i];
ClassNode type = parameter.getType();
ptypes[i] = fullyResolveType(type, classGTs);
}
addStaticTypeError("Cannot call " +
toMethodGenericTypesString(candidateMethod) + receiver.toString(false) + "#" +
- toMethodParametersString(candidateMethod.getName(),
ptypes) +
- " with arguments " + formatArgumentList(arguments),
location);
+ toMethodParametersString(candidateMethod.getName(),
ptypes) + " with arguments " + formatArgumentList(arguments), location);
return false;
}
return true;