if(this.typePtr > -1) {
length = this.typePtr + 1;
foundTypes = new TypeDeclaration[length];
System.arraycopy(this.types, 0, foundTypes, 0, length);
}
ReferenceContext oldContext = parser.referenceContext;
parser.recoveryScanner.resetTo(methodDeclaration.bodyStart, methodDeclaration.bodyEnd);
Scanner oldScanner = parser.scanner;
parser.scanner = parser.recoveryScanner;
parser.parseStatements(
methodDeclaration,
methodDeclaration.bodyStart,
methodDeclaration.bodyEnd,
foundTypes,
compilationUnit);
parser.scanner = oldScanner;
parser.referenceContext = oldContext;
for (int i = 0; i < length; i++) {
foundTypes[i].traverse(typeVisitor, scope);
}
}
public void endVisit(Initializer initializer, MethodScope scope) {
TypeDeclaration[] foundTypes = null;
int length = 0;
if(this.typePtr > -1) {
length = this.typePtr + 1;
foundTypes = new TypeDeclaration[length];
System.arraycopy(this.types, 0, foundTypes, 0, length);
}
ReferenceContext oldContext = parser.referenceContext;
parser.recoveryScanner.resetTo(initializer.bodyStart, initializer.bodyEnd);
Scanner oldScanner = parser.scanner;
parser.scanner = parser.recoveryScanner;
parser.parseStatements(
this.enclosingType,