01: /*******************************************************************************
02: * Copyright (c) 2000, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdt.internal.compiler.env;
11:
12: public interface ISourceType extends IGenericType {
13:
14: /**
15: * Answer the source end position of the type's declaration.
16: */
17: int getDeclarationSourceEnd();
18:
19: /**
20: * Answer the source start position of the type's declaration.
21: */
22: int getDeclarationSourceStart();
23:
24: /**
25: * Answer the enclosing type
26: * or null if the receiver is a top level type.
27: */
28: ISourceType getEnclosingType();
29:
30: /**
31: * Answer the receiver's fields.
32: *
33: * NOTE: Multiple fields with the same name can exist in the result.
34: */
35: ISourceField[] getFields();
36:
37: /**
38: * Answer the unresolved names of the receiver's interfaces
39: * or null if the array is empty.
40: *
41: * A name is a simple name or a qualified, dot separated name.
42: * For example, Hashtable or java.util.Hashtable.
43: */
44: char[][] getInterfaceNames();
45:
46: /**
47: * Answer the receiver's member types.
48: */
49: ISourceType[] getMemberTypes();
50:
51: /**
52: * Answer the receiver's methods.
53: *
54: * NOTE: Multiple methods with the same name & parameter types can exist in the result.
55: */
56: ISourceMethod[] getMethods();
57:
58: /**
59: * Answer the simple source name of the receiver.
60: */
61: char[] getName();
62:
63: /**
64: * Answer the source end position of the type's name.
65: */
66: int getNameSourceEnd();
67:
68: /**
69: * Answer the source start position of the type's name.
70: */
71: int getNameSourceStart();
72:
73: /**
74: * Answer the unresolved name of the receiver's superclass
75: * or null if it does not have one.
76: *
77: * The name is a simple name or a qualified, dot separated name.
78: * For example, Hashtable or java.util.Hashtable.
79: */
80: char[] getSuperclassName();
81:
82: /**
83: * Answer the array of bound names of the receiver's type parameters.
84: */
85: char[][][] getTypeParameterBounds();
86:
87: /**
88: * Answer the names of the receiver's type parameters.
89: */
90: char[][] getTypeParameterNames();
91: }
|