A massive organize imports and formatting of the sources using default Eclipse code...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / env / ISourceType.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2003 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials 
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package net.sourceforge.phpdt.internal.compiler.env;
12
13 public interface ISourceType extends IGenericType {
14         /**
15          * Answer the source end position of the type's declaration.
16          */
17
18         int getDeclarationSourceEnd();
19
20         /**
21          * Answer the source start position of the type's declaration.
22          */
23
24         int getDeclarationSourceStart();
25
26         /**
27          * Answer the enclosing type or null if the receiver is a top level type.
28          */
29
30         ISourceType getEnclosingType();
31
32         /**
33          * Answer the receiver's fields or null if the array is empty.
34          * 
35          * NOTE: Multiple fields with the same name can exist in the result.
36          */
37
38         ISourceField[] getFields();
39
40         // /**
41         // * Answer the unresolved names of the receiver's imports
42         // * or null if the array is empty.
43         // *
44         // * An import is a qualified, dot separated name.
45         // * For example, java.util.Hashtable or java.lang.*.
46         // */
47         //
48         // char[][] getImports();
49         /**
50          * Answer the receiver's imports or null if the array is empty.
51          * 
52          * An import is a qualified, dot separated name. For example,
53          * java.util.Hashtable or java.lang.*. A static import used 'static.' as its
54          * first fragment, for example: static.java.util.Hashtable.*
55          */
56         char[][] getImports();
57
58         /**
59          * Answer the unresolved names of the receiver's interfaces or null if the
60          * array is empty.
61          * 
62          * A name is a simple name or a qualified, dot separated name. For example,
63          * Hashtable or java.util.Hashtable.
64          */
65
66         char[][] getInterfaceNames();
67
68         /**
69          * Answer the receiver's member types or null if the array is empty.
70          */
71
72         ISourceType[] getMemberTypes();
73
74         /**
75          * Answer the receiver's methods or null if the array is empty.
76          * 
77          * NOTE: Multiple methods with the same name & parameter types can exist in
78          * the result.
79          */
80
81         ISourceMethod[] getMethods();
82
83         /**
84          * Answer the simple source name of the receiver.
85          */
86
87         char[] getName();
88
89         /**
90          * Answer the source end position of the type's name.
91          */
92
93         int getNameSourceEnd();
94
95         /**
96          * Answer the source start position of the type's name.
97          */
98
99         int getNameSourceStart();
100
101         /**
102          * Answer the qualified name of the receiver's package separated by periods
103          * or null if its the default package.
104          * 
105          * For example, {java.util.Hashtable}.
106          */
107
108         char[] getPackageName();
109
110         /**
111          * Answer the qualified name of the receiver.
112          * 
113          * The name is a qualified, dot separated name. For example,
114          * java.util.Hashtable.
115          */
116
117         char[] getQualifiedName();
118
119         /**
120          * Answer the unresolved name of the receiver's superclass or null if it
121          * does not have one.
122          * 
123          * The name is a simple name or a qualified, dot separated name. For
124          * example, Hashtable or java.util.Hashtable.
125          */
126
127         char[] getSuperclassName();
128 }