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 public interface ISourceType extends IGenericType {
 
  15  * Answer the source end position of the type's declaration.
 
  18 int getDeclarationSourceEnd();
 
  20  * Answer the source start position of the type's declaration.
 
  23 int getDeclarationSourceStart();
 
  25  * Answer the enclosing type
 
  26  * or null if the receiver is a top level type.
 
  29 ISourceType getEnclosingType();
 
  31  * Answer the receiver's fields or null if the array is empty.
 
  33  * NOTE: Multiple fields with the same name can exist in the result.
 
  36 ISourceField[] getFields();
 
  38  * Answer the unresolved names of the receiver's imports
 
  39  * or null if the array is empty.
 
  41  * An import is a qualified, dot separated name.
 
  42  * For example, java.util.Hashtable or java.lang.*.
 
  45 char[][] getImports();
 
  47  * Answer the unresolved names of the receiver's interfaces
 
  48  * or null if the array is empty.
 
  50  * A name is a simple name or a qualified, dot separated name.
 
  51  * For example, Hashtable or java.util.Hashtable.
 
  54 char[][] getInterfaceNames();
 
  56  * Answer the receiver's member types
 
  57  * or null if the array is empty.
 
  60 ISourceType[] getMemberTypes();
 
  62  * Answer the receiver's methods or null if the array is empty.
 
  64  * NOTE: Multiple methods with the same name & parameter types can exist in the result.
 
  67 ISourceMethod[] getMethods();
 
  69  * Answer the simple source name of the receiver.
 
  74  * Answer the source end position of the type's name.
 
  77 int getNameSourceEnd();
 
  79  * Answer the source start position of the type's name.
 
  82 int getNameSourceStart();
 
  84  * Answer the qualified name of the receiver's package separated by periods
 
  85  * or null if its the default package.
 
  87  * For example, {java.util.Hashtable}.
 
  90 char[] getPackageName();
 
  92  * Answer the qualified name of the receiver.
 
  94  * The name is a qualified, dot separated name.
 
  95  * For example, java.util.Hashtable.
 
  98 char[] getQualifiedName();
 
 100  * Answer the unresolved name of the receiver's superclass
 
 101  * or null if it does not have one.
 
 103  * The name is a simple name or a qualified, dot separated name.
 
 104  * For example, Hashtable or java.util.Hashtable.
 
 107 char[] getSuperclassName();