<s> package org . eclipse . jdt . internal . compiler ; import java . util . HashMap ; import org . eclipse . jdt . core . compiler . CategorizedProblem ; import org . eclipse . jdt . internal . compiler . ast . AbstractMethodDeclaration ; import org . eclipse . jdt . internal . compiler . ast . Annotation ; import org . eclipse . jdt . internal . compiler . ast . Expression ; import org . eclipse . jdt . internal . compiler . ast . FieldDeclaration ; import org . eclipse . jdt . internal . compiler . ast . ImportReference ; import org . eclipse . jdt . internal . compiler . ast . TypeDeclaration ; public interface ISourceElementRequestor { public static class TypeInfo { public int declarationStart ; public int modifiers ; public char [ ] name ; public int nameSourceStart ; public int nameSourceEnd ; public char [ ] superclass ; public char [ ] [ ] superinterfaces ; public TypeParameterInfo [ ] typeParameters ; public char [ ] [ ] categories ; public boolean secondary ; public boolean anonymousMember ; public Annotation [ ] annotations ; public int extraFlags ; public TypeDeclaration node ; public HashMap childrenCategories = new HashMap ( ) ; } public static class TypeParameterInfo { public int declarationStart ; public int declarationEnd ; public char [ ] name ; public int nameSourceStart ; public int nameSourceEnd ; public char [ ] [ ] bounds ; } public static class MethodInfo { public boolean isConstructor ; public boolean isAnnotation ; public int declarationStart ; public int modifiers ; public char [ ] returnType ; public char [ ] name ; public int nameSourceStart ; public int nameSourceEnd ; public char [ ] [ ] parameterTypes ; public char [ ] [ ] parameterNames ; public char [ ] [ ] exceptionTypes ; public TypeParameterInfo [ ] typeParameters ; public char [ ] [ ] categories ; public Annotation [ ] annotations ; public char [ ] declaringPackageName ; public int declaringTypeModifiers ; public int extraFlags ; public AbstractMethodDeclaration node ; } public static class FieldInfo { public int declarationStart ; public int modifiers ; public char [ ] type ; public char [ ] name ; public int nameSourceStart ; public int nameSourceEnd ; public char [ ] [ ] categories ; public Annotation [ ] annotations ; public FieldDeclaration node ; } void acceptAnnotationTypeReference ( char [ ] [ ] annotation , int sourceStart , int sourceEnd ) ; void acceptAnnotationTypeReference ( char [ ] annotation , int sourcePosition ) ; void acceptConstructorReference ( char [ ] typeName , int argCount , int sourcePosition ) ; void acceptFieldReference ( char [ ] fieldName , int sourcePosition ) ; void acceptImport ( int declarationStart , int declarationEnd , char [ ] [ ] tokens , boolean onDemand , int modifiers ) ; void acceptLineSeparatorPositions ( int [ ] positions ) ; void acceptMethodReference ( char [ ] methodName , int argCount , int sourcePosition ) ; void acceptPackage ( ImportReference importReference ) ; void acceptProblem ( CategorizedProblem problem ) ; void acceptTypeReference ( char [ ] [ ] typeName , int sourceStart , int sourceEnd ) ; void acceptTypeReference ( char [ ] typeName , int sourcePosition ) ; void acceptUnknownReference ( char [ ] [ ] name , int sourceStart , int sourceEnd ) ; void acceptUnknownReference ( char [ ] name , int sourcePosition ) ; void enterCompilationUnit ( ) ; void enterConstructor ( MethodInfo methodInfo ) ; void enterField ( FieldInfo fieldInfo ) ; void enterInitializer ( int declarationStart , int modifiers ) ; void enterMethod ( MethodInfo methodInfo ) ; void enterType ( TypeInfo typeInfo ) ; void exitCompilationUnit ( int declarationEnd ) ; void exitConstructor ( int declarationEnd ) ; void exitField ( int initializationStart , int declarationEnd , int declarationSourceEnd ) ; void exitInitializer ( int declarationEnd ) ; void exitMethod ( int declarationEnd , Expression defaultValue ) ; void exitType ( int declarationEnd ) ; } </s>