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
9 * IBM Corporation - initial API and implementation
10 *******************************************************************************/
11 package net.sourceforge.phpdt.internal.compiler.env;
13 import net.sourceforge.phpdt.internal.compiler.env.ISourceImport;
15 public interface ISourceType extends IGenericType {
17 * Answer the source end position of the type's declaration.
20 int getDeclarationSourceEnd();
22 * Answer the source start position of the type's declaration.
25 int getDeclarationSourceStart();
27 * Answer the enclosing type
28 * or null if the receiver is a top level type.
31 ISourceType getEnclosingType();
33 * Answer the receiver's fields or null if the array is empty.
35 * NOTE: Multiple fields with the same name can exist in the result.
38 ISourceField[] getFields();
40 // * Answer the unresolved names of the receiver's imports
41 // * or null if the array is empty.
43 // * An import is a qualified, dot separated name.
44 // * For example, java.util.Hashtable or java.lang.*.
47 //char[][] getImports();
49 * Answer the receiver's imports or null if the array is empty.
51 * An import is a qualified, dot separated name.
52 * For example, java.util.Hashtable or java.lang.*.
53 * A static import used 'static.' as its first fragment, for
54 * example: static.java.util.Hashtable.*
56 char[][] getImports();
59 * Answer the unresolved names of the receiver's interfaces
60 * or null if the array is empty.
62 * A name is a simple name or a qualified, dot separated name.
63 * For example, Hashtable or java.util.Hashtable.
66 char[][] getInterfaceNames();
68 * Answer the receiver's member types
69 * or null if the array is empty.
72 ISourceType[] getMemberTypes();
74 * Answer the receiver's methods or null if the array is empty.
76 * NOTE: Multiple methods with the same name & parameter types can exist in the result.
79 ISourceMethod[] getMethods();
81 * Answer the simple source name of the receiver.
86 * Answer the source end position of the type's name.
89 int getNameSourceEnd();
91 * Answer the source start position of the type's name.
94 int getNameSourceStart();
96 * Answer the qualified name of the receiver's package separated by periods
97 * or null if its the default package.
99 * For example, {java.util.Hashtable}.
102 char[] getPackageName();
104 * Answer the qualified name of the receiver.
106 * The name is a qualified, dot separated name.
107 * For example, java.util.Hashtable.
110 char[] getQualifiedName();
112 * Answer the unresolved name of the receiver's superclass
113 * or null if it does not have one.
115 * The name is a simple name or a qualified, dot separated name.
116 * For example, Hashtable or java.util.Hashtable.
119 char[] getSuperclassName();