private void endVisitRemoved(int start, int end) { int i = indexOfFisrtNameAfter(start); done : while (i != -1) { int nameStart = this.potentialVariableNameStarts[i]; if (start < nameStart && nameStart < end) { removeNameAt(i); } if (end < nameStart) break done; i = indexOfNextName(i); } }
@Override public void endVisit(TypeDeclaration typeDeclaration, BlockScope blockScope) { endVisitRemoved(typeDeclaration.sourceStart, typeDeclaration.declarationSourceEnd); popParent(); }
@Override public boolean visit(ArrayTypeReference arrayTypeReference, ClassScope scope) { this.cleanUp(arrayTypeReference); return true; }
@Override public boolean visit(Block block, BlockScope blockScope) { ASTNode enclosingDeclaration = getEnclosingDeclaration(); removeLocals(block.statements, enclosingDeclaration.sourceStart, block.sourceEnd); pushParent(block); return true; }
@Override public boolean visit(TypeDeclaration memberTypeDeclaration, ClassScope classScope) { removeFields(memberTypeDeclaration); pushParent(memberTypeDeclaration); return true; }
private void addForbiddenBindingsForMemberTypes(TypeDeclaration typeDeclaration) { TypeDeclaration[] memberTypes = typeDeclaration.memberTypes; int memberTypesLen = memberTypes == null ? 0 : memberTypes.length; for (int i = 0; i < memberTypesLen; i++) { addForbiddenBindings(memberTypes[i].binding); addForbiddenBindingsForMemberTypes(memberTypes[i]); } }
public ObjectVector getVisibleLocalVariables() { if (!this.hasComputedVisibleElementBindings) { computeVisibleElementBindings(); } return this.visibleLocalVariables; }
@Override public boolean visit(Initializer initializer, MethodScope methodScope) { pushParent(initializer); return true; }
private void removeNameAt(int index) { this.potentialVariableNames[index] = null; int nextIndex = indexOfNextName(index); if (nextIndex != -1) { this.potentialVariableNameStarts[index] = -nextIndex; } else { this.potentialVariableNamesPtr = index - 1; } }
private void findExceptionFromTryStatement( char[] typeName, ReferenceBinding receiverType, SourceTypeBinding invocationType, BlockScope scope, ObjectVector typesFound) { for (int i = 0; i <= this.expectedTypesPtr; i++) { ReferenceBinding exceptionType = (ReferenceBinding)this.expectedTypes[i]; findExceptionFromTryStatement(typeName, exceptionType, receiverType, invocationType, scope, typesFound, true); } } private void findExplicitConstructors(
@Override public void acceptNameWithSuffix(char[] name, boolean isFirstSuffix, int reusedCharacters) { accept(name, isFirstSuffix ? R_NAME_FIRST_SUFFIX : R_NAME_SUFFIX, reusedCharacters); } };
@Override public void acceptMethod(char[] declaringTypePackageName, char[] declaringTypeName, String enclosingDeclaringTypeSignature, char[] selector, char[][] parameterPackageNames, char[][] parameterTypeNames, String[] parameterSignatures, char[][] typeParameterNames, char[][][] typeParameterBoundNames, boolean isConstructor, boolean isDeclaration, char[] uniqueKey, int start, int end) { originalRequestor.acceptMethod(declaringTypePackageName, declaringTypeName, enclosingDeclaringTypeSignature, selector, parameterPackageNames, parameterTypeNames, parameterSignatures, typeParameterNames, typeParameterBoundNames, isConstructor, isDeclaration, uniqueKey, start, end); } @Override
@Override public void acceptTypeParameter(char[] declaringTypePackageName, char[] declaringTypeName, char[] typeParameterName, boolean isDeclaration, int start, int end) { originalRequestor.acceptTypeParameter(declaringTypePackageName, declaringTypeName, typeParameterName, isDeclaration, start, end); } @Override
@Override public boolean visit(ParameterizedSingleTypeReference parameterizedSingleTypeReference, ClassScope scope) { this.cleanUp(parameterizedSingleTypeReference); return true; }
public ObjectVector getVisibleMethods() { if (!this.hasComputedVisibleElementBindings) { computeVisibleElementBindings(); } return this.visibleMethods; } }
@Override public boolean visit(ArrayQualifiedTypeReference arrayQualifiedTypeReference, ClassScope scope) { this.cleanUp(arrayQualifiedTypeReference); return true; }
@Override public boolean visit(SingleTypeReference singleTypeReference, ClassScope scope) { this.cleanUp(singleTypeReference); return true; }
@Override public boolean visit(Wildcard wildcard, BlockScope scope) { this.cleanUp(wildcard); return true; }
@Override public boolean visit(QualifiedTypeReference qualifiedTypeReference, ClassScope scope) { this.cleanUp(qualifiedTypeReference); return true; }
@Override public boolean visit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope) { this.cleanUp(parameterizedQualifiedTypeReference); return true; }