/******************************************************************************* * Copyright (c) 2000, 2003 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package net.sourceforge.phpdt.internal.compiler.env; import org.eclipse.core.resources.IResource; /** * This interface denotes a compilation unit, providing its name and content. */ public interface ICompilationUnit extends IDependent { /** * Answer the contents of the compilation unit. * * In normal use, the contents are requested twice. Once during the initial * lite parsing step, then again for the more detailed parsing step. */ char[] getContents(); /** * Answer the name of the top level public type. For example, {Hashtable}. */ char[] getMainTypeName(); /** * Answer the name of the package according to the directory structure or * null if package consistency checks should be ignored. For example, {java, * lang}. */ char[][] getPackageName(); IResource getResource(); }