| /******************************************************************************* |
| * Copyright (c) 2010 xored software, Inc. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * xored software, Inc. - initial API and Implementation (Alex Panchenko) |
| *******************************************************************************/ |
| package org.eclipse.dltk.compiler.env; |
| |
| import org.eclipse.dltk.core.IModelElement; |
| |
| /** |
| * This interface denotes a source of a module, providing its name and content. |
| * |
| * It was renamed from org.eclipse.dltk.compiler.env.ISourceModule to make names |
| * unique. |
| * |
| * If the object also implements {@link org.eclipse.dltk.core.ISourceModule}, |
| * then it could be treated as a source file of the project, otherwise it's just |
| * a source code, without any physical location. |
| * |
| * @since 2.0 |
| */ |
| public interface IModuleSource extends IDependent { |
| |
| /** |
| * Answer the contents of the source module as string. Should return empty |
| * string on error. |
| */ |
| String getSourceContents(); |
| |
| /** |
| * Answer the contents of the source module as char[]. Should return empty |
| * array on error. |
| */ |
| char[] getContentsAsCharArray(); |
| |
| /** |
| * Returns the {@link IModelElement} this source module is related to or |
| * <code>null</code> if source is not associated with any model element. |
| * |
| * It doesn't mean this source code is exactly the same as the code of this |
| * model element, etc |
| */ |
| IModelElement getModelElement(); |
| |
| } |