? .DS_Store
? org.eclipse.jdt.core_non_null_patch
Index: .settings/org.eclipse.jdt.core.prefs
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/.settings/org.eclipse.jdt.core.prefs,v
retrieving revision 1.12
diff -r1.12 org.eclipse.jdt.core.prefs
1c1
< #Thu Nov 01 22:46:18 EDT 2007
---
> #Fri Jan 04 23:22:13 CET 2008
Index: .settings/org.eclipse.jdt.ui.prefs
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/.settings/org.eclipse.jdt.ui.prefs,v
retrieving revision 1.3
diff -r1.3 org.eclipse.jdt.ui.prefs
1c1
< #Mon Mar 05 01:19:14 CET 2007
---
> #Fri Jan 04 23:22:13 CET 2008
49a50
> org.eclipse.jdt.ui.text.custom_code_templates=
Index: compiler/org/eclipse/jdt/core/compiler/IProblem.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/core/compiler/IProblem.java,v
retrieving revision 1.196
diff -r1.196 IProblem.java
1308a1309,1315
>
> int LocalCannotBeAssignedPotentiallyNull = Internal + 903;
> int CannotPassPotentiallyNullExpressionAsArgument = Internal + 904;
> int CannotReturnPotentiallyNullExpression = Internal + 905;
> int NonNullAnnotationIsMissingForOverridingMethod = Internal + 906;
> int NonNullAnnotationIsMissingForArgumentInOverridingMethod = Internal + 907;
>
Index: compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ASTNode.java,v
retrieving revision 1.89
diff -r1.89 ASTNode.java
17a18
> import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
18a20
> import org.eclipse.jdt.internal.compiler.problem.ProblemSeverities;
722a725,748
> /**
> * Return true
if ab
contains
> * a non-null annotation.
> */
> public static boolean isNonNullAnnotated(Scope currentScope, AnnotationBinding[] ab) {
> if (ab == null || ab.length == 0)
> return false;
> if (currentScope.compilerOptions().getSeverity(CompilerOptions.NullReference) != ProblemSeverities.Ignore) {
> // TODO: use lazy creation
> char[][] annotations = CharOperation.splitOn(';', currentScope.compilerOptions().nonNullAnnotations.toCharArray());
> for (int i = 0; i < ab.length; i++) {
> if (ab[i] != null) {
> for (int j = 0; j < annotations.length; j++) {
> char[] annotation = ab[i].getAnnotationType().readableName();
> if (CharOperation.compareTo(annotation, annotations[j]) == 0) {
> return true;
> }
> }
> }
> }
> }
> return false;
> }
>
Index: compiler/org/eclipse/jdt/internal/compiler/ast/Assignment.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Assignment.java,v
retrieving revision 1.80
diff -r1.80 Assignment.java
25c25,26
<
---
> private boolean isNonNull;
>
33a35
> this.isNonNull = false;
35a38
>
46a50,51
> if (isNonNull && nullStatus != FlowInfo.NON_NULL)
> local.declaringScope.problemReporter().localCannotBeAssignedWithPotentiallyNull(local, expression);
60c65,68
< flowInfo.markAsDefinitelyUnknown(local);
---
> if (isNonNull)
> flowInfo.markAsDefinitelyNonNull(local);
> else
> flowInfo.markAsDefinitelyUnknown(local);
71c79,82
< flowContext.initsOnFinally.markAsDefinitelyUnknown(local);
---
> if (isNonNull)
> flowContext.initsOnFinally.markAsDefinitelyNonNull(local);
> else
> flowContext.initsOnFinally.markAsDefinitelyUnknown(local);
155a167,168
> if (isNonNull)
> return FlowInfo.NON_NULL;
201a215,221
> // check for NonNull annotation
> LocalVariableBinding local = this.lhs.localVariableBinding();
> if (local != null && local.kind() == Binding.LOCAL
> && (local.type.tagBits & TagBits.IsBaseType) == 0) {
> isNonNull = isNonNullAnnotated(scope, local.getAnnotations());
> }
>
Index: compiler/org/eclipse/jdt/internal/compiler/ast/EqualExpression.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/EqualExpression.java,v
retrieving revision 1.69
diff -r1.69 EqualExpression.java
30a31,42
> // TODO: if allowed, simpler check would be for left and right nullStatus equality (for != UNKNOW)
> Expression tmp = left;
> while (tmp instanceof CastExpression)
> tmp = ((CastExpression)tmp).expression;
> if (tmp instanceof MessageSend) {
> MessageSend ms = (MessageSend)tmp;
> int rightNullStatus = right.nullStatus(flowInfo);
> if ((rightNullStatus == FlowInfo.NULL
> || rightNullStatus == FlowInfo.NON_NULL)
> && isNonNullAnnotated(scope, ms.binding.getAnnotations()))
> scope.problemReporter().cannotReturnPotentiallyNullExpression(left);
> }
34a47,57
> tmp = right;
> while (tmp instanceof CastExpression)
> tmp = ((CastExpression)tmp).expression;
> if (tmp instanceof MessageSend) {
> MessageSend ms = (MessageSend)tmp;
> int rightNullStatus = left.nullStatus(flowInfo);
> if ((rightNullStatus == FlowInfo.NULL
> || rightNullStatus == FlowInfo.NON_NULL)
> && isNonNullAnnotated(scope, ms.binding.getAnnotations()))
> scope.problemReporter().cannotReturnPotentiallyNullExpression(right);
> }
Index: compiler/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java,v
retrieving revision 1.62
diff -r1.62 LocalDeclaration.java
64a65,66
> if (isNonNullAnnotated(currentScope, binding.getAnnotations()) && nullStatus != FlowInfo.NON_NULL)
> binding.declaringScope.problemReporter().localCannotBeAssignedWithPotentiallyNull(binding, initialization);
Index: compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java,v
retrieving revision 1.126
diff -r1.126 MessageSend.java
22a23
> import org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding;
42c43
<
---
>
58c59,61
<
---
>
> private boolean isReturnValueNonNull = false;
>
68a72
> final AnnotationBinding[][] parameterAnnotations = binding.getParameterAnnotations();
70a75,79
>
> if (arguments[i].nullStatus(flowInfo) != FlowInfo.NON_NULL
> && isNonNullAnnotated(currentScope, parameterAnnotations[i])) {
> currentScope.problemReporter().cannotPassPotentiallyNullExpressionAsArgument(binding, arguments[i]);
> }
77c86
< // TODO (maxime) the copy above is needed because of a side effect into
---
> // TODO (maxime) the copy above is needed because of a side effect into
81c90
< manageSyntheticAccessIfNecessary(currentScope, flowInfo);
---
> manageSyntheticAccessIfNecessary(currentScope, flowInfo);
95c104
< if (originalBinding != this.binding
---
> if (originalBinding != this.binding
99c108
< TypeBinding targetType = (!compileTimeType.isBaseType() && runtimeTimeType.isBaseType())
---
> TypeBinding targetType = (!compileTimeType.isBaseType() && runtimeTimeType.isBaseType())
103c112
< } else if (this.actualReceiverType.isArrayType()
---
> } else if (this.actualReceiverType.isArrayType()
105,106c114,115
< && this.binding.parameters == Binding.NO_PARAMETERS
< && scope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_5
---
> && this.binding.parameters == Binding.NO_PARAMETERS
> && scope.compilerOptions().complianceLevel >= ClassFileConstants.JDK1_5
109c118
< this.valueCast = runtimeTimeType;
---
> this.valueCast = runtimeTimeType;
114c123
< scope.problemReporter().invalidType(this,
---
> scope.problemReporter().invalidType(this,
120c129
< }
---
> }
131c140
< */
---
> */
143c152
< ReferenceBinding targetType = currentScope.enclosingSourceType().enclosingTypeAt((this.bits & ASTNode.DepthMASK) >> ASTNode.DepthSHIFT);
---
> ReferenceBinding targetType = currentScope.enclosingSourceType().enclosingTypeAt((this.bits & ASTNode.DepthMASK) >> ASTNode.DepthSHIFT);
148c157
< if (this.receiverGenericCast != null)
---
> if (this.receiverGenericCast != null)
151c160
<
---
>
201c210
< }
---
> }
203c212
< public boolean isSuperAccess() {
---
> public boolean isSuperAccess() {
206c215
< public boolean isTypeAccess() {
---
> public boolean isTypeAccess() {
217c226
< // depth is set for both implicit and explicit access (see MethodBinding#canBeSeenBy)
---
> // depth is set for both implicit and explicit access (see MethodBinding#canBeSeenBy)
219c228
<
---
>
236,237c245,246
< if (((this.bits & ASTNode.DepthMASK) != 0)
< && this.codegenBinding.declaringClass.getPackage()
---
> if (((this.bits & ASTNode.DepthMASK) != 0)
> && this.codegenBinding.declaringClass.getPackage()
246c255
<
---
>
250c259
< // and not from Object or implicit static method call.
---
> // and not from Object or implicit static method call.
263c272
< // Post 1.4.0 target, array clone() invocations are qualified with array type
---
> // Post 1.4.0 target, array clone() invocations are qualified with array type
267a277,278
> if (isReturnValueNonNull)
> return FlowInfo.NON_NULL;
276c287
< if (this.valueCast != null)
---
> if (this.valueCast != null)
305c316
< }
---
> }
311c322
<
---
>
313c324
<
---
>
327c338
< for (int i = 0; i < this.arguments.length ; i ++) {
---
> for (int i = 0; i < this.arguments.length ; i ++) {
340c351
< boolean receiverCast = false, argsContainCast = false;
---
> boolean receiverCast = false, argsContainCast = false;
345c356
< this.actualReceiverType = this.receiver.resolveType(scope);
---
> this.actualReceiverType = this.receiver.resolveType(scope);
349,350c360,361
< if (((CastExpression)this.receiver).expression.resolvedType == this.actualReceiverType) {
< scope.problemReporter().unnecessaryCast((CastExpression)this.receiver);
---
> if (((CastExpression)this.receiver).expression.resolvedType == this.actualReceiverType) {
> scope.problemReporter().unnecessaryCast((CastExpression)this.receiver);
370c381
< }
---
> }
374c385
< boolean argHasError = false; // typeChecks all arguments
---
> boolean argHasError = false; // typeChecks all arguments
393c404
< this.binding =
---
> this.binding =
425c436
< this.binding =
---
> this.binding =
428c439
< : scope.getMethod(this.actualReceiverType, this.selector, argumentTypes, this);
---
> : scope.getMethod(this.actualReceiverType, this.selector, argumentTypes, this);
433c444
< } else {
---
> } else {
455c466
< MethodBinding closestMatchOriginal = closestMatch.original();
---
> MethodBinding closestMatchOriginal = closestMatch.original();
468,469c479,480
< if (this.actualReceiverType.isRawType()
< && (this.receiver.bits & ASTNode.IgnoreRawTypeCheck) == 0
---
> if (this.actualReceiverType.isRawType()
> && (this.receiver.bits & ASTNode.IgnoreRawTypeCheck) == 0
490c501
< }
---
> }
505,507c516,518
< if (this.actualReceiverType.isArrayType()
< && this.binding.parameters == Binding.NO_PARAMETERS
< && compilerOptions.complianceLevel >= ClassFileConstants.JDK1_5
---
> if (this.actualReceiverType.isArrayType()
> && this.binding.parameters == Binding.NO_PARAMETERS
> && compilerOptions.complianceLevel >= ClassFileConstants.JDK1_5
529a541,544
>
> if (isNonNullAnnotated(scope, binding.getAnnotations()))
> isReturnValueNonNull = true;
>
560c575
< }
---
> }
Index: compiler/org/eclipse/jdt/internal/compiler/ast/MethodDeclaration.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MethodDeclaration.java,v
retrieving revision 1.63
diff -r1.63 MethodDeclaration.java
20a21
> import org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding;
22a24,25
> import org.eclipse.jdt.internal.compiler.lookup.MethodBinding;
> import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
31c34
<
---
>
34c37
<
---
>
53,55c56,58
<
< if (!this.binding.isUsed() &&
< (this.binding.isPrivate()
---
>
> if (!this.binding.isUsed() &&
> (this.binding.isPrivate()
61c64
<
---
>
69c72,104
<
---
>
> boolean[] argumentIsNonNull = null;
> if (arguments != null)
> argumentIsNonNull = new boolean[arguments.length];
>
> ReferenceBinding declaringClassRef = binding.declaringClass;
>
> if ((returnType.bits & TagBits.IsBaseType) == 0) {
>
> ReferenceBinding type = isOverriddenMethodNonNullAnnotated(declaringClassRef, -1, classScope);
> if (type != null && !isNonNullAnnotated(classScope, binding.getAnnotations()))
> classScope.problemReporter().nonNullAnnotationIsMissingForOverridingMethod(type, binding, this);
> }
>
> final AnnotationBinding[][] parameterAnnotations = binding.getParameterAnnotations();
> if (arguments != null) {
> for (int i = 0; i < arguments.length; i++) {
> ReferenceBinding type = isOverriddenMethodNonNullAnnotated(declaringClassRef, i, classScope);
> boolean argIsNonNull = isNonNullAnnotated(classScope, parameterAnnotations[i]);
> if (type != null && !argIsNonNull)
> classScope.problemReporter().nonNullAnnotationIsMissingForArgumentInOverridingMethod(type, binding, arguments[i]);
>
> argumentIsNonNull[i] = type != null || argIsNonNull;
> }
> }
>
> if (argumentIsNonNull != null) {
> for (int i = 0; i < argumentIsNonNull.length; i++) {
> if (!argumentIsNonNull[i] && isNonNullAnnotated(classScope, parameterAnnotations[i]))
> argumentIsNonNull[i] = true;
> }
> }
>
81a117,118
> if (argumentIsNonNull[i])
> flowInfo.markAsDefinitelyNonNull(this.arguments[i].binding);
103c140
< if (flowInfo != FlowInfo.DEAD_END) {
---
> if (flowInfo != FlowInfo.DEAD_END) {
115a153,223
>
> /**
> * Check all the overridden methods (super classes and interfaces)
> * searching for NonNull annotation. Return the first type which
> * contains an annotated overridden method.
> *
> * @param declaringClassRef the base type
> * @param argument if positive, search annotations on parameters, else
> * search on method
> * @param classScope
> * @return the type containing the overridden and annotated method
> * or null
> */
> public ReferenceBinding isOverriddenMethodNonNullAnnotated(ReferenceBinding declaringClassRef, int argument, ClassScope classScope) {
> if (declaringClassRef == null)
> return null;
>
> if (binding.isPrivate() || binding.isConstructor())
> return null;
>
> ReferenceBinding superClassRef = declaringClassRef.superclass();
> if (superClassRef != null) {
> MethodBinding mb = superClassRef.getExactMethod(selector, binding.parameters, classScope.compilationUnitScope());
>
> if (mb != null) {
> boolean nonNullAnnotated;
> if (argument < 0)
> nonNullAnnotated = isNonNullAnnotated(classScope, mb.getAnnotations());
> else
> nonNullAnnotated = isNonNullAnnotated(classScope, mb.getParameterAnnotations()[argument]);
>
> // if an annotation is found, returns
> if (nonNullAnnotated)
> return superClassRef;
> } else {
> ReferenceBinding type = isOverriddenMethodNonNullAnnotated(superClassRef, argument, classScope);
> if (type != null)
> return type;
> }
> }
>
> // if an overridden method have been found, but it was not annotated
> // the check continues through the interfaces
>
> ReferenceBinding[] superInterfacesRef = declaringClassRef.superInterfaces();
> if (superInterfacesRef != null) {
> for (int i = 0; i < superInterfacesRef.length; i++) {
> if (superInterfacesRef[i] != null) {
> MethodBinding mb = superInterfacesRef[i].getExactMethod(selector, binding.parameters, classScope.compilationUnitScope());
>
> if (mb != null) {
> boolean nonNullAnnotated;
> if (argument < 0)
> nonNullAnnotated = isNonNullAnnotated(classScope, mb.getAnnotations());
> else
> nonNullAnnotated = isNonNullAnnotated(classScope, mb.getParameterAnnotations()[argument]);
>
> if (nonNullAnnotated)
> return superInterfacesRef[i];
> } else {
> ReferenceBinding type = isOverriddenMethodNonNullAnnotated(superInterfacesRef[i], argument, classScope);
> if (type != null)
> return type;
> }
> }
> }
> }
>
> return null;
> }
>
140c248
<
---
>
146c254
<
---
>
167c275
< } else if (!isInterfaceMethod
---
> } else if (!isInterfaceMethod
173c281
<
---
>
181c289
< // native methods may have a semicolon body
---
> // native methods may have a semicolon body
187c295
< // the method HAS a body --> abstract native modifiers are forbiden
---
> // the method HAS a body --> abstract native modifiers are forbidden
193c301
<
---
>
224c332
< }
---
> }
247c355
< }
---
> }
Index: compiler/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ReturnStatement.java,v
retrieving revision 1.59
diff -r1.59 ReturnStatement.java
39a40,47
>
> AbstractMethodDeclaration methodDecl = currentScope.methodScope().referenceMethod();
> MethodBinding methodBinding = methodDecl.binding;
>
> if ((methodBinding.returnType.tagBits & TagBits.IsBaseType) == 0
> && expression.nullStatus(flowInfo) != FlowInfo.NON_NULL
> && isNonNullAnnotated(currentScope, methodBinding.getAnnotations()))
> currentScope.problemReporter().cannotReturnPotentiallyNullExpression(expression);
Index: compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java,v
retrieving revision 1.196
diff -r1.196 CompilerOptions.java
119a120
> public static final String OPTION_Non_Null_Annotations = "org.eclipse.jdt.core.compiler.nonNullAnnotations"; //$NON-NLS-1$
339a341,343
> // annotations list for null checks (separator is ';')
> public String nonNullAnnotations = "org.NonNull;edu.umd.cs.findbugs.annotations.NonNull"; //$NON-NLS-1$
>
457a462
> optionsMap.put(OPTION_Non_Null_Annotations, this.nonNullAnnotations);
750c755
< }
---
> }
937c942
< }
---
> }
940c945
< }
---
> }
975a981,983
> if ((optionValue = optionsMap.get(OPTION_Non_Null_Annotations)) != null) {
> this.nonNullAnnotations = (String)optionValue;
> }
1062a1071
> buf.append("\n\t- non null annotations list (';'): ").append(this.nonNullAnnotations); //$NON-NLS-1$
Index: compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java,v
retrieving revision 1.365
diff -r1.365 ProblemReporter.java
33c33
<
---
>
49c49
< case IProblem.MaskedCatch :
---
> case IProblem.MaskedCatch :
54c54
<
---
>
57c57
<
---
>
65,66c65,66
< case IProblem.OverridingDeprecatedMethod :
< case IProblem.UsingDeprecatedType :
---
> case IProblem.OverridingDeprecatedMethod :
> case IProblem.UsingDeprecatedType :
71c71
<
---
>
74c74
<
---
>
84c84
< case IProblem.NeedToEmulateConstructorAccess :
---
> case IProblem.NeedToEmulateConstructorAccess :
93c93
<
---
>
130c130
<
---
>
140c140
<
---
>
144c144
<
---
>
147c147
<
---
>
154c154
<
---
>
174c174
<
---
>
179c179
<
---
>
185c185
<
---
>
201c201
<
---
>
209c209
<
---
>
216c216
<
---
>
219c219
<
---
>
225c225
<
---
>
307c307
<
---
>
310c310
<
---
>
316a317,323
>
> case IProblem.LocalCannotBeAssignedPotentiallyNull:
> case IProblem.CannotReturnPotentiallyNullExpression:
> case IProblem.CannotPassPotentiallyNullExpressionAsArgument:
> case IProblem.NonNullAnnotationIsMissingForOverridingMethod:
> case IProblem.NonNullAnnotationIsMissingForArgumentInOverridingMethod:
> return CompilerOptions.NullReference;
343c350
<
---
>
351c358
<
---
>
357c364
<
---
>
366c373
<
---
>
369c376
<
---
>
372c379
<
---
>
375c382
<
---
>
381c388
<
---
>
384c391
<
---
>
399c406
<
---
>
403c410
< case (int)(CompilerOptions.PotentialNullReference >>> 32):
---
> case (int)(CompilerOptions.PotentialNullReference >>> 32):
409c416
<
---
>
412c419
<
---
>
422c429
<
---
>
429c436
< }
---
> }
436c443
<
---
>
471c478
< new String(type.sourceName()),
---
> new String(type.sourceName()),
478c485
< new String(type.sourceName()),
---
> new String(type.sourceName()),
505c512
< new String[] {
---
> new String[] {
507,508c514,515
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
< new String(decl.name),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
> new String(decl.name),
510c517
< new String[] {
---
> new String[] {
512,513c519,520
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
< new String(decl.name),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
> new String(decl.name),
522c529
< new String[] {
---
> new String[] {
524,526c531,533
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
< new String(abstractMethod.declaringClass.readableName()),
< new String(type.readableName()),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
> new String(abstractMethod.declaringClass.readableName()),
> new String(type.readableName()),
528c535
< new String[] {
---
> new String[] {
530,532c537,539
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
< new String(abstractMethod.declaringClass.shortReadableName()),
< new String(type.shortReadableName()),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
> new String(abstractMethod.declaringClass.shortReadableName()),
> new String(type.shortReadableName()),
564c571
< new String(inheritedMethod.selector),
---
> new String(inheritedMethod.selector),
569c576
< new String(inheritedMethod.selector),
---
> new String(inheritedMethod.selector),
572c579
< location.sourceEnd);
---
> location.sourceEnd);
736c743
< String[] arguments = new String[] { new String(name) };
---
> String[] arguments = new String[] { new String(name) };
901c908
< new String[] {
---
> new String[] {
903c910
< typesAsString(enumConstructor.isVarargs(), enumConstructor.parameters, false),
---
> typesAsString(enumConstructor.isVarargs(), enumConstructor.parameters, false),
905c912
< new String[] {
---
> new String[] {
907c914
< typesAsString(enumConstructor.isVarargs(), enumConstructor.parameters, true),
---
> typesAsString(enumConstructor.isVarargs(), enumConstructor.parameters, true),
986c993
< nodeSourceEnd(field, location));
---
> nodeSourceEnd(field, location));
1061c1068
<
---
>
1102c1109
< return ProblemSeverities.Ignore;
---
> return ProblemSeverities.Ignore;
1125c1132
< return ProblemSeverities.Ignore;
---
> return ProblemSeverities.Ignore;
1144c1151
< if ((problemID & IProblem.Javadoc) != 0 && !this.options.docCommentSupport)
---
> if ((problemID & IProblem.Javadoc) != 0 && !this.options.docCommentSupport)
1169c1176
< // this code is called on IntLiteral and LongLiteral
---
> // this code is called on IntLiteral and LongLiteral
1206c1213
<
---
>
1365c1372
< typesAsString(inheritedMethod1.isVarargs(), inheritedMethod1.original().parameters, false),
---
> typesAsString(inheritedMethod1.isVarargs(), inheritedMethod1.original().parameters, false),
1370c1377
< typesAsString(inheritedMethod1.isVarargs(), inheritedMethod1.original().parameters, true),
---
> typesAsString(inheritedMethod1.isVarargs(), inheritedMethod1.original().parameters, true),
1469c1476
< ? IProblem.DuplicateModifierForArgument
---
> ? IProblem.DuplicateModifierForArgument
1505c1512
< nodeSourceEnd(field, reference));
---
> nodeSourceEnd(field, reference));
1532c1539
< sourceEnd);
---
> sourceEnd);
1540c1547
< new String[] {
---
> new String[] {
1542,1543c1549,1550
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
< new String(abstractMethod.declaringClass.readableName()),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
> new String(abstractMethod.declaringClass.readableName()),
1545c1552
< new String[] {
---
> new String[] {
1547,1548c1554,1555
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
< new String(abstractMethod.declaringClass.shortReadableName()),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
> new String(abstractMethod.declaringClass.shortReadableName()),
1557c1564
< new String[] {
---
> new String[] {
1559,1560c1566,1567
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
< new String(field.name),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, false),
> new String(field.name),
1562c1569
< new String[] {
---
> new String[] {
1564,1565c1571,1572
< typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
< new String(field.name),
---
> typesAsString(abstractMethod.isVarargs(), abstractMethod.parameters, true),
> new String(field.name),
1592c1599
< nodeSourceEnd(field, reference));
---
> nodeSourceEnd(field, reference));
1705c1712
< /** @param classpathEntryType one of {@link AccessRestriction#COMMAND_LINE},
---
> /** @param classpathEntryType one of {@link AccessRestriction#COMMAND_LINE},
1707c1714
< public void forbiddenReference(FieldBinding field, ASTNode location,
---
> public void forbiddenReference(FieldBinding field, ASTNode location,
1715,1716c1722,1723
< new String[] {
< classpathEntryName,
---
> new String[] {
> classpathEntryName,
1723c1730
< /** @param classpathEntryType one of {@link AccessRestriction#COMMAND_LINE},
---
> /** @param classpathEntryType one of {@link AccessRestriction#COMMAND_LINE},
1725c1732
< public void forbiddenReference(MethodBinding method, ASTNode location,
---
> public void forbiddenReference(MethodBinding method, ASTNode location,
1728c1735
< if (severity == ProblemSeverities.Ignore) return;
---
> if (severity == ProblemSeverities.Ignore) return;
1734,1735c1741,1742
< new String[] {
< classpathEntryName,
---
> new String[] {
> classpathEntryName,
1745,1746c1752,1753
< new String[] {
< classpathEntryName,
---
> new String[] {
> classpathEntryName,
1753c1760
< /** @param classpathEntryType one of {@link AccessRestriction#COMMAND_LINE},
---
> /** @param classpathEntryType one of {@link AccessRestriction#COMMAND_LINE},
1755c1762
< public void forbiddenReference(TypeBinding type, ASTNode location,
---
> public void forbiddenReference(TypeBinding type, ASTNode location,
1765c1772
< classpathEntryName,
---
> classpathEntryName,
1800c1807
< int problemId,
---
> int problemId,
1803c1810
< int problemStartPosition,
---
> int problemStartPosition,
1812,1813c1819,1820
< this.referenceContext,
< this.referenceContext == null ? null : this.referenceContext.compilationResult());
---
> this.referenceContext,
> this.referenceContext == null ? null : this.referenceContext.compilationResult());
1817c1824
< // reference context.
---
> // reference context.
1819c1826
< int problemId,
---
> int problemId,
1822c1829
< int problemStartPosition,
---
> int problemStartPosition,
1832,1833c1839,1840
< this.referenceContext,
< unitResult);
---
> this.referenceContext,
> unitResult);
1840c1847
< int problemId,
---
> int problemId,
1844c1851
< int problemStartPosition,
---
> int problemStartPosition,
1854c1861
< problemEndPosition);
---
> problemEndPosition);
1860c1867
< int problemId,
---
> int problemId,
1865c1872
< int problemStartPosition,
---
> int problemStartPosition,
1875,1876c1882,1883
< this.referenceContext,
< this.referenceContext == null ? null : this.referenceContext.compilationResult());
---
> this.referenceContext,
> this.referenceContext == null ? null : this.referenceContext.compilationResult());
1885c1892
< },
---
> },
1888c1895
< },
---
> },
1946c1953
< arguments,
---
> arguments,
1956c1963
< arguments,
---
> arguments,
1964,1965c1971,1972
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
1972,1973c1979,1980
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
2004c2011
<
---
>
2009c2016
< problemID = IProblem.CannotDefineAnnotationInLocalType;
---
> problemID = IProblem.CannotDefineAnnotationInLocalType;
2011c2018
< problemID = IProblem.CannotDefineInterfaceInLocalType;
---
> problemID = IProblem.CannotDefineInterfaceInLocalType;
2049c2056
< },
---
> },
2053c2060
< },
---
> },
2063c2070
< },
---
> },
2067c2074
< },
---
> },
2120,2121c2127,2128
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
2151c2158
< },
---
> },
2155c2162
< },
---
> },
2166c2173
< },
---
> },
2171c2178
< },
---
> },
2227c2234
< },
---
> },
2232c2239
< },
---
> },
2261c2268
< qualifiedTypeReference.sourceEnd);
---
> qualifiedTypeReference.sourceEnd);
2285c2292
< qualifiedTypeReference.sourceEnd);
---
> qualifiedTypeReference.sourceEnd);
2378,2381c2385,2388
< IProblem.ImportNotFound,
< arguments,
< arguments,
< importRef.sourceStart,
---
> IProblem.ImportNotFound,
> arguments,
> arguments,
> importRef.sourceStart,
2389,2392c2396,2399
< IProblem.InvalidTypeForStaticImport,
< arguments,
< arguments,
< importRef.sourceStart,
---
> IProblem.InvalidTypeForStaticImport,
> arguments,
> arguments,
> importRef.sourceStart,
2401c2408
< if (currentMethod.declaringClass.isInterface()
---
> if (currentMethod.declaringClass.isInterface()
2427c2434
< } else
---
> } else
2474c2481
< if (declaringClass.isInterface()
---
> if (declaringClass.isInterface()
2659c2666
< },
---
> },
2666c2673
< },
---
> },
2721c2728
<
---
>
2730c2737
< }
---
> }
2732c2739
< boolean insideDefaultConstructor =
---
> boolean insideDefaultConstructor =
2748c2755
<
---
>
2772c2779
< }
---
> }
2794c2801
< new String[] {
---
> new String[] {
2796,2800c2803,2807
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
< typesAsString(false, invocationArguments, false),
< new String(inferredTypeArgument.readableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
> typesAsString(false, invocationArguments, false),
> new String(inferredTypeArgument.readableName()),
> new String(typeParameter.sourceName),
2802c2809
< new String[] {
---
> new String[] {
2804,2808c2811,2815
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
< typesAsString(false, invocationArguments, true),
< new String(inferredTypeArgument.shortReadableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
> typesAsString(false, invocationArguments, true),
> new String(inferredTypeArgument.shortReadableName()),
> new String(typeParameter.sourceName),
2811,2813c2818,2820
< sourceEnd);
< return;
<
---
> sourceEnd);
> return;
>
2820c2827
< new String[] {
---
> new String[] {
2822,2823c2829,2830
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
2825c2832
< new String[] {
---
> new String[] {
2827,2828c2834,2835
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
2831c2838
< sourceEnd);
---
> sourceEnd);
2835c2842
< new String[] {
---
> new String[] {
2837,2838c2844,2845
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
2841c2848
< new String[] {
---
> new String[] {
2843,2844c2850,2851
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
2848c2855
< sourceEnd);
---
> sourceEnd);
2856c2863
< new String[] {
---
> new String[] {
2858,2859c2865,2866
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
2862c2869
< new String[] {
---
> new String[] {
2864,2865c2871,2872
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
2869c2876
< sourceEnd);
---
> sourceEnd);
2876c2883
< new String[] {
---
> new String[] {
2878,2879c2885,2886
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
2881c2888
< new String[] {
---
> new String[] {
2883,2884c2890,2891
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
2887c2894
< sourceEnd);
---
> sourceEnd);
2914c2921
<
---
>
2943c2950
<
---
>
2961c2968
<
---
>
3000c3007
<
---
>
3079c3086
<
---
>
3081c3088
<
---
>
3113c3120
< nodeSourceStart(field, nameRef),
---
> nodeSourceStart(field, nameRef),
3143c3150
< id,
---
> id,
3146c3153
< nameRef.sourceStart,
---
> nameRef.sourceStart,
3155c3162
< annotation.sourceEnd);
---
> annotation.sourceEnd);
3160c3167
<
---
>
3179c3186
< parameterTypeNames
---
> parameterTypeNames
3190c3197
< }
---
> }
3197c3204
< }
---
> }
3230c3237
< new String[] {
---
> new String[] {
3232,3236c3239,3243
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
< typesAsString(false, invocationArguments, false),
< new String(inferredTypeArgument.readableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
> typesAsString(false, invocationArguments, false),
> new String(inferredTypeArgument.readableName()),
> new String(typeParameter.sourceName),
3238c3245
< new String[] {
---
> new String[] {
3240,3244c3247,3251
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
< typesAsString(false, invocationArguments, true),
< new String(inferredTypeArgument.shortReadableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
> typesAsString(false, invocationArguments, true),
> new String(inferredTypeArgument.shortReadableName()),
> new String(typeParameter.sourceName),
3247c3254
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
3255c3262
< new String[] {
---
> new String[] {
3257,3258c3264,3265
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
3260c3267
< new String[] {
---
> new String[] {
3262,3263c3269,3270
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
3266c3273
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
3270c3277
< new String[] {
---
> new String[] {
3272,3273c3279,3280
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
3276c3283
< new String[] {
---
> new String[] {
3278,3279c3285,3286
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
3283c3290
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
3291c3298
< new String[] {
---
> new String[] {
3293,3294c3300,3301
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
3297c3304
< new String[] {
---
> new String[] {
3299,3300c3306,3307
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
3304c3311
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
3311c3318
< new String[] {
---
> new String[] {
3313,3314c3320,3321
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
3316c3323
< new String[] {
---
> new String[] {
3318,3319c3325,3326
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
3322c3329
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
3424c3431
<
---
>
3445c3452
< case ProblemReasons.IllegalSuperTypeVariable :
---
> case ProblemReasons.IllegalSuperTypeVariable :
3453c3460
<
---
>
3495c3502
< new String[] {new String(type.leafComponentType().readableName()) },
---
> new String[] {new String(type.leafComponentType().readableName()) },
3543c3550
< NoArgument,
---
> NoArgument,
3546c3553
< annotation.sourceEnd);
---
> annotation.sourceEnd);
3551,3552c3558,3559
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3559,3560c3566,3567
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3567,3568c3574,3575
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3575,3576c3582,3583
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3583,3584c3590,3591
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3591,3592c3598,3599
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3601,3602c3608,3609
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3611,3612c3618,3619
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3619,3620c3626,3627
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3627,3628c3634,3635
< NoArgument,
< NoArgument,
---
> NoArgument,
> NoArgument,
3649c3656
< arguments,
---
> arguments,
3710c3717
< default:
---
> default:
3723c3730
< default:
---
> default:
3732c3739
<
---
>
3736c3743
<
---
>
3924c3931
<
---
>
3930c3937
<
---
>
3933c3940
< new String[] {
---
> new String[] {
3935,3939c3942,3946
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
< typesAsString(false, invocationArguments, false),
< new String(inferredTypeArgument.readableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
> typesAsString(false, invocationArguments, false),
> new String(inferredTypeArgument.readableName()),
> new String(typeParameter.sourceName),
3941c3948
< new String[] {
---
> new String[] {
3943,3947c3950,3954
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
< typesAsString(false, invocationArguments, true),
< new String(inferredTypeArgument.shortReadableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
> typesAsString(false, invocationArguments, true),
> new String(inferredTypeArgument.shortReadableName()),
> new String(typeParameter.sourceName),
3951,3953c3958,3960
< sourceEnd);
< return;
<
---
> sourceEnd);
> return;
>
3963c3970
< new String[] {
---
> new String[] {
3965,3966c3972,3973
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
3968c3975
< new String[] {
---
> new String[] {
3970,3971c3977,3978
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
3975c3982
< sourceEnd);
---
> sourceEnd);
3979c3986
< new String[] {
---
> new String[] {
3981,3982c3988,3989
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
3985c3992
< new String[] {
---
> new String[] {
3987,3988c3994,3995
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
3993c4000
< sourceEnd);
---
> sourceEnd);
4003c4010
< new String[] {
---
> new String[] {
4005,4006c4012,4013
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
4009c4016
< new String[] {
---
> new String[] {
4011,4012c4018,4019
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
4017c4024
< sourceEnd);
---
> sourceEnd);
4026c4033
< new String[] {
---
> new String[] {
4028,4029c4035,4036
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
< new String(shownConstructor.declaringClass.readableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, false),
> new String(shownConstructor.declaringClass.readableName()),
4031c4038
< new String[] {
---
> new String[] {
4033,4034c4040,4041
< typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
< new String(shownConstructor.declaringClass.shortReadableName()),
---
> typesAsString(shownConstructor.isVarargs(), shownConstructor.parameters, true),
> new String(shownConstructor.declaringClass.shortReadableName()),
4038c4045
< sourceEnd);
---
> sourceEnd);
4132c4139
< parameterTypeNames
---
> parameterTypeNames
4166c4173
< new String[] {
---
> new String[] {
4168,4172c4175,4179
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
< typesAsString(false, invocationArguments, false),
< new String(inferredTypeArgument.readableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
> typesAsString(false, invocationArguments, false),
> new String(inferredTypeArgument.readableName()),
> new String(typeParameter.sourceName),
4174c4181
< new String[] {
---
> new String[] {
4176,4180c4183,4187
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
< typesAsString(false, invocationArguments, true),
< new String(inferredTypeArgument.shortReadableName()),
< new String(typeParameter.sourceName),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
> typesAsString(false, invocationArguments, true),
> new String(inferredTypeArgument.shortReadableName()),
> new String(typeParameter.sourceName),
4184c4191
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
4195c4202
< new String[] {
---
> new String[] {
4197,4198c4204,4205
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
4200c4207
< new String[] {
---
> new String[] {
4202,4203c4209,4210
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
4207c4214
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
4211c4218
< new String[] {
---
> new String[] {
4213,4214c4220,4221
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
4217c4224
< new String[] {
---
> new String[] {
4219,4220c4226,4227
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
4225c4232
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
4235c4242
< new String[] {
---
> new String[] {
4237,4238c4244,4245
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
4241c4248
< new String[] {
---
> new String[] {
4243,4244c4250,4251
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
4249c4256
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
4258c4265
< new String[] {
---
> new String[] {
4260,4261c4267,4268
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
< new String(shownMethod.declaringClass.readableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, false),
> new String(shownMethod.declaringClass.readableName()),
4263c4270
< new String[] {
---
> new String[] {
4265,4266c4272,4273
< typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
< new String(shownMethod.declaringClass.shortReadableName()),
---
> typesAsString(shownMethod.isVarargs(), shownMethod.parameters, true),
> new String(shownMethod.declaringClass.shortReadableName()),
4270c4277
< (int) messageSend.nameSourcePosition);
---
> (int) messageSend.nameSourcePosition);
4301c4308
< /**
---
> /**
4311c4318
< /**
---
> /**
4556,4557c4563,4564
< int id = (local instanceof Argument)
< ? IProblem.ArgumentHidingLocalVariable
---
> int id = (local instanceof Argument)
> ? IProblem.ArgumentHidingLocalVariable
4599a4607,4666
> public void localCannotBeAssignedWithPotentiallyNull(LocalVariableBinding local, ASTNode location) {
> int severity = computeSeverity(IProblem.LocalCannotBeAssignedPotentiallyNull);
> if (severity == ProblemSeverities.Ignore) return;
> String[] arguments = new String[] { new String(local.name) };
> this.handle(
> IProblem.LocalCannotBeAssignedPotentiallyNull,
> arguments,
> arguments,
> severity,
> nodeSourceStart(local, location),
> nodeSourceEnd(local, location));
> }
> public void cannotReturnPotentiallyNullExpression(ASTNode location) {
> int severity = computeSeverity(IProblem.CannotReturnPotentiallyNullExpression);
> if (severity == ProblemSeverities.Ignore) return;
> String[] arguments = new String[] { };
> this.handle(
> IProblem.CannotReturnPotentiallyNullExpression,
> arguments,
> arguments,
> severity,
> location.sourceStart,
> location.sourceEnd);
> }
> public void nonNullAnnotationIsMissingForOverridingMethod(ReferenceBinding type, MethodBinding method, ASTNode location) {
> int severity = computeSeverity(IProblem.NonNullAnnotationIsMissingForOverridingMethod);
> if (severity == ProblemSeverities.Ignore) return;
> String[] arguments = new String[] { new String(type.readableName()), new String(method.readableName()) };
> this.handle(
> IProblem.NonNullAnnotationIsMissingForOverridingMethod,
> arguments,
> arguments,
> severity,
> location.sourceStart,
> location.sourceEnd);
> }
> public void nonNullAnnotationIsMissingForArgumentInOverridingMethod(ReferenceBinding type, MethodBinding method, Argument arg) {
> int severity = computeSeverity(IProblem.NonNullAnnotationIsMissingForArgumentInOverridingMethod);
> if (severity == ProblemSeverities.Ignore) return;
> String[] arguments = new String[] { new String(type.readableName()), new String(method.readableName()), new String(arg.name) };
> this.handle(
> IProblem.NonNullAnnotationIsMissingForArgumentInOverridingMethod,
> arguments,
> arguments,
> severity,
> arg.sourceStart,
> arg.sourceEnd);
> }
> public void cannotPassPotentiallyNullExpressionAsArgument(MethodBinding method, ASTNode location) {
> int severity = computeSeverity(IProblem.CannotPassPotentiallyNullExpressionAsArgument);
> if (severity == ProblemSeverities.Ignore) return;
> String[] arguments = new String[] { new String(method.readableName()) };
> this.handle(
> IProblem.CannotPassPotentiallyNullExpressionAsArgument,
> arguments,
> arguments,
> severity,
> nodeSourceStart(method, location),
> nodeSourceEnd(method, location));
> }
4702c4769
< },
---
> },
4709c4776
< },
---
> },
4728c4795
< }
---
> }
4844c4911
< compUnitDecl.sourceStart + 1);
---
> compUnitDecl.sourceStart + 1);
4864c4931
< this.abortDueToInternalError(Messages.abort_missingCode, location);
---
> this.abortDueToInternalError(Messages.abort_missingCode, location);
4868c4935
< int id = isReadAccess
---
> int id = isReadAccess
4882c4949
< MethodBinding method,
---
> MethodBinding method,
4891c4958
< IProblem.NeedToEmulateConstructorAccess,
---
> IProblem.NeedToEmulateConstructorAccess,
4893c4960
< new String(method.declaringClass.readableName()),
---
> new String(method.declaringClass.readableName()),
4895c4962
< },
---
> },
4897c4964
< new String(method.declaringClass.shortReadableName()),
---
> new String(method.declaringClass.shortReadableName()),
4899c4966
< },
---
> },
4901,4902c4968,4969
< location.sourceStart,
< location.sourceEnd);
---
> location.sourceStart,
> location.sourceEnd);
4908c4975
< IProblem.NeedToEmulateMethodAccess,
---
> IProblem.NeedToEmulateMethodAccess,
4910,4911c4977,4978
< new String(method.declaringClass.readableName()),
< new String(method.selector),
---
> new String(method.declaringClass.readableName()),
> new String(method.selector),
4913c4980
< },
---
> },
4915,4916c4982,4983
< new String(method.declaringClass.shortReadableName()),
< new String(method.selector),
---
> new String(method.declaringClass.shortReadableName()),
> new String(method.selector),
4918c4985
< },
---
> },
4920,4921c4987,4988
< location.sourceStart,
< location.sourceEnd);
---
> location.sourceStart,
> location.sourceEnd);
5126c5193
< } else if (location instanceof AllocationExpression
---
> } else if (location instanceof AllocationExpression
5128c5195
< || (((AllocationExpression) location).binding.declaringClass.isAnonymousType()
---
> || (((AllocationExpression) location).binding.declaringClass.isAnonymousType()
5139c5206
< new String[] { new String(targetType.readableName())},
---
> new String[] { new String(targetType.readableName())},
5358,5359c5425,5426
< int startPosition,
< int endPosition,
---
> int startPosition,
> int endPosition,
5361,5362c5428,5429
< char[] currentTokenSource,
< String errorTokenName,
---
> char[] currentTokenSource,
> String errorTokenName,
5364c5431
<
---
>
5410c5477
< //extract the literal when it's a literal
---
> //extract the literal when it's a literal
5433,5434c5500,5501
< start,
< end,
---
> start,
> end,
5436c5503
< errorTokenSource,
---
> errorTokenSource,
5438c5505
< null);
---
> null);
5460,5461c5527,5528
< start,
< end,
---
> start,
> end,
5463,5465c5530,5532
< errorTokenSource,
< errorTokenName,
< expectedToken);
---
> errorTokenSource,
> errorTokenName,
> expectedToken);
5476,5477c5543,5544
< start,
< end,
---
> start,
> end,
5479,5481c5546,5548
< errorTokenSource,
< errorTokenName,
< expectedToken);
---
> errorTokenSource,
> errorTokenName,
> expectedToken);
5530,5531c5597,5598
< start,
< end,
---
> start,
> end,
5533,5535c5600,5602
< errorTokenSource,
< errorTokenName,
< expectedToken);
---
> errorTokenSource,
> errorTokenName,
> expectedToken);
5567,5568c5634,5635
< start,
< end,
---
> start,
> end,
5570c5637
< errorTokenSource,
---
> errorTokenSource,
5572c5639
< null);
---
> null);
5593,5594c5660,5661
< start,
< end,
---
> start,
> end,
5596,5598c5663,5665
< errorTokenSource,
< errorTokenName,
< expectedToken);
---
> errorTokenSource,
> errorTokenName,
> expectedToken);
5615c5682
<
---
>
5618c5685
< arguments = new String[] {Messages.parser_endOfConstructor};
---
> arguments = new String[] {Messages.parser_endOfConstructor};
5620c5687
< arguments = new String[] {Messages.parser_endOfMethod};
---
> arguments = new String[] {Messages.parser_endOfMethod};
5622c5689
< arguments = new String[] {Messages.parser_endOfInitializer};
---
> arguments = new String[] {Messages.parser_endOfInitializer};
5624c5691
< arguments = new String[] {Messages.parser_endOfFile};
---
> arguments = new String[] {Messages.parser_endOfFile};
5692c5759
< new String(constructorCall.binding.declaringClass.readableName()),
---
> new String(constructorCall.binding.declaringClass.readableName()),
5696c5763
< new String(constructorCall.binding.declaringClass.shortReadableName()),
---
> new String(constructorCall.binding.declaringClass.shortReadableName()),
5908c5975
< String[] arguments = flag == IProblem.ParsingErrorNoSuggestion
---
> String[] arguments = flag == IProblem.ParsingErrorNoSuggestion
5912c5979
< flag,
---
> flag,
5916c5983
< startPos,
---
> startPos,
5964c6031
< nodeSourceEnd(field, location));
---
> nodeSourceEnd(field, location));
6026c6093
< sourceEnd);
---
> sourceEnd);
6058,6059c6125,6126
< int startPosition,
< int endPosition,
---
> int startPosition,
> int endPosition,
6061,6062c6128,6129
< char[] currentTokenSource,
< String errorTokenName,
---
> char[] currentTokenSource,
> String errorTokenName,
6091c6158
< new String[] { tag, message, priority/*secret argument that is not surfaced in getMessage()*/},
---
> new String[] { tag, message, priority/*secret argument that is not surfaced in getMessage()*/},
6176,6177c6243,6244
< new String[] {
< new String(typeDecl.name),
---
> new String[] {
> new String(typeDecl.name),
6181c6248
< new String(declaringMethod.declaringClass.readableName()),
---
> new String(declaringMethod.declaringClass.readableName()),
6183c6250
< new String[] {
---
> new String[] {
6188c6255
< new String(declaringMethod.declaringClass.shortReadableName()),
---
> new String(declaringMethod.declaringClass.shortReadableName()),
6200c6267
< new String[] { new String(typeDecl.name) , new String(hiddenType.shortReadableName()) },
---
> new String[] { new String(typeDecl.name) , new String(hiddenType.shortReadableName()) },
6281c6348
< new String[] {new String(variableName), new String(binaryType.readableName()) },
---
> new String[] {new String(variableName), new String(binaryType.readableName()) },
6315c6382
< boolean insideDefaultConstructor =
---
> boolean insideDefaultConstructor =
6325c6392
< : (insideImplicitConstructorCall
---
> : (insideImplicitConstructorCall
6371c6438
< IProblem.UnmatchedBracket,
---
> IProblem.UnmatchedBracket,
6374c6441
< position,
---
> position,
6435c6502
< new String[] {
---
> new String[] {
6437,6438c6504,6505
< typesAsString(method.isVarargs(), method.parameters, false),
< new String(method.declaringClass.readableName()),
---
> typesAsString(method.isVarargs(), method.parameters, false),
> new String(method.declaringClass.readableName()),
6440c6507
< new String[] {
---
> new String[] {
6442,6443c6509,6510
< typesAsString(method.isVarargs(), method.parameters, true),
< new String(method.declaringClass.shortReadableName()),
---
> typesAsString(method.isVarargs(), method.parameters, true),
> new String(method.declaringClass.shortReadableName()),
6446c6513
< typeArguments[typeArguments.length-1].sourceEnd);
---
> typeArguments[typeArguments.length-1].sourceEnd);
6476c6543
< },
---
> },
6479c6546
< },
---
> },
6534,6535c6601,6602
< new String[]{
< new String(castedExpressionType.readableName()),
---
> new String[]{
> new String(castedExpressionType.readableName()),
6538,6539c6605,6606
< new String[]{
< new String(castedExpressionType.shortReadableName()),
---
> new String[]{
> new String(castedExpressionType.shortReadableName()),
6562c6629
< new String[] {
---
> new String[] {
6564c6631
< new String[] {
---
> new String[] {
6568c6635
< nodeSourceEnd(field, location));
---
> nodeSourceEnd(field, location));
6582c6649
< },
---
> },
6591c6658
< location.sourceEnd);
---
> location.sourceEnd);
6600c6667
< },
---
> },
6609c6676
< location.sourceEnd);
---
> location.sourceEnd);
6623c6690
< },
---
> },
6628c6695
< },
---
> },
6631c6698
< location.sourceEnd);
---
> location.sourceEnd);
6640c6707
< },
---
> },
6649c6716
< location.sourceEnd);
---
> location.sourceEnd);
6672c6739
< },
---
> },
6681c6748
< },
---
> },
6695c6762
< expression.sourceEnd);
---
> expression.sourceEnd);
6720c6787
< },
---
> },
6725c6792
< },
---
> },
6737c6804
< },
---
> },
6743c6810
< },
---
> },
6759c6826
< importRef.sourceEnd);
---
> importRef.sourceEnd);
6786c6853
<
---
>
6789c6856
<
---
>
6796c6863
< },
---
> },
6800c6867
< },
---
> },
6806c6873
<
---
>
6811c6878
<
---
>
6830c6897
< },
---
> },
6834c6901
< },
---
> },
6843c6910
<
---
>
6845c6912
<
---
>
6884c6951
< },
---
> },
6889c6956
< },
---
> },
6903c6970
< },
---
> },
6906c6973
< },
---
> },
6917c6984
< sourceEnd);
---
> sourceEnd);
6925c6992
< sourceEnd);
---
> sourceEnd);
6935,6939c7002,7006
< new String(argumentType.readableName()),
< new String(varargsType.readableName()),
< new String(method.declaringClass.readableName()),
< typesAsString(method.isVarargs(), method.parameters, false),
< new String(varargsType.elementsType().readableName()),
---
> new String(argumentType.readableName()),
> new String(varargsType.readableName()),
> new String(method.declaringClass.readableName()),
> typesAsString(method.isVarargs(), method.parameters, false),
> new String(varargsType.elementsType().readableName()),
6942,6946c7009,7013
< new String(argumentType.shortReadableName()),
< new String(varargsType.shortReadableName()),
< new String(method.declaringClass.shortReadableName()),
< typesAsString(method.isVarargs(), method.parameters, true),
< new String(varargsType.elementsType().shortReadableName()),
---
> new String(argumentType.shortReadableName()),
> new String(varargsType.shortReadableName()),
> new String(method.declaringClass.shortReadableName()),
> typesAsString(method.isVarargs(), method.parameters, true),
> new String(varargsType.elementsType().shortReadableName()),
6954,6960c7021,7027
< new String[] {
< new String(argumentType.readableName()),
< new String(varargsType.readableName()),
< new String(method.selector),
< typesAsString(method.isVarargs(), method.parameters, false),
< new String(method.declaringClass.readableName()),
< new String(varargsType.elementsType().readableName()),
---
> new String[] {
> new String(argumentType.readableName()),
> new String(varargsType.readableName()),
> new String(method.selector),
> typesAsString(method.isVarargs(), method.parameters, false),
> new String(method.declaringClass.readableName()),
> new String(varargsType.elementsType().readableName()),
6962,6967c7029,7034
< new String[] {
< new String(argumentType.shortReadableName()),
< new String(varargsType.shortReadableName()),
< new String(method.selector), typesAsString(method.isVarargs(), method.parameters, true),
< new String(method.declaringClass.shortReadableName()),
< new String(varargsType.elementsType().shortReadableName()),
---
> new String[] {
> new String(argumentType.shortReadableName()),
> new String(varargsType.shortReadableName()),
> new String(method.selector), typesAsString(method.isVarargs(), method.parameters, true),
> new String(method.declaringClass.shortReadableName()),
> new String(varargsType.elementsType().shortReadableName()),
6977c7044
< new String[] {
---
> new String[] {
6984c7051
< new String[] {
---
> new String[] {
7025c7092
< new String[] {
---
> new String[] {
7027c7094
< new String[] {
---
> new String[] {
7030c7097
< location.sourceEnd);
---
> location.sourceEnd);
7043c7110
<
---
>
7054c7121
< },
---
> },
7062c7129
< },
---
> },
7064c7131
< location.sourceEnd);
---
> location.sourceEnd);
7075c7142
< },
---
> },
7083c7150
< },
---
> },
7085c7152
< location.sourceEnd);
---
> location.sourceEnd);
7098c7165
< },
---
> },
7102c7169
< },
---
> },
Index: compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties
===================================================================
RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/messages.properties,v
retrieving revision 1.229
diff -r1.229 messages.properties
69c69
< 79 = Unqualified access to the field {0}.{1}
---
> 79 = Unqualified access to the field {0}.{1}
101c101
< 119 = The static method {1}({2}) from the type {0} should be accessed directly
---
> 119 = The static method {1}({2}) from the type {0} should be accessed directly
126c126
< 154 = The literal {1} of type {0} is out of range
---
> 154 = The literal {1} of type {0} is out of range
167c167
< 196 = The field {0} is defined in an inherited type and an enclosing scope
---
> 196 = The field {0} is defined in an inherited type and an enclosing scope
330c330
<
---
>
350c350
< 421 = Code snippet support cannot find the method {0}.{1}({2})
---
> 421 = Code snippet support cannot find the method {0}.{1}({2})
424c424
< 509 = The field {0} is defined in an inherited type and an enclosing scope
---
> 509 = The field {0} is defined in an inherited type and an enclosing scope
429c429
< 514 = Javadoc:
---
> 514 = Javadoc:
540c540
< 625 = The value for annotation attribute {0}.{1} must be some @{2} annotation
---
> 625 = The value for annotation attribute {0}.{1} must be some @{2} annotation
599a600,606
> ### @NonNull annotation
> 903 = Cannot assign null or potentially null expression to {0} because of @NonNull annotation
> 904 = Cannot pass null or potentially null expression as argument for method {0} because of @NonNull annotation
> 905 = Cannot return null or potentially null expression because of @NonNull annotation
> 906 = Method {1} isn't NonNull annotated while overridden method in {0} is
> 907 = Argument {2} in method {1} isn't NonNull annotated while overridden method in type {0} is
>