protected int matchLocalVariable(LocalVariableBinding variable, boolean matchName) { if (variable == null) return INACCURATE_MATCH; if (matchName && !matchesName(this.pattern.name, variable.readableName())) return IMPOSSIBLE_MATCH; return variable.declaration.declarationSourceStart == getLocalVariable().declarationSourceStart ? ACCURATE_MATCH : IMPOSSIBLE_MATCH; } protected int referenceType() {
public void cannotReferToNonEffectivelyFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName()) }; this.handle( IProblem.OuterLocalMustBeEffectivelyFinal, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotReturnInInitializer(ASTNode location) {
public void cannotReferToNonFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments =new String[]{ new String(local.readableName())}; this.handle( IProblem.OuterLocalMustBeFinal, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotReferToNonEffectivelyFinalOuterLocal(LocalVariableBinding local, ASTNode location) {
public void cannotAssignToFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] {new String(local.readableName())}; this.handle( IProblem.FinalOuterLocalAssignment, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotDefineDimensionsAndInitializer(ArrayAllocationExpression expresssion) {
public void cannotReferToNonEffectivelyFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName()) }; this.handle( IProblem.OuterLocalMustBeEffectivelyFinal, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotReturnInInitializer(ASTNode location) {
public void cannotReferToNonFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments =new String[]{ new String(local.readableName())}; this.handle( IProblem.OuterLocalMustBeFinal, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotReferToNonEffectivelyFinalOuterLocal(LocalVariableBinding local, ASTNode location) {
public void duplicateInitializationOfFinalLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName())}; this.handle( IProblem.DuplicateFinalLocalInitialization, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void duplicateMethodInType(AbstractMethodDeclaration methodDecl, boolean equalParameters, int severity) {
public void cannotReferToNonFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments =new String[]{ new String(local.readableName())}; this.handle( IProblem.OuterLocalMustBeFinal, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotReferToNonEffectivelyFinalOuterLocal(LocalVariableBinding local, ASTNode location) {
public void duplicateInitializationOfFinalLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName())}; this.handle( IProblem.DuplicateFinalLocalInitialization, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void duplicateMethodInType(AbstractMethodDeclaration methodDecl, boolean equalParameters, int severity) {
public void duplicateInitializationOfFinalLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName())}; this.handle( IProblem.DuplicateFinalLocalInitialization, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void duplicateMethodInType(SourceTypeBinding type, AbstractMethodDeclaration methodDecl, boolean equalParameters, int severity) {
public void cannotReferToNonEffectivelyFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName()) }; this.handle( IProblem.OuterLocalMustBeEffectivelyFinal, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotReturnInInitializer(ASTNode location) {
public void cannotAssignToFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] {new String(local.readableName())}; this.handle( IProblem.FinalOuterLocalAssignment, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotDefineDimensionsAndInitializer(ArrayAllocationExpression expresssion) {
public void cannotReferToNonFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments =new String[]{ new String(local.readableName())}; this.handle( IProblem.OuterLocalMustBeFinal, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotReferToNonEffectivelyFinalOuterLocal(LocalVariableBinding local, ASTNode location) {
public void duplicateInitializationOfFinalLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName())}; this.handle( IProblem.DuplicateFinalLocalInitialization, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void duplicateMethodInType(SourceTypeBinding type, AbstractMethodDeclaration methodDecl, boolean equalParameters) {
public void cannotAssignToFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] {new String(local.readableName())}; this.handle( IProblem.FinalOuterLocalAssignment, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotDefineDimensionsAndInitializer(ArrayAllocationExpression expresssion) {
public void cannotAssignToFinalOuterLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] {new String(local.readableName())}; this.handle( IProblem.FinalOuterLocalAssignment, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void cannotDefineDimensionsAndInitializer(ArrayAllocationExpression expresssion) {
public void duplicateInitializationOfFinalLocal(LocalVariableBinding local, ASTNode location) { String[] arguments = new String[] { new String(local.readableName())}; this.handle( IProblem.DuplicateFinalLocalInitialization, arguments, arguments, nodeSourceStart(local, location), nodeSourceEnd(local, location)); } public void duplicateMethodInType(SourceTypeBinding type, AbstractMethodDeclaration methodDecl, boolean equalParameters) {
public void uninitializedLocalVariable(LocalVariableBinding binding, ASTNode location) { binding.tagBits |= TagBits.NotInitialized; String[] arguments = new String[] {new String(binding.readableName())}; this.handle( methodHasMissingSwitchDefault() ? IProblem.UninitializedLocalVariableHintMissingDefault : IProblem.UninitializedLocalVariable, arguments, arguments, nodeSourceStart(binding, location), nodeSourceEnd(binding, location)); } private boolean methodHasMissingSwitchDefault() {
public void uninitializedLocalVariable(LocalVariableBinding binding, ASTNode location) { binding.tagBits |= TagBits.NotInitialized; String[] arguments = new String[] {new String(binding.readableName())}; this.handle( methodHasMissingSwitchDefault() ? IProblem.UninitializedLocalVariableHintMissingDefault : IProblem.UninitializedLocalVariable, arguments, arguments, nodeSourceStart(binding, location), nodeSourceEnd(binding, location)); } private boolean methodHasMissingSwitchDefault() {
public void uninitializedLocalVariable(LocalVariableBinding binding, ASTNode location, Scope scope) { binding.markAsUninitializedIn(scope); String[] arguments = new String[] {new String(binding.readableName())}; this.handle( methodHasMissingSwitchDefault() ? IProblem.UninitializedLocalVariableHintMissingDefault : IProblem.UninitializedLocalVariable, arguments, arguments, nodeSourceStart(binding, location), nodeSourceEnd(binding, location)); } private boolean methodHasMissingSwitchDefault() {