You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2020/05/15 16:26:09 UTC
[groovy] branch master updated: Trivial refactoring: extract common
variable
This is an automated email from the ASF dual-hosted git repository.
sunlan 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 d58db7f Trivial refactoring: extract common variable
d58db7f is described below
commit d58db7f415d3c04549f283d88b10ef02f3595dea
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sat May 16 00:26:01 2020 +0800
Trivial refactoring: extract common variable
---
.../org/codehaus/groovy/runtime/MetaClassHelper.java | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java b/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java
index 8649052..0545ca1 100644
--- a/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java
+++ b/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java
@@ -349,10 +349,11 @@ public class MetaClassHelper {
public static long calculateParameterDistance(Class[] arguments, ParameterTypes pt) {
CachedClass[] parameters = pt.getParameterTypes();
- if (parameters.length == 0) return 0;
+ final int parametersLength = parameters.length;
+ if (parametersLength == 0) return 0;
long ret = 0;
- int noVargsLength = parameters.length - 1;
+ int noVargsLength = parametersLength - 1;
// if the number of parameters does not match we have
// a vargs usage
@@ -444,7 +445,8 @@ public class MetaClassHelper {
ret += calculateParameterDistance(arguments[i], parameters[i]);
}
- if (arguments.length == parameters.length) {
+ final int argumentsLength = arguments.length;
+ if (argumentsLength == parametersLength) {
// case C&D, we use baseType to calculate and set it
// to the value we need according to case C and D
CachedClass baseType = parameters[noVargsLength]; // case C
@@ -453,13 +455,13 @@ public class MetaClassHelper {
ret += 2L << VARGS_SHIFT; // penalty for vargs
}
ret += calculateParameterDistance(arguments[noVargsLength], baseType);
- } else if (arguments.length > parameters.length) {
+ } else if (argumentsLength > parametersLength) {
// case B
// we give our a vargs penalty for each exceeding argument and iterate
// by using parameters[noVargsLength].getComponentType()
- ret += (2L + arguments.length - parameters.length) << VARGS_SHIFT; // penalty for vargs
+ ret += (2L + argumentsLength - parametersLength) << VARGS_SHIFT; // penalty for vargs
CachedClass vargsType = ReflectionCache.getCachedClass(parameters[noVargsLength].getTheClass().getComponentType());
- for (int i = noVargsLength; i < arguments.length; i++) {
+ for (int i = noVargsLength; i < argumentsLength; i++) {
ret += calculateParameterDistance(arguments[i], vargsType);
}
} else {
@@ -787,8 +789,9 @@ public class MetaClassHelper {
}
public static boolean parametersAreCompatible(Class[] arguments, Class[] parameters) {
- if (arguments.length != parameters.length) return false;
- for (int i = 0; i < arguments.length; i++) {
+ final int argumentsLength = arguments.length;
+ if (argumentsLength != parameters.length) return false;
+ for (int i = 0; i < argumentsLength; i++) {
if (!isAssignableFrom(parameters[i], arguments[i])) return false;
}
return true;