Repository: groovy Updated Branches: refs/heads/GROOVY_2_6_X f347a8faf -> 78abeb540
Trivial refactoring: remove duplicated code (cherry picked from commit 6f73fb9) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/78abeb54 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/78abeb54 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/78abeb54 Branch: refs/heads/GROOVY_2_6_X Commit: 78abeb540dd5c2d2c544b3a44b45729bb7079a86 Parents: f347a8f Author: sunlan <sun...@apache.org> Authored: Mon Feb 5 09:04:23 2018 +0800 Committer: sunlan <sun...@apache.org> Committed: Mon Feb 5 09:45:31 2018 +0800 ---------------------------------------------------------------------- .../transform/AbstractASTTransformation.java | 54 ++++++++++---------- 1 file changed, 27 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/78abeb54/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java index e8ca861..4498e95 100644 --- a/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java +++ b/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java @@ -141,18 +141,12 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform return null; } if (expr instanceof ListExpression) { - List<String> list = new ArrayList<String>(); final ListExpression listExpression = (ListExpression) expr; if (isUndefinedMarkerList(listExpression)) { return null; } - for (Expression itemExpr : listExpression.getExpressions()) { - if (itemExpr != null && itemExpr instanceof ConstantExpression) { - Object value = ((ConstantExpression) itemExpr).getValue(); - if (value != null) list.add(value.toString()); - } - } - return list; + + return getValueStringList(listExpression); } return tokenize(getMemberStringValue(anno, name)); } @@ -175,32 +169,32 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform List<String> list; Expression expr = anno.getMember(name); if (expr != null && expr instanceof ListExpression) { - list = new ArrayList<String>(); final ListExpression listExpression = (ListExpression) expr; - for (Expression itemExpr : listExpression.getExpressions()) { - if (itemExpr != null && itemExpr instanceof ConstantExpression) { - Object value = ((ConstantExpression) itemExpr).getValue(); - if (value != null) list.add(value.toString()); - } - } + list = getValueStringList(listExpression); } else { list = tokenize(getMemberStringValue(anno, name)); } return list; } + private static List<String> getValueStringList(ListExpression listExpression) { + List<String> list = new ArrayList<String>(); + for (Expression itemExpr : listExpression.getExpressions()) { + if (itemExpr != null && itemExpr instanceof ConstantExpression) { + Object value = ((ConstantExpression) itemExpr).getValue(); + if (value != null) list.add(value.toString()); + } + } + return list; + } + @Deprecated public List<ClassNode> getClassList(AnnotationNode anno, String name) { List<ClassNode> list = new ArrayList<ClassNode>(); Expression expr = anno.getMember(name); if (expr != null && expr instanceof ListExpression) { final ListExpression listExpression = (ListExpression) expr; - for (Expression itemExpr : listExpression.getExpressions()) { - if (itemExpr != null && itemExpr instanceof ClassExpression) { - ClassNode cn = itemExpr.getType(); - if (cn != null) list.add(cn); - } - } + list = getTypeList(listExpression); } else if (expr != null && expr instanceof ClassExpression) { ClassNode cn = expr.getType(); if (cn != null) list.add(cn); @@ -219,12 +213,7 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform if (isUndefinedMarkerList(listExpression)) { return null; } - for (Expression itemExpr : listExpression.getExpressions()) { - if (itemExpr != null && itemExpr instanceof ClassExpression) { - ClassNode cn = itemExpr.getType(); - if (cn != null) list.add(cn); - } - } + list = getTypeList(listExpression); } else if (expr instanceof ClassExpression) { ClassNode cn = expr.getType(); if (isUndefined(cn)) return null; @@ -233,6 +222,17 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform return list; } + private static List<ClassNode> getTypeList(ListExpression listExpression) { + List<ClassNode> list = new ArrayList<ClassNode>(); + for (Expression itemExpr : listExpression.getExpressions()) { + if (itemExpr != null && itemExpr instanceof ClassExpression) { + ClassNode cn = itemExpr.getType(); + if (cn != null) list.add(cn); + } + } + return list; + } + public void addError(String msg, ASTNode expr) { sourceUnit.getErrorCollector().addErrorAndContinue(new SyntaxErrorMessage( new SyntaxException(msg + '\n', expr.getLineNumber(), expr.getColumnNumber(),