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/01/16 08:36:25 UTC
[groovy] branch GROOVY_3_0_X updated: Refine some code
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
new 5f10e36 Refine some code
5f10e36 is described below
commit 5f10e361d5e5f833579c1a720f7b767323574743
Author: Bo Zhang <zh...@gmail.com>
AuthorDate: Thu Jan 16 10:30:40 2020 +0800
Refine some code
(cherry picked from commit 1e03566d709f849102f7e49909577a4cdd45586c)
---
src/main/java/groovy/grape/Grape.java | 6 ++---
src/main/java/groovy/lang/GroovyClassLoader.java | 7 +++---
src/main/java/groovy/lang/MetaClassImpl.java | 6 ++---
src/main/java/groovy/lang/NumberRange.java | 21 +++++++++--------
.../groovy/transform/stc/MapEntryOrKeyValue.java | 2 +-
src/main/java/groovy/util/Node.java | 2 +-
.../groovy/ast/tools/ImmutablePropertyUtils.java | 2 +-
.../groovy/internal/util/UncheckedThrow.java | 2 +-
src/main/java/org/apache/groovy/util/Maps.java | 2 +-
.../ConcurrentLinkedHashMap.java | 6 ++---
.../concurrentlinkedhashmap/Weighers.java | 2 +-
.../codehaus/groovy/antlr/AntlrParserPlugin.java | 8 +++----
.../org/codehaus/groovy/antlr/GroovySourceAST.java | 8 +------
.../groovy/antlr/treewalker/CompositeVisitor.java | 2 +-
.../codehaus/groovy/classgen/BytecodeSequence.java | 2 +-
.../groovy/classgen/DummyClassGenerator.java | 2 +-
.../classgen/asm/OptimizingStatementWriter.java | 2 +-
.../control/customizers/SecureASTCustomizer.java | 12 ++++++----
.../groovy/runtime/DefaultGroovyMethods.java | 27 ++++++++++------------
.../codehaus/groovy/runtime/MetaClassHelper.java | 17 +++++++-------
.../runtime/callsite/ConstructorMetaClassSite.java | 2 +-
.../typehandling/DefaultTypeTransformation.java | 2 +-
.../groovy/transform/ASTTransformationVisitor.java | 1 -
.../transformers/BinaryExpressionTransformer.java | 2 +-
.../transformers/ConstructorCallTransformer.java | 2 +-
.../groovy/transform/trait/TraitComposer.java | 2 +-
.../groovy/util/AbstractConcurrentMapBase.java | 4 ++--
.../vmplugin/v8/PluginDefaultGroovyMethods.java | 8 +++----
28 files changed, 78 insertions(+), 83 deletions(-)
diff --git a/src/main/java/groovy/grape/Grape.java b/src/main/java/groovy/grape/Grape.java
index 4b2f22d..a8dcc88 100644
--- a/src/main/java/groovy/grape/Grape.java
+++ b/src/main/java/groovy/grape/Grape.java
@@ -37,9 +37,9 @@ public class Grape {
private static final URI[] EMPTY_URI_ARRAY = new URI[0];
private static final Map[] EMPTY_MAP_ARRAY = new Map[0];
- private static boolean enableGrapes = Boolean.valueOf(System.getProperty("groovy.grape.enable", "true"));
- private static boolean enableAutoDownload = Boolean.valueOf(System.getProperty("groovy.grape.autoDownload", "true"));
- private static boolean disableChecksums = Boolean.valueOf(System.getProperty("groovy.grape.disableChecksums", "false"));
+ private static boolean enableGrapes = Boolean.parseBoolean(System.getProperty("groovy.grape.enable", "true"));
+ private static boolean enableAutoDownload = Boolean.parseBoolean(System.getProperty("groovy.grape.autoDownload", "true"));
+ private static boolean disableChecksums = Boolean.parseBoolean(System.getProperty("groovy.grape.disableChecksums", "false"));
protected static GrapeEngine instance;
/**
diff --git a/src/main/java/groovy/lang/GroovyClassLoader.java b/src/main/java/groovy/lang/GroovyClassLoader.java
index cda6ad7..8cc7d6e 100644
--- a/src/main/java/groovy/lang/GroovyClassLoader.java
+++ b/src/main/java/groovy/lang/GroovyClassLoader.java
@@ -705,7 +705,7 @@ public class GroovyClassLoader extends URLClassLoader {
SourceUnit msu = null;
if (mn != null) msu = mn.getContext();
ClassNode main = null;
- if (mn != null) main = (ClassNode) mn.getClasses().get(0);
+ if (mn != null) main = mn.getClasses().get(0);
if (msu == su && main == classNode) generatedClass = theClass;
}
@@ -816,8 +816,7 @@ public class GroovyClassLoader extends URLClassLoader {
if (recompile != null && !recompile) return false;
if (!GroovyObject.class.isAssignableFrom(cls)) return false;
long timestamp = getTimeStamp(cls);
- if (timestamp == Long.MAX_VALUE) return false;
- return true;
+ return timestamp != Long.MAX_VALUE;
}
/**
@@ -1204,7 +1203,7 @@ public class GroovyClassLoader extends URLClassLoader {
node.addField(timeTagField);
timeTagField = new FieldNode(
- Verifier.__TIMESTAMP__ + String.valueOf(System.currentTimeMillis()),
+ Verifier.__TIMESTAMP__ + System.currentTimeMillis(),
ACC_PUBLIC | ACC_STATIC | ACC_SYNTHETIC,
ClassHelper.long_TYPE,
//"",
diff --git a/src/main/java/groovy/lang/MetaClassImpl.java b/src/main/java/groovy/lang/MetaClassImpl.java
index 1484ac3..7bd3adb 100644
--- a/src/main/java/groovy/lang/MetaClassImpl.java
+++ b/src/main/java/groovy/lang/MetaClassImpl.java
@@ -1027,11 +1027,11 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
return invokeMethod(theClass, object, methodName, originalArguments, false, false);
}
- private Object invokeMethodClosure(Object object, String methodName, Object[] arguments) {
+ private Object invokeMethodClosure(Object object, Object[] arguments) {
final MethodClosure mc = (MethodClosure) object;
final Object owner = mc.getOwner();
- methodName = mc.getMethod();
+ String methodName = mc.getMethod();
final Class ownerClass = owner instanceof Class ? (Class) owner : owner.getClass();
final MetaClass ownerMetaClass = registry.getMetaClass(ownerClass);
@@ -1131,7 +1131,7 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
if (CLOSURE_CALL_METHOD.equals(methodName) || CLOSURE_DO_CALL_METHOD.equals(methodName)) {
final Class objectClass = object.getClass();
if (objectClass == MethodClosure.class) {
- return this.invokeMethodClosure(object, methodName, arguments);
+ return this.invokeMethodClosure(object, arguments);
} else if (objectClass == CurriedClosure.class) {
final CurriedClosure cc = (CurriedClosure) object;
// change the arguments for an uncurried call
diff --git a/src/main/java/groovy/lang/NumberRange.java b/src/main/java/groovy/lang/NumberRange.java
index f533a56..74eb4b7 100644
--- a/src/main/java/groovy/lang/NumberRange.java
+++ b/src/main/java/groovy/lang/NumberRange.java
@@ -25,6 +25,7 @@ import org.codehaus.groovy.runtime.RangeInfo;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.math.RoundingMode;
import java.util.AbstractList;
import java.util.Iterator;
import java.util.List;
@@ -95,7 +96,7 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
* @param from the first value in the range
* @param to the last value in the range
*/
- public <T extends Number & Comparable, U extends Number & Comparable>
+ public <T extends Number, U extends Number>
NumberRange(T from, U to) {
this(from, to, null, true);
}
@@ -108,7 +109,7 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
* @param to end of the range
* @param inclusive whether the range is inclusive
*/
- public <T extends Number & Comparable, U extends Number & Comparable>
+ public <T extends Number, U extends Number>
NumberRange(T from, U to, boolean inclusive) {
this(from, to, null, inclusive);
}
@@ -121,7 +122,7 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
* @param to end of the range
* @param stepSize the gap between discrete elements in the range
*/
- public <T extends Number & Comparable, U extends Number & Comparable, V extends
+ public <T extends Number, U extends Number, V extends
Number & Comparable<? super Number>>
NumberRange(T from, U to, V stepSize) {
this(from, to, stepSize, true);
@@ -136,8 +137,8 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
* @param stepSize the gap between discrete elements in the range
* @param inclusive whether the range is inclusive
*/
- public <T extends Number & Comparable, U extends Number & Comparable, V extends
- Number & Comparable>
+ public <T extends Number, U extends Number, V extends
+ Number>
NumberRange(T from, U to, V stepSize, boolean inclusive) {
if (from == null) {
throw new IllegalArgumentException("Must specify a non-null value for the 'from' index in a Range");
@@ -200,7 +201,7 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
* @param stepSize the desired step size
* @return a new NumberRange
*/
- public <T extends Number & Comparable> NumberRange by(T stepSize) {
+ public <T extends Number> NumberRange by(T stepSize) {
if (!Integer.valueOf(1).equals(this.stepSize)) {
throw new IllegalStateException("by only allowed on ranges with original stepSize = 1 but found " + this.stepSize);
}
@@ -208,12 +209,12 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
}
@SuppressWarnings("unchecked")
- /* package private */ static <T extends Number & Comparable> T comparableNumber(Comparable c) {
+ /* package private */ static <T extends Number> T comparableNumber(Comparable c) {
return (T) c;
}
@SuppressWarnings("unchecked")
- /* package private */ static <T extends Number & Comparable> T comparableNumber(Number n) {
+ /* package private */ static <T extends Number> T comparableNumber(Number n) {
return (T) n;
}
@@ -417,7 +418,7 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
final BigInteger fromNum = new BigInteger(from.toString());
final BigInteger toTemp = new BigInteger(to.toString());
final BigInteger toNum = inclusive ? toTemp : toTemp.subtract(BigInteger.ONE);
- final BigInteger sizeNum = new BigDecimal(toNum.subtract(fromNum)).divide(new BigDecimal(stepSize.longValue()), BigDecimal.ROUND_DOWN).toBigInteger().add(BigInteger.ONE);
+ final BigInteger sizeNum = new BigDecimal(toNum.subtract(fromNum)).divide(new BigDecimal(stepSize.longValue()), RoundingMode.DOWN).toBigInteger().add(BigInteger.ONE);
tempsize = sizeNum.compareTo(BigInteger.valueOf(Integer.MAX_VALUE)) < 0 ? sizeNum.intValue() : Integer.MAX_VALUE;
shortcut = true;
} else if (((from instanceof BigDecimal || from instanceof BigInteger) && to instanceof Number) ||
@@ -426,7 +427,7 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
final BigDecimal fromNum = new BigDecimal(from.toString());
final BigDecimal toTemp = new BigDecimal(to.toString());
final BigDecimal toNum = inclusive ? toTemp : toTemp.subtract(new BigDecimal("1.0"));
- final BigInteger sizeNum = toNum.subtract(fromNum).divide(new BigDecimal(stepSize.longValue()), BigDecimal.ROUND_DOWN).toBigInteger().add(BigInteger.ONE);
+ final BigInteger sizeNum = toNum.subtract(fromNum).divide(new BigDecimal(stepSize.longValue()), RoundingMode.DOWN).toBigInteger().add(BigInteger.ONE);
tempsize = sizeNum.compareTo(BigInteger.valueOf(Integer.MAX_VALUE)) < 0 ? sizeNum.intValue() : Integer.MAX_VALUE;
shortcut = true;
}
diff --git a/src/main/java/groovy/transform/stc/MapEntryOrKeyValue.java b/src/main/java/groovy/transform/stc/MapEntryOrKeyValue.java
index a53d14e..b24a209 100644
--- a/src/main/java/groovy/transform/stc/MapEntryOrKeyValue.java
+++ b/src/main/java/groovy/transform/stc/MapEntryOrKeyValue.java
@@ -105,7 +105,7 @@ public class MapEntryOrKeyValue extends ClosureSignatureHint {
if ("argNum".equals(key)) {
pIndex = Integer.parseInt(value);
} else if ("index".equals(key)) {
- generateIndex = Boolean.valueOf(value);
+ generateIndex = Boolean.parseBoolean(value);
} else {
throw new IncorrectTypeHintException(mn, "Unrecognized option: "+key, source.getLineNumber(), source.getColumnNumber());
}
diff --git a/src/main/java/groovy/util/Node.java b/src/main/java/groovy/util/Node.java
index 2adc8ea..5576d57 100644
--- a/src/main/java/groovy/util/Node.java
+++ b/src/main/java/groovy/util/Node.java
@@ -607,7 +607,7 @@ public class Node implements Serializable, Cloneable {
* @since 2.5.0
*/
public void depthFirst(Map<String, Object> options, Closure c) {
- boolean preorder = Boolean.valueOf(options.get("preorder").toString());
+ boolean preorder = Boolean.parseBoolean(options.get("preorder").toString());
if (preorder) callClosureForNode(c, this, 1);
depthFirstRest(preorder, 2, c);
if (!preorder) callClosureForNode(c, this, 1);
diff --git a/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java b/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java
index c04c545..7ee64a6 100644
--- a/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java
+++ b/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java
@@ -127,7 +127,7 @@ public class ImmutablePropertyUtils {
args(
fieldExpr,
constX("clone"),
- new ArrayExpression(ClassHelper.OBJECT_TYPE.makeArray(), Collections.<Expression>emptyList())
+ new ArrayExpression(ClassHelper.OBJECT_TYPE.makeArray(), Collections.emptyList())
)
);
return castX(type, smce);
diff --git a/src/main/java/org/apache/groovy/internal/util/UncheckedThrow.java b/src/main/java/org/apache/groovy/internal/util/UncheckedThrow.java
index 7f6cc8a..23348d3 100644
--- a/src/main/java/org/apache/groovy/internal/util/UncheckedThrow.java
+++ b/src/main/java/org/apache/groovy/internal/util/UncheckedThrow.java
@@ -28,7 +28,7 @@ import org.apache.groovy.lang.annotation.Incubating;
@Incubating
public class UncheckedThrow {
public static void rethrow( final Throwable checkedException ) {
- UncheckedThrow.<RuntimeException>thrownInsteadOf( checkedException );
+ UncheckedThrow.thrownInsteadOf( checkedException );
}
@SuppressWarnings("unchecked")
private static <T extends Throwable> void thrownInsteadOf(Throwable t) throws T {
diff --git a/src/main/java/org/apache/groovy/util/Maps.java b/src/main/java/org/apache/groovy/util/Maps.java
index e145fdd..164dbb1 100644
--- a/src/main/java/org/apache/groovy/util/Maps.java
+++ b/src/main/java/org/apache/groovy/util/Maps.java
@@ -5815,7 +5815,7 @@ public class Maps {
resultMap.put(value, entry.getKey());
}
- return Collections.<V, K>unmodifiableMap(resultMap);
+ return Collections.unmodifiableMap(resultMap);
}
private Maps() {}
diff --git a/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/ConcurrentLinkedHashMap.java b/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/ConcurrentLinkedHashMap.java
index db1c6c2..ee59e1e 100644
--- a/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/ConcurrentLinkedHashMap.java
+++ b/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/ConcurrentLinkedHashMap.java
@@ -1665,7 +1665,7 @@ public final class ConcurrentLinkedHashMap<K, V> extends AbstractMap<K, V>
*/
public Builder<K, V> weigher(Weigher<? super V> weigher) {
this.weigher = (weigher == org.apache.groovy.util.concurrent.concurrentlinkedhashmap.Weighers.singleton())
- ? org.apache.groovy.util.concurrent.concurrentlinkedhashmap.Weighers.<K, V>entrySingleton()
+ ? org.apache.groovy.util.concurrent.concurrentlinkedhashmap.Weighers.entrySingleton()
: new BoundedEntryWeigher<K, V>(org.apache.groovy.util.concurrent.concurrentlinkedhashmap.Weighers.asEntryWeigher(weigher));
return this;
}
@@ -1680,8 +1680,8 @@ public final class ConcurrentLinkedHashMap<K, V> extends AbstractMap<K, V>
*/
public Builder<K, V> weigher(EntryWeigher<? super K, ? super V> weigher) {
this.weigher = (weigher == org.apache.groovy.util.concurrent.concurrentlinkedhashmap.Weighers.entrySingleton())
- ? Weighers.<K, V>entrySingleton()
- : new BoundedEntryWeigher<K, V>(weigher);
+ ? Weighers.entrySingleton()
+ : new BoundedEntryWeigher<>(weigher);
return this;
}
diff --git a/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/Weighers.java b/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/Weighers.java
index 10c2fa1..ea2bd54 100644
--- a/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/Weighers.java
+++ b/src/main/java/org/apache/groovy/util/concurrent/concurrentlinkedhashmap/Weighers.java
@@ -43,7 +43,7 @@ public final class Weighers {
public static <K, V> EntryWeigher<K, V> asEntryWeigher(
final org.apache.groovy.util.concurrent.concurrentlinkedhashmap.Weigher<? super V> weigher) {
return (weigher == singleton())
- ? Weighers.<K, V>entrySingleton()
+ ? Weighers.entrySingleton()
: new EntryWeigherView<K, V>(weigher);
}
diff --git a/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java b/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java
index cd96348..bcd3866 100644
--- a/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java
+++ b/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java
@@ -2361,14 +2361,14 @@ public class AntlrParserPlugin extends ASTHelper implements ParserPlugin, Groovy
} else if (leftExpression instanceof BinaryExpression) {
int lefttype = ((BinaryExpression) leftExpression).getOperation().getType();
if (!Types.ofType(lefttype, Types.ASSIGNMENT_OPERATOR) && lefttype != Types.LEFT_SQUARE_BRACKET) {
- throw new ASTRuntimeException(node, "\n" + ((BinaryExpression) leftExpression).getText() + " is a binary expression, but it should be a variable expression");
+ throw new ASTRuntimeException(node, "\n" + leftExpression.getText() + " is a binary expression, but it should be a variable expression");
}
} else if (leftExpression instanceof GStringExpression) {
- throw new ASTRuntimeException(node, "\n\"" + ((GStringExpression) leftExpression).getText() + "\" is a GString expression, but it should be a variable expression");
+ throw new ASTRuntimeException(node, "\n\"" + leftExpression.getText() + "\" is a GString expression, but it should be a variable expression");
} else if (leftExpression instanceof MethodCallExpression) {
- throw new ASTRuntimeException(node, "\n\"" + ((MethodCallExpression) leftExpression).getText() + "\" is a method call expression, but it should be a variable expression");
+ throw new ASTRuntimeException(node, "\n\"" + leftExpression.getText() + "\" is a method call expression, but it should be a variable expression");
} else if (leftExpression instanceof MapExpression) {
- throw new ASTRuntimeException(node, "\n'" + ((MapExpression) leftExpression).getText() + "' is a map expression, but it should be a variable expression");
+ throw new ASTRuntimeException(node, "\n'" + leftExpression.getText() + "' is a map expression, but it should be a variable expression");
} else {
throw new ASTRuntimeException(node, "\n" + leftExpression.getClass() + ", with its value '" + leftExpression.getText() + "', is a bad expression as the left hand side of an assignment operator");
}
diff --git a/src/main/java/org/codehaus/groovy/antlr/GroovySourceAST.java b/src/main/java/org/codehaus/groovy/antlr/GroovySourceAST.java
index 1f0d8b5..ae57409 100644
--- a/src/main/java/org/codehaus/groovy/antlr/GroovySourceAST.java
+++ b/src/main/java/org/codehaus/groovy/antlr/GroovySourceAST.java
@@ -129,14 +129,8 @@ public class GroovySourceAST extends CommonAST implements Comparable, SourceInfo
return 1;
}
- if (this.getColumn() < that.getColumn()) {
- return -1;
- }
- if (this.getColumn() > that.getColumn()) {
- return 1;
- }
+ return Integer.compare(this.getColumn(), that.getColumn());
- return 0;
}
public GroovySourceAST childAt(int position) {
diff --git a/src/main/java/org/codehaus/groovy/antlr/treewalker/CompositeVisitor.java b/src/main/java/org/codehaus/groovy/antlr/treewalker/CompositeVisitor.java
index 87e242f..b5b8d6c 100644
--- a/src/main/java/org/codehaus/groovy/antlr/treewalker/CompositeVisitor.java
+++ b/src/main/java/org/codehaus/groovy/antlr/treewalker/CompositeVisitor.java
@@ -1174,7 +1174,7 @@ public class CompositeVisitor implements Visitor{
public GroovySourceAST pop() {
GroovySourceAST lastNodePopped = null;
for (Object backToFrontVisitor : backToFrontVisitors) {
- lastNodePopped = (GroovySourceAST) ((Visitor) backToFrontVisitor).pop();
+ lastNodePopped = ((Visitor) backToFrontVisitor).pop();
}
return lastNodePopped;
}
diff --git a/src/main/java/org/codehaus/groovy/classgen/BytecodeSequence.java b/src/main/java/org/codehaus/groovy/classgen/BytecodeSequence.java
index b70b855..6efe9fa 100644
--- a/src/main/java/org/codehaus/groovy/classgen/BytecodeSequence.java
+++ b/src/main/java/org/codehaus/groovy/classgen/BytecodeSequence.java
@@ -66,7 +66,7 @@ public class BytecodeSequence extends Statement {
return;
}
for (BytecodeInstruction instruction : instructions) {
- Object part = (Object) instruction;
+ Object part = instruction;
if (part instanceof ASTNode) {
((ASTNode) part).visit(visitor);
}
diff --git a/src/main/java/org/codehaus/groovy/classgen/DummyClassGenerator.java b/src/main/java/org/codehaus/groovy/classgen/DummyClassGenerator.java
index 8b7e05d..f6c71dd 100644
--- a/src/main/java/org/codehaus/groovy/classgen/DummyClassGenerator.java
+++ b/src/main/java/org/codehaus/groovy/classgen/DummyClassGenerator.java
@@ -75,7 +75,7 @@ public class DummyClassGenerator extends ClassGenerator {
Opcodes.V1_3,
classNode.getModifiers(),
internalClassName,
- (String) null,
+ null,
internalBaseClassName,
BytecodeHelper.getClassInternalNames(classNode.getInterfaces())
);
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
index 4377263..f394ebb 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
@@ -506,7 +506,7 @@ public class OptimizingStatementWriter extends StatementWriter {
public String toString() {
StringBuilder ret = new StringBuilder();
if (current.shouldOptimize) {
- ret.append("should optimize, can = " + current.canOptimize);
+ ret.append("should optimize, can = ").append(current.canOptimize);
} else if (current.canOptimize) {
ret.append("can optimize");
} else {
diff --git a/src/main/java/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java b/src/main/java/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java
index 0a743ba..ce899de 100644
--- a/src/main/java/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java
+++ b/src/main/java/org/codehaus/groovy/control/customizers/SecureASTCustomizer.java
@@ -668,7 +668,7 @@ public class SecureASTCustomizer extends CompilationCustomizer {
return;
}
if (starImportsWhitelist != null) {
- String packageName = className.substring(0, className.lastIndexOf('.') + 1) + "*";
+ String packageName = getWildCardImport(className);
if (starImportsWhitelist.contains(packageName)
|| starImportsWhitelist.stream().filter(it -> it.endsWith(".")).anyMatch(packageName::startsWith)) {
return;
@@ -680,7 +680,7 @@ public class SecureASTCustomizer extends CompilationCustomizer {
throw new SecurityException("Importing [" + className + "] is not allowed");
}
if (starImportsBlacklist != null) {
- String packageName = className.substring(0, className.lastIndexOf('.') + 1) + "*";
+ String packageName = getWildCardImport(className);
if (starImportsBlacklist.contains(packageName) ||
starImportsBlacklist.stream().filter(it -> it.endsWith(".")).anyMatch(packageName::startsWith)) {
throw new SecurityException("Importing [" + className + "] is not allowed");
@@ -689,12 +689,16 @@ public class SecureASTCustomizer extends CompilationCustomizer {
}
}
+ private String getWildCardImport(String className) {
+ return className.substring(0, className.lastIndexOf('.') + 1) + "*";
+ }
+
protected void assertStaticImportIsAllowed(final String member, final String className) {
final String fqn = member.equals(className) ? member : className + "." + member;
if (staticImportsWhitelist != null && !staticImportsWhitelist.contains(fqn)) {
if (staticStarImportsWhitelist != null) {
// we should now check if the import is in the star imports
- String packageName = className.substring(0, className.lastIndexOf('.') + 1) + "*";
+ String packageName = getWildCardImport(className);
if (!staticStarImportsWhitelist.contains(className + ".*")
&& !staticStarImportsWhitelist.stream().filter(it -> it.endsWith(".")).anyMatch(packageName::startsWith)) {
throw new SecurityException("Importing [" + fqn + "] is not allowed");
@@ -708,7 +712,7 @@ public class SecureASTCustomizer extends CompilationCustomizer {
}
// check that there's no star import blacklist
if (staticStarImportsBlacklist != null) {
- String packageName = className.substring(0, className.lastIndexOf('.') + 1) + "*";
+ String packageName = getWildCardImport(className);
if (staticStarImportsBlacklist.contains(className + ".*")
|| staticStarImportsBlacklist.stream().filter(it -> it.endsWith(".")).anyMatch(packageName::startsWith)) {
throw new SecurityException("Importing [" + fqn + "] is not allowed");
diff --git a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
index b398ba7..1d91ada 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -3635,7 +3635,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 2.5.0
*/
public static <S,T> List<T> collect(Iterable<S> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure<T> transform) {
- return (List<T>) collect(self.iterator(), transform);
+ return collect(self.iterator(), transform);
}
/**
@@ -6274,7 +6274,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 2.4.2
*/
public static long sum(long[] self) {
- return sum(self, (long) 0);
+ return sum(self, 0);
}
/**
@@ -6310,7 +6310,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 2.4.2
*/
public static double sum(double[] self) {
- return sum(self, (double) 0);
+ return sum(self, 0);
}
/**
@@ -9342,7 +9342,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 1.5.5
*/
public static <T> Iterator<T> sort(Iterator<T> self, Comparator<? super T> comparator) {
- return sort((Iterable<T>) toList(self), true, comparator).listIterator();
+ return sort(toList(self), true, comparator).listIterator();
}
/**
@@ -10534,7 +10534,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 1.8.7
*/
public static <T> Collection<T> take(Iterable<T> self, int num) {
- Collection<T> result = self instanceof Collection ? createSimilarCollection((Collection<T>) self, num < 0 ? 0 : num) : new ArrayList<T>();
+ Collection<T> result = self instanceof Collection ? createSimilarCollection((Collection<T>) self, Math.max(num, 0)) : new ArrayList<T>();
addAll(result, take(self.iterator(), num));
return result;
}
@@ -12015,7 +12015,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
Method samMethod = CachedSAMClass.getSAMMethod(clazz);
if (samMethod!=null) {
Map impl = Collections.singletonMap(samMethod.getName(),cl);
- return (T) ProxyGenerator.INSTANCE.instantiateAggregate(impl, Collections.<Class>singletonList(clazz));
+ return (T) ProxyGenerator.INSTANCE.instantiateAggregate(impl, Collections.singletonList(clazz));
}
}
return (T) Proxy.newProxyInstance(
@@ -12346,7 +12346,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
*/
@SuppressWarnings("unchecked")
public static <T> T[] plus(T[] left, T[] right) {
- return (T[]) plus((List<T>) toList(left), (Collection<T>) toList(right)).toArray();
+ return (T[]) plus((List<T>) toList(left), toList(right)).toArray();
}
/**
@@ -12382,7 +12382,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
*/
@SuppressWarnings("unchecked")
public static <T> T[] plus(T[] left, Collection<T> right) {
- return (T[]) plus((List<T>) toList(left), (Collection<T>) right).toArray();
+ return (T[]) plus((List<T>) toList(left), right).toArray();
}
/**
@@ -12404,7 +12404,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
*/
@SuppressWarnings("unchecked")
public static <T> T[] plus(T[] left, Iterable<T> right) {
- return (T[]) plus((List<T>) toList(left), (Collection<T>) toList(right)).toArray();
+ return (T[]) plus((List<T>) toList(left), toList(right)).toArray();
}
/**
@@ -13003,7 +13003,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
*/
@Deprecated
public static boolean disjoint(Collection left, Collection right) {
- return disjoint((Iterable) left, (Iterable) right);
+ return disjoint(left, right);
}
/**
@@ -17884,15 +17884,12 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
*/
public static <T> Iterator<T> iterator(final Enumeration<T> enumeration) {
return new Iterator<T>() {
- private T last;
-
public boolean hasNext() {
return enumeration.hasMoreElements();
}
public T next() {
- last = enumeration.nextElement();
- return last;
+ return enumeration.nextElement();
}
public void remove() {
@@ -18290,7 +18287,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 2.6.0
*/
public static groovy.lang.groovydoc.Groovydoc getGroovydoc(AnnotatedElement holder) {
- Groovydoc groovydocAnnotation = holder.<Groovydoc>getAnnotation(Groovydoc.class);
+ Groovydoc groovydocAnnotation = holder.getAnnotation(Groovydoc.class);
return null == groovydocAnnotation
? EMPTY_GROOVYDOC
diff --git a/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java b/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java
index 55888bd..8649052 100644
--- a/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java
+++ b/src/main/java/org/codehaus/groovy/runtime/MetaClassHelper.java
@@ -744,10 +744,7 @@ public class MetaClassHelper {
|| classToTransformFrom == BigInteger.class)
return true;
} else if (classToTransformTo == BigInteger.class) {
- if (classToTransformFrom == Integer.class
- || classToTransformFrom == Long.class
- || classToTransformFrom == Short.class
- || classToTransformFrom == Byte.class)
+ if (isIntegerLongShortByte(classToTransformFrom))
return true;
} else if (classToTransformTo == Long.class) {
if (classToTransformFrom == Integer.class
@@ -755,10 +752,7 @@ public class MetaClassHelper {
|| classToTransformFrom == Byte.class)
return true;
} else if (classToTransformTo == Float.class) {
- if (classToTransformFrom == Integer.class
- || classToTransformFrom == Long.class
- || classToTransformFrom == Short.class
- || classToTransformFrom == Byte.class)
+ if (isIntegerLongShortByte(classToTransformFrom))
return true;
} else if (classToTransformTo == Short.class) {
if (classToTransformFrom == Byte.class)
@@ -772,6 +766,13 @@ public class MetaClassHelper {
return ReflectionCache.isAssignableFrom(classToTransformTo, classToTransformFrom);
}
+ private static boolean isIntegerLongShortByte(Class classToTransformFrom) {
+ return classToTransformFrom == Integer.class
+ || classToTransformFrom == Long.class
+ || classToTransformFrom == Short.class
+ || classToTransformFrom == Byte.class;
+ }
+
public static boolean isGenericSetMethod(MetaMethod method) {
return (method.getName().equals("set"))
&& method.getParameterTypes().length == 2;
diff --git a/src/main/java/org/codehaus/groovy/runtime/callsite/ConstructorMetaClassSite.java b/src/main/java/org/codehaus/groovy/runtime/callsite/ConstructorMetaClassSite.java
index 2309fe6..714561e 100644
--- a/src/main/java/org/codehaus/groovy/runtime/callsite/ConstructorMetaClassSite.java
+++ b/src/main/java/org/codehaus/groovy/runtime/callsite/ConstructorMetaClassSite.java
@@ -35,7 +35,7 @@ public class ConstructorMetaClassSite extends MetaClassSite {
throw ScriptBytecodeAdapter.unwrap(gre);
}
} else {
- return CallSiteArray.defaultCallConstructor(this, (Class)receiver, args);
+ return CallSiteArray.defaultCallConstructor(this, receiver, args);
}
}
}
diff --git a/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java b/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java
index 0b40fd0..ed83ddc 100644
--- a/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java
+++ b/src/main/java/org/codehaus/groovy/runtime/typehandling/DefaultTypeTransformation.java
@@ -480,7 +480,7 @@ public class DefaultTypeTransformation {
}
public static <T> Collection<T> arrayAsCollection(T[] value) {
- return Arrays.asList((T[]) value);
+ return Arrays.asList(value);
}
/**
diff --git a/src/main/java/org/codehaus/groovy/transform/ASTTransformationVisitor.java b/src/main/java/org/codehaus/groovy/transform/ASTTransformationVisitor.java
index b8348c6..f3f90a7 100644
--- a/src/main/java/org/codehaus/groovy/transform/ASTTransformationVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/ASTTransformationVisitor.java
@@ -286,7 +286,6 @@ public final class ASTTransformationVisitor extends ClassCodeVisitorSupport {
compilationUnit.getErrorCollector().addError(new SimpleMessage(
"IOException reading the service definition at "
+ service.toExternalForm() + " because of exception " + ioe.toString(), null));
- continue;
}
}
}
diff --git a/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java b/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java
index f17bf7e..6d870fb 100644
--- a/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java
+++ b/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java
@@ -294,7 +294,7 @@ public class BinaryExpressionTransformer {
private static Expression convertInOperatorToTernary(final BinaryExpression bin, final Expression rightExpression, final Expression leftExpression) {
MethodCallExpression call = callX(rightExpression, "isCase", leftExpression);
- call.setMethodTarget((MethodNode) bin.getNodeMetaData(StaticTypesMarker.DIRECT_METHOD_CALL_TARGET));
+ call.setMethodTarget(bin.getNodeMetaData(StaticTypesMarker.DIRECT_METHOD_CALL_TARGET));
call.setSourcePosition(bin);
call.copyNodeMetaData(bin);
Expression tExp = ternaryX(
diff --git a/src/main/java/org/codehaus/groovy/transform/sc/transformers/ConstructorCallTransformer.java b/src/main/java/org/codehaus/groovy/transform/sc/transformers/ConstructorCallTransformer.java
index 6c42e78..f04b0ca 100644
--- a/src/main/java/org/codehaus/groovy/transform/sc/transformers/ConstructorCallTransformer.java
+++ b/src/main/java/org/codehaus/groovy/transform/sc/transformers/ConstructorCallTransformer.java
@@ -55,7 +55,7 @@ public class ConstructorCallTransformer {
}
Expression transformConstructorCall(final ConstructorCallExpression expr) {
- ConstructorNode node = (ConstructorNode) expr.getNodeMetaData(DIRECT_METHOD_CALL_TARGET);
+ ConstructorNode node = expr.getNodeMetaData(DIRECT_METHOD_CALL_TARGET);
if (node == null) return expr;
Parameter[] params = node.getParameters();
if ((params.length == 1 || params.length == 2) // 2 is for inner class case
diff --git a/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java b/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java
index f7dae0a..506044d 100644
--- a/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java
+++ b/src/main/java/org/codehaus/groovy/transform/trait/TraitComposer.java
@@ -169,7 +169,7 @@ public abstract class TraitComposer {
new Parameter[] {new Parameter(ClassHelper.CLASS_Type,"clazz")}, ClassNode.EMPTY_ARRAY, EmptyStatement.INSTANCE);
staticInitMethod.setDeclaringClass(helperClassNode);
staticInitCall.setMethodTarget(staticInitMethod);
- cNode.addStaticInitializerStatements(Collections.<Statement>singletonList(new ExpressionStatement(
+ cNode.addStaticInitializerStatements(Collections.singletonList(new ExpressionStatement(
staticInitCall
)), false);
if (fieldHelperClassNode != null && !cNode.declaresInterface(fieldHelperClassNode)) {
diff --git a/src/main/java/org/codehaus/groovy/util/AbstractConcurrentMapBase.java b/src/main/java/org/codehaus/groovy/util/AbstractConcurrentMapBase.java
index 500e3d4..d592b9b 100644
--- a/src/main/java/org/codehaus/groovy/util/AbstractConcurrentMapBase.java
+++ b/src/main/java/org/codehaus/groovy/util/AbstractConcurrentMapBase.java
@@ -288,7 +288,7 @@ public abstract class AbstractConcurrentMapBase {
if (o instanceof Entry) {
Object arr [] = new Object [2];
arr [0] = ee;
- arr [1] = (Entry) o;
+ arr [1] = o;
tab[index] = arr;
return;
}
@@ -309,7 +309,7 @@ public abstract class AbstractConcurrentMapBase {
if (o instanceof Entry) {
Object arr [] = new Object [2];
arr [0] = ee;
- arr [1] = (Entry) o;
+ arr [1] = o;
return arr;
}
else {
diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java b/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java
index d81df24..305ac26 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java
@@ -398,7 +398,7 @@ public class PluginDefaultGroovyMethods {
* @since 2.5.0
*/
public static <T> List<T> toList(final Stream<T> self) {
- return self.collect(Collectors.<T>toList());
+ return self.collect(Collectors.toList());
}
/**
@@ -410,7 +410,7 @@ public class PluginDefaultGroovyMethods {
* @since 2.5.0
*/
public static <T> Set<T> toSet(final Stream<T> self) {
- return self.collect(Collectors.<T>toSet());
+ return self.collect(Collectors.toSet());
}
/**
@@ -422,7 +422,7 @@ public class PluginDefaultGroovyMethods {
* @since 2.5.0
*/
public static <T> List<T> toList(final BaseStream<T, ? extends BaseStream> self) {
- return stream(self.iterator()).collect(Collectors.<T>toList());
+ return stream(self.iterator()).collect(Collectors.toList());
}
/**
@@ -434,7 +434,7 @@ public class PluginDefaultGroovyMethods {
* @since 2.5.0
*/
public static <T> Set<T> toSet(final BaseStream<T, ? extends BaseStream> self) {
- return stream(self.iterator()).collect(Collectors.<T>toSet());
+ return stream(self.iterator()).collect(Collectors.toSet());
}
/**