This is an automated email from the ASF dual-hosted git repository. sunlan pushed a commit to branch GROOVY_4_0_X in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 2338d105d1afa253b154848684fff432578e3823 Author: Daniel Sun <[email protected]> AuthorDate: Tue Sep 6 00:17:08 2022 +0800 Trivial refactoring: eliminate redundant checks for `CloneNotSupportedException` (cherry picked from commit f11444838fced17b0f682707adda47c90cb48703) --- .../java/groovy/transform/options/ImmutablePropertyHandler.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/java/groovy/transform/options/ImmutablePropertyHandler.java b/src/main/java/groovy/transform/options/ImmutablePropertyHandler.java index 2b5fac14e6..4fe8b11569 100644 --- a/src/main/java/groovy/transform/options/ImmutablePropertyHandler.java +++ b/src/main/java/groovy/transform/options/ImmutablePropertyHandler.java @@ -82,7 +82,6 @@ import static org.codehaus.groovy.ast.tools.GeneralUtils.varX; public class ImmutablePropertyHandler extends PropertyHandler { private static final ClassNode CLONEABLE_TYPE = make(Cloneable.class); - private static final ClassNode CLONENOTSUPPORTED_TYPE = make(CloneNotSupportedException.class); private static final ClassNode COLLECTION_TYPE = makeWithoutCaching(Collection.class, false); private static final ClassNode DGM_TYPE = make(DefaultGroovyMethods.class); private static final ClassNode SELF_TYPE = make(ImmutableASTTransformation.class); @@ -293,17 +292,13 @@ public class ImmutablePropertyHandler extends PropertyHandler { assignStmt = ifElseS( equalsNullX(param), shouldNullCheck ? NullCheckASTTransformation.makeThrowStmt(fNode.getName()) : assignNullS(fieldExpr), - ifElseS(isInstanceOfX(param, CLONEABLE_TYPE), - assignStmt, - throwS(ctorX(CLONENOTSUPPORTED_TYPE)))); + assignStmt); final Statement assignInit; final Expression initExpr = fNode.getInitialValueExpression(); if (initExpr == null || (initExpr instanceof ConstantExpression && ((ConstantExpression) initExpr).isNullExpression())) { assignInit = shouldNullCheck ? NullCheckASTTransformation.makeThrowStmt(fNode.getName()) : assignNullS(fieldExpr); } else { - assignInit = ifElseS(isInstanceOfX(initExpr, CLONEABLE_TYPE), - assignS(fieldExpr, cloneArrayOrCloneableExpr(initExpr, fieldType)), - throwS(ctorX(CLONENOTSUPPORTED_TYPE))); + assignInit = assignS(fieldExpr, cloneArrayOrCloneableExpr(initExpr, fieldType)); } return assignFieldWithDefault(namedArgsMap, fNode, assignStmt, assignInit); }
