Index: dart/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/analysis/model/ProjectManager.java |
=================================================================== |
--- dart/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/analysis/model/ProjectManager.java (revision 31563) |
+++ dart/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/analysis/model/ProjectManager.java (working copy) |
@@ -1,11 +1,11 @@ |
/* |
* Copyright 2013 Dart project authors. |
- * |
+ * |
* Licensed under the Eclipse Public License v1.0 (the "License"); you may not use this file except |
* in compliance with the License. You may obtain a copy of the License at |
- * |
+ * |
* http://www.eclipse.org/legal/epl-v10.html |
- * |
+ * |
* Unless required by applicable law or agreed to in writing, software distributed under the License |
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express |
* or implied. See the License for the specific language governing permissions and limitations under |
@@ -27,21 +27,21 @@ |
/** |
* Instances of {@code ProjectManager} manage Eclipse projects that have the Dart nature. |
- * |
+ * |
* @coverage dart.tools.core.model |
*/ |
public interface ProjectManager extends ContextManager { |
/** |
* Notify the specified object when a project has been analyzed. |
- * |
+ * |
* @param listener the object to be notified (not {@code null}) |
*/ |
void addProjectListener(ProjectListener listener); |
/** |
* Answer with the html file which has a reference to the library represented by the given source |
- * |
+ * |
* @param source the source for a library |
* @return IResource that is the html file with a reference to the given library, or {@code null} |
*/ |
@@ -49,21 +49,21 @@ |
/** |
* Answer the global ignore manager used for all Dart source |
- * |
+ * |
* @return the ignore manager (not {@code null}) |
*/ |
DartIgnoreManager getIgnoreManager(); |
/** |
* Answer the global index used for all Dart source |
- * |
+ * |
* @return the index (not {@code null}) |
*/ |
Index getIndex(); |
/** |
* Answer with all the library sources that the given file is part of or is the library file |
- * |
+ * |
* @return the {@link Source}[] for all the libraries that the given file is part of or is the |
* library file |
*/ |
@@ -72,14 +72,14 @@ |
/** |
* Answer with all the library sources that are in the given project. These include all the sdk |
* and external libraries referenced by code in the project |
- * |
+ * |
* @return the {@link Source}[] for all the libraries that are in the given project. |
*/ |
Source[] getLibrarySources(IProject project); |
/** |
* Answer the project for the specified Eclipse resource |
- * |
+ * |
* @param resource the Eclipse resource |
* @return the project, may be {@code null} if resource doesn't exist |
*/ |
@@ -87,7 +87,7 @@ |
/** |
* Answer the Eclipse project associated with this analysis context. |
- * |
+ * |
* @param context the analysis context |
* @return the associated project, may be {@code null} if project doesn't exist |
*/ |
@@ -95,14 +95,14 @@ |
/** |
* Answer an array containing all of the projects currently defined in the workspace |
- * |
+ * |
* @return array of projects (not {@code null}, contains no {@code null}) |
*/ |
Project[] getProjects(); |
/** |
* Answer the underlying Eclipse workspace associated with this object |
- * |
+ * |
* @return the Eclipse workspace (not {@code null}) |
*/ |
@Override |
@@ -111,7 +111,7 @@ |
/** |
* Answer if the given source is known to be the defining compilation unit of a library that can |
* be run on a client |
- * |
+ * |
* @param librarySource the source |
* @return {@code true} if the given source is known to be a library that can be run on a client |
*/ |
@@ -120,7 +120,7 @@ |
/** |
* Answer if the given source is known to be the defining compilation unit of a library that can |
* be run on the server |
- * |
+ * |
* @param librarySource the source |
* @return {@code true} if the given source is known to be a library that can be run on the server |
*/ |
@@ -128,42 +128,51 @@ |
/** |
* Create and answer a new search engine backed by the global index |
- * |
+ * |
* @return a search engine (not {@code null}) |
*/ |
SearchEngine newSearchEngine(); |
/** |
* Called by the builder when a project has been analyzed. |
- * |
+ * |
* @param project the project that was analyzed (not {@code null}) |
*/ |
void projectAnalyzed(Project project); |
/** |
* Called by the {@link WorkspaceDeltaProcessor} when a project has been removed. |
- * |
+ * |
* @param projectResource the project that was removed |
*/ |
void projectRemoved(IProject projectResource); |
/** |
* Stop notifying the specified object when a project has been analyzed. |
- * |
+ * |
* @param listener the object that should not be notified (not {@code null}) |
*/ |
void removeProjectListener(ProjectListener listener); |
/** |
* Use the getResourceMap() method to locate a workspace resource for the given package uri. |
- * |
+ * |
* @param relativeTo the resource to use to locate an analysis context |
* @param uri a package: uri |
- * @return |
+ * @return a workspace resource or {@code null} |
*/ |
IFile resolvePackageUri(IResource relativeTo, String uri); |
/** |
+ * Resolve the given file path to a package uri path, if any |
+ * |
+ * @param resource the given resource |
+ * @param path the file path for the resource wrt to package structure |
+ * @return the package name or {@code null} if resource is not in a package |
+ */ |
+ String resolvePathToPackage(IResource resource, String path); |
+ |
+ /** |
* Start background analysis such as updating the index. |
*/ |
void start(); |