From 7fc6e70b36c978ef230e3df41db151f3c0da3da1 Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Wed, 25 Sep 2013 21:38:37 +0200 Subject: Pre-emptive fix for the anticipated removal of ListBuffer.lb() in javac8 --- src/core/lombok/javac/JavacAST.java | 2 +- src/core/lombok/javac/JavacResolution.java | 2 +- src/core/lombok/javac/handlers/HandleBuilder.java | 8 ++++---- src/core/lombok/javac/handlers/HandleCleanup.java | 4 ++-- .../lombok/javac/handlers/HandleConstructor.java | 22 ++++++++++---------- .../javac/handlers/HandleEqualsAndHashCode.java | 10 ++++----- src/core/lombok/javac/handlers/HandleGetter.java | 8 ++++---- src/core/lombok/javac/handlers/HandleSetter.java | 2 +- src/core/lombok/javac/handlers/HandleToString.java | 2 +- src/core/lombok/javac/handlers/HandleWither.java | 4 ++-- .../lombok/javac/handlers/JavacHandlerUtil.java | 24 +++++++++++----------- .../javac/java6/CommentCollectingScanner.java | 3 ++- .../javac/java7/CommentCollectingScanner.java | 3 ++- .../javac/java8/CommentCollectingTokenizer.java | 3 ++- 14 files changed, 50 insertions(+), 47 deletions(-) diff --git a/src/core/lombok/javac/JavacAST.java b/src/core/lombok/javac/JavacAST.java index d565b0ef..2422b553 100644 --- a/src/core/lombok/javac/JavacAST.java +++ b/src/core/lombok/javac/JavacAST.java @@ -409,7 +409,7 @@ public class JavacAST extends AST { // Possibly integrate these 2 code paths. if (JAVAC7_DEFERRED_DIAGNOSTICS != null) { ListBuffer deferredDiagnostics = (ListBuffer) JAVAC7_DEFERRED_DIAGNOSTICS.get(log); - ListBuffer newDeferredDiagnostics = ListBuffer.lb(); + ListBuffer newDeferredDiagnostics = new ListBuffer(); for (Object diag : deferredDiagnostics) { if (!(diag instanceof JCDiagnostic)) { newDeferredDiagnostics.add(diag); diff --git a/src/core/lombok/javac/JavacResolution.java b/src/core/lombok/javac/JavacResolution.java index acd4b3bd..acfca6a6 100644 --- a/src/core/lombok/javac/JavacResolution.java +++ b/src/core/lombok/javac/JavacResolution.java @@ -534,7 +534,7 @@ public class JavacResolution { private static JCExpression genericsToJCTreeNodes(List generics, JavacAST ast, JCExpression rawTypeNode) throws TypeNotConvertibleException { if (generics != null && !generics.isEmpty()) { - ListBuffer args = ListBuffer.lb(); + ListBuffer args = new ListBuffer(); for (Type t : generics) args.append(typeToJCTree(t, ast, true, false)); return ast.getTreeMaker().TypeApply(rawTypeNode, args.toList()); } diff --git a/src/core/lombok/javac/handlers/HandleBuilder.java b/src/core/lombok/javac/handlers/HandleBuilder.java index d7ea2806..8a826087 100644 --- a/src/core/lombok/javac/handlers/HandleBuilder.java +++ b/src/core/lombok/javac/handlers/HandleBuilder.java @@ -98,7 +98,7 @@ public class HandleBuilder extends JavacAnnotationHandler { if (parent.get() instanceof JCClassDecl) { tdParent = parent; JCClassDecl td = (JCClassDecl) tdParent.get(); - ListBuffer allFields = ListBuffer.lb(); + ListBuffer allFields = new ListBuffer(); @SuppressWarnings("deprecation") boolean valuePresent = (hasAnnotation(lombok.Value.class, parent) || hasAnnotation(lombok.experimental.Value.class, parent)); for (JavacNode fieldNode : HandleConstructor.findAllFields(tdParent)) { @@ -224,7 +224,7 @@ public class HandleBuilder extends JavacAnnotationHandler { JCExpression call; JCStatement statement; - ListBuffer args = ListBuffer.lb(); + ListBuffer args = new ListBuffer(); for (Name n : fieldNames) { args.append(maker.Ident(n)); } @@ -233,7 +233,7 @@ public class HandleBuilder extends JavacAnnotationHandler { call = maker.NewClass(null, List.nil(), returnType, args.toList(), null); statement = maker.Return(call); } else { - ListBuffer typeParams = ListBuffer.lb(); + ListBuffer typeParams = new ListBuffer(); for (JCTypeParameter tp : ((JCClassDecl) type.get()).typarams) { typeParams.append(maker.Ident(tp.name)); } @@ -255,7 +255,7 @@ public class HandleBuilder extends JavacAnnotationHandler { private JCMethodDecl generateBuilderMethod(String builderMethodName, String builderClassName, JavacNode type, List typeParams) { JavacTreeMaker maker = type.getTreeMaker(); - ListBuffer typeArgs = ListBuffer.lb(); + ListBuffer typeArgs = new ListBuffer(); for (JCTypeParameter typeParam : typeParams) { typeArgs.append(maker.Ident(typeParam.name)); } diff --git a/src/core/lombok/javac/handlers/HandleCleanup.java b/src/core/lombok/javac/handlers/HandleCleanup.java index 417d2815..e7786ffe 100644 --- a/src/core/lombok/javac/handlers/HandleCleanup.java +++ b/src/core/lombok/javac/handlers/HandleCleanup.java @@ -96,8 +96,8 @@ public class HandleCleanup extends JavacAnnotationHandler { } boolean seenDeclaration = false; - ListBuffer newStatements = ListBuffer.lb(); - ListBuffer tryBlock = ListBuffer.lb(); + ListBuffer newStatements = new ListBuffer(); + ListBuffer tryBlock = new ListBuffer(); for (JCStatement statement : statements) { if (!seenDeclaration) { if (statement == decl) seenDeclaration = true; diff --git a/src/core/lombok/javac/handlers/HandleConstructor.java b/src/core/lombok/javac/handlers/HandleConstructor.java index 5156d709..b77a5367 100644 --- a/src/core/lombok/javac/handlers/HandleConstructor.java +++ b/src/core/lombok/javac/handlers/HandleConstructor.java @@ -91,7 +91,7 @@ public class HandleConstructor { } private static List findRequiredFields(JavacNode typeNode) { - ListBuffer fields = ListBuffer.lb(); + ListBuffer fields = new ListBuffer(); for (JavacNode child : typeNode.down()) { if (child.getKind() != Kind.FIELD) continue; JCVariableDecl fieldDecl = (JCVariableDecl) child.get(); @@ -126,7 +126,7 @@ public class HandleConstructor { } static List findAllFields(JavacNode typeNode) { - ListBuffer fields = ListBuffer.lb(); + ListBuffer fields = new ListBuffer(); for (JavacNode child : typeNode.down()) { if (child.getKind() != Kind.FIELD) continue; JCVariableDecl fieldDecl = (JCVariableDecl) child.get(); @@ -209,7 +209,7 @@ public class HandleConstructor { if (fields.isEmpty()) return; JavacTreeMaker maker = node.getTreeMaker(); JCExpression constructorPropertiesType = chainDots(node, "java", "beans", "ConstructorProperties"); - ListBuffer fieldNames = ListBuffer.lb(); + ListBuffer fieldNames = new ListBuffer(); for (JavacNode field : fields) { Name fieldName = removePrefixFromField(field); fieldNames.append(maker.Literal(fieldName.toString())); @@ -225,9 +225,9 @@ public class HandleConstructor { boolean isEnum = (((JCClassDecl) typeNode.get()).mods.flags & Flags.ENUM) != 0; if (isEnum) level = AccessLevel.PRIVATE; - ListBuffer nullChecks = ListBuffer.lb(); - ListBuffer assigns = ListBuffer.lb(); - ListBuffer params = ListBuffer.lb(); + ListBuffer nullChecks = new ListBuffer(); + ListBuffer assigns = new ListBuffer(); + ListBuffer params = new ListBuffer(); for (JavacNode fieldNode : fields) { JCVariableDecl field = (JCVariableDecl) fieldNode.get(); @@ -272,11 +272,11 @@ public class HandleConstructor { JCExpression returnType, constructorType; - ListBuffer typeParams = ListBuffer.lb(); - ListBuffer params = ListBuffer.lb(); - ListBuffer typeArgs1 = ListBuffer.lb(); - ListBuffer typeArgs2 = ListBuffer.lb(); - ListBuffer args = ListBuffer.lb(); + ListBuffer typeParams = new ListBuffer(); + ListBuffer params = new ListBuffer(); + ListBuffer typeArgs1 = new ListBuffer(); + ListBuffer typeArgs2 = new ListBuffer(); + ListBuffer args = new ListBuffer(); if (!type.typarams.isEmpty()) { for (JCTypeParameter param : type.typarams) { diff --git a/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java b/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java index ad3b571a..0f8161e1 100644 --- a/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java +++ b/src/core/lombok/javac/handlers/HandleEqualsAndHashCode.java @@ -154,7 +154,7 @@ public class HandleEqualsAndHashCode extends JavacAnnotationHandler nodesForEquality = ListBuffer.lb(); + ListBuffer nodesForEquality = new ListBuffer(); if (includes != null) { for (JavacNode child : typeNode.down()) { if (child.getKind() != Kind.FIELD) continue; @@ -224,7 +224,7 @@ public class HandleEqualsAndHashCode extends JavacAnnotationHandlernil()); JCModifiers mods = maker.Modifiers(Flags.PUBLIC, List.of(overrideAnnotation)); JCExpression returnType = maker.TypeIdent(CTC_INT); - ListBuffer statements = ListBuffer.lb(); + ListBuffer statements = new ListBuffer(); Name primeName = typeNode.toName(PRIME_NAME); Name resultName = typeNode.toName(RESULT_NAME); @@ -370,7 +370,7 @@ public class HandleEqualsAndHashCode extends JavacAnnotationHandler statements = ListBuffer.lb(); + ListBuffer statements = new ListBuffer(); final List params = List.of(maker.VarDef(maker.Modifiers(Flags.FINAL | Flags.PARAMETER), oName, objectType, null)); /* if (o == this) return true; */ { @@ -387,8 +387,8 @@ public class HandleEqualsAndHashCode extends JavacAnnotationHandler other = (MyType) o; */ { if (!fields.isEmpty() || needsCanEqual) { final JCExpression selfType1, selfType2; - ListBuffer wildcards1 = ListBuffer.lb(); - ListBuffer wildcards2 = ListBuffer.lb(); + ListBuffer wildcards1 = new ListBuffer(); + ListBuffer wildcards2 = new ListBuffer(); for (int i = 0 ; i < type.typarams.length() ; i++) { wildcards1.append(maker.Wildcard(maker.TypeBoundKind(BoundKind.UNBOUND), null)); wildcards2.append(maker.Wildcard(maker.TypeBoundKind(BoundKind.UNBOUND), null)); diff --git a/src/core/lombok/javac/handlers/HandleGetter.java b/src/core/lombok/javac/handlers/HandleGetter.java index f6c14add..4ef23170 100644 --- a/src/core/lombok/javac/handlers/HandleGetter.java +++ b/src/core/lombok/javac/handlers/HandleGetter.java @@ -270,7 +270,7 @@ public class HandleGetter extends JavacAnnotationHandler { } if (!delegates.isEmpty()) { - ListBuffer withoutDelegates = ListBuffer.lb(); + ListBuffer withoutDelegates = new ListBuffer(); for (JCAnnotation annotation : fieldNode.mods.annotations) { if (!delegates.contains(annotation)) { withoutDelegates.append(annotation); @@ -328,7 +328,7 @@ public class HandleGetter extends JavacAnnotationHandler { [END IF] */ - ListBuffer statements = ListBuffer.lb(); + ListBuffer statements = new ListBuffer(); JCVariableDecl field = (JCVariableDecl) fieldNode.get(); JCExpression copyOfRawFieldType = copyType(maker, field); @@ -356,14 +356,14 @@ public class HandleGetter extends JavacAnnotationHandler { /* if (value == null) { */ { JCSynchronized synchronizedStatement; /* synchronized (this.fieldName) { */ { - ListBuffer synchronizedStatements = ListBuffer.lb(); + ListBuffer synchronizedStatements = new ListBuffer(); /* value = this.fieldName.get(); */ { JCExpressionStatement newAssign = maker.Exec(maker.Assign(maker.Ident(valueName), callGet(fieldNode, createFieldAccessor(maker, fieldNode, FieldAccess.ALWAYS_FIELD)))); synchronizedStatements.append(newAssign); } /* if (value == null) { */ { - ListBuffer innerIfStatements = ListBuffer.lb(); + ListBuffer innerIfStatements = new ListBuffer(); /* final RawValueType actualValue = INITIALIZER_EXPRESSION; */ { innerIfStatements.append(maker.VarDef(maker.Modifiers(Flags.FINAL), actualValueName, copyOfRawFieldType, field.init)); } diff --git a/src/core/lombok/javac/handlers/HandleSetter.java b/src/core/lombok/javac/handlers/HandleSetter.java index 6f345418..c4977b2b 100644 --- a/src/core/lombok/javac/handlers/HandleSetter.java +++ b/src/core/lombok/javac/handlers/HandleSetter.java @@ -204,7 +204,7 @@ public class HandleSetter extends JavacAnnotationHandler { JCExpression fieldRef = createFieldAccessor(treeMaker, field, FieldAccess.ALWAYS_FIELD); JCAssign assign = treeMaker.Assign(fieldRef, treeMaker.Ident(fieldDecl.name)); - ListBuffer statements = ListBuffer.lb(); + ListBuffer statements = new ListBuffer(); List nonNulls = findAnnotations(field, TransformationsUtil.NON_NULL_PATTERN); List nullables = findAnnotations(field, TransformationsUtil.NULLABLE_PATTERN); diff --git a/src/core/lombok/javac/handlers/HandleToString.java b/src/core/lombok/javac/handlers/HandleToString.java index ea526009..9bd5b920 100644 --- a/src/core/lombok/javac/handlers/HandleToString.java +++ b/src/core/lombok/javac/handlers/HandleToString.java @@ -129,7 +129,7 @@ public class HandleToString extends JavacAnnotationHandler { return; } - ListBuffer nodesForToString = ListBuffer.lb(); + ListBuffer nodesForToString = new ListBuffer(); if (includes != null) { for (JavacNode child : typeNode.down()) { if (child.getKind() != Kind.FIELD) continue; diff --git a/src/core/lombok/javac/handlers/HandleWither.java b/src/core/lombok/javac/handlers/HandleWither.java index 4bda5464..9cfa4531 100644 --- a/src/core/lombok/javac/handlers/HandleWither.java +++ b/src/core/lombok/javac/handlers/HandleWither.java @@ -207,7 +207,7 @@ public class HandleWither extends JavacAnnotationHandler { JCVariableDecl fieldDecl = (JCVariableDecl) field.get(); - ListBuffer statements = ListBuffer.lb(); + ListBuffer statements = new ListBuffer(); List nonNulls = findAnnotations(field, TransformationsUtil.NON_NULL_PATTERN); List nullables = findAnnotations(field, TransformationsUtil.NULLABLE_PATTERN); @@ -219,7 +219,7 @@ public class HandleWither extends JavacAnnotationHandler { JCExpression selfType = cloneSelfType(field); if (selfType == null) return null; - ListBuffer args = ListBuffer.lb(); + ListBuffer args = new ListBuffer(); for (JavacNode child : field.up().down()) { if (child.getKind() != Kind.FIELD) continue; JCVariableDecl childDecl = (JCVariableDecl) child.get(); diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java index f25a11c1..f90bb60d 100644 --- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java +++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java @@ -338,7 +338,7 @@ public class JavacHandlerUtil { public static void deleteImportFromCompilationUnit(JavacNode node, String name) { if (inNetbeansEditor(node)) return; if (!node.shouldDeleteLombokAnnotations()) return; - ListBuffer newDefs = ListBuffer.lb(); + ListBuffer newDefs = new ListBuffer(); JCCompilationUnit unit = (JCCompilationUnit) node.top().get(); @@ -354,7 +354,7 @@ public class JavacHandlerUtil { } private static List filterList(List annotations, JCTree jcTree) { - ListBuffer newAnnotations = ListBuffer.lb(); + ListBuffer newAnnotations = new ListBuffer(); for (JCAnnotation ann : annotations) { if (jcTree != ann) newAnnotations.append(ann); } @@ -437,7 +437,7 @@ public class JavacHandlerUtil { while (typeNode != null && typeNode.getKind() != Kind.TYPE) typeNode = typeNode.up(); if (typeNode != null && typeNode.get() instanceof JCClassDecl) { JCClassDecl type = (JCClassDecl) typeNode.get(); - ListBuffer typeArgs = ListBuffer.lb(); + ListBuffer typeArgs = new ListBuffer(); if (!type.typarams.isEmpty()) { for (JCTypeParameter tp : type.typarams) { typeArgs.append(maker.Ident(tp.name)); @@ -885,7 +885,7 @@ public class JavacHandlerUtil { } private static List addAllButOne(List defs, int idx) { - ListBuffer out = ListBuffer.lb(); + ListBuffer out = new ListBuffer(); int i = 0; for (JCTree def : defs) { if (i++ != idx) out.append(def); @@ -956,7 +956,7 @@ public class JavacHandlerUtil { * Only the simple name is checked - the package and any containing class are ignored. */ public static List findAnnotations(JavacNode fieldNode, Pattern namePattern) { - ListBuffer result = ListBuffer.lb(); + ListBuffer result = new ListBuffer(); for (JavacNode child : fieldNode.down()) { if (child.getKind() == Kind.ANNOTATION) { JCAnnotation annotation = (JCAnnotation) child.get(); @@ -1006,7 +1006,7 @@ public class JavacHandlerUtil { if (idx > -1) matched[idx] = true; } - ListBuffer problematic = ListBuffer.lb(); + ListBuffer problematic = new ListBuffer(); for (int i = 0 ; i < list.size() ; i++) { if (!matched[i]) problematic.append(i); } @@ -1015,8 +1015,8 @@ public class JavacHandlerUtil { } static List unboxAndRemoveAnnotationParameter(JCAnnotation ast, String parameterName, String errorName, JavacNode errorNode) { - ListBuffer params = ListBuffer.lb(); - ListBuffer result = ListBuffer.lb(); + ListBuffer params = new ListBuffer(); + ListBuffer result = new ListBuffer(); errorNode.removeDeferredErrors(); @@ -1086,13 +1086,13 @@ public class JavacHandlerUtil { public static List copyTypeParams(JavacTreeMaker maker, List params) { if (params == null || params.isEmpty()) return params; - ListBuffer out = ListBuffer.lb(); + ListBuffer out = new ListBuffer(); for (JCTypeParameter tp : params) out.append(maker.TypeParameter(tp.name, tp.bounds)); return out.toList(); } public static JCExpression namePlusTypeParamsToTypeReference(JavacTreeMaker maker, Name typeName, List params) { - ListBuffer typeArgs = ListBuffer.lb(); + ListBuffer typeArgs = new ListBuffer(); if (!params.isEmpty()) { for (JCTypeParameter param : params) { @@ -1128,7 +1128,7 @@ public class JavacHandlerUtil { } static List copyAnnotations(List in) { - ListBuffer out = ListBuffer.lb(); + ListBuffer out = new ListBuffer(); for (JCExpression expr : in) { if (!(expr instanceof JCAnnotation)) continue; out.append((JCAnnotation) expr.clone()); @@ -1197,7 +1197,7 @@ public class JavacHandlerUtil { if (in instanceof JCTypeApply) { JCTypeApply ta = (JCTypeApply) in; - ListBuffer lb = ListBuffer.lb(); + ListBuffer lb = new ListBuffer(); for (JCExpression typeArg : ta.arguments) { lb.append(cloneType0(maker, typeArg)); } diff --git a/src/utils/lombok/javac/java6/CommentCollectingScanner.java b/src/utils/lombok/javac/java6/CommentCollectingScanner.java index 5d820ba0..a0e78380 100644 --- a/src/utils/lombok/javac/java6/CommentCollectingScanner.java +++ b/src/utils/lombok/javac/java6/CommentCollectingScanner.java @@ -28,11 +28,12 @@ import lombok.javac.CommentInfo.EndConnection; import lombok.javac.CommentInfo.StartConnection; import com.sun.tools.javac.parser.Scanner; +import com.sun.tools.javac.tree.JCTree.JCExpression; import com.sun.tools.javac.util.List; import com.sun.tools.javac.util.ListBuffer; public class CommentCollectingScanner extends Scanner { - private final ListBuffer comments = ListBuffer.lb(); + private final ListBuffer comments = new ListBuffer(); private int endComment = 0; public CommentCollectingScanner(CommentCollectingScannerFactory factory, CharBuffer charBuffer) { diff --git a/src/utils/lombok/javac/java7/CommentCollectingScanner.java b/src/utils/lombok/javac/java7/CommentCollectingScanner.java index 86c474ea..f97c20a7 100644 --- a/src/utils/lombok/javac/java7/CommentCollectingScanner.java +++ b/src/utils/lombok/javac/java7/CommentCollectingScanner.java @@ -28,11 +28,12 @@ import lombok.javac.CommentInfo.EndConnection; import lombok.javac.CommentInfo.StartConnection; import com.sun.tools.javac.parser.Scanner; +import com.sun.tools.javac.tree.JCTree.JCExpression; import com.sun.tools.javac.util.List; import com.sun.tools.javac.util.ListBuffer; public class CommentCollectingScanner extends Scanner { - private final ListBuffer comments = ListBuffer.lb(); + private final ListBuffer comments = new ListBuffer(); private int endComment = 0; public CommentCollectingScanner(CommentCollectingScannerFactory factory, CharBuffer charBuffer) { diff --git a/src/utils/lombok/javac/java8/CommentCollectingTokenizer.java b/src/utils/lombok/javac/java8/CommentCollectingTokenizer.java index 95945f8f..a81ebab1 100644 --- a/src/utils/lombok/javac/java8/CommentCollectingTokenizer.java +++ b/src/utils/lombok/javac/java8/CommentCollectingTokenizer.java @@ -12,12 +12,13 @@ import com.sun.tools.javac.parser.Tokens.Comment; import com.sun.tools.javac.parser.Tokens.Token; import com.sun.tools.javac.parser.Tokens.Comment.CommentStyle; import com.sun.tools.javac.parser.UnicodeReader; +import com.sun.tools.javac.tree.JCTree.JCExpression; import com.sun.tools.javac.util.List; import com.sun.tools.javac.util.ListBuffer; class CommentCollectingTokenizer extends JavaTokenizer { private int prevEndPosition = 0; - private final ListBuffer comments = ListBuffer.lb(); + private final ListBuffer comments = new ListBuffer(); private int endComment = 0; CommentCollectingTokenizer(ScannerFactory fac, char[] buf, int inputLength) { -- cgit