public interface IJavaScriptProject extends IParent, IJavaScriptElement, IOpenable
Each JavaScript project has a includepath, defining which folders contain source code and where required libraries are located. A project that references packages in another project can access the packages by including the required project in a includepath entry. The JavaScript model will present the source elements in the required project. The includepath format is a sequence of includepath entries describing the location and contents of package fragment roots.
JavaScript project elements need to be opened before they can be navigated or manipulated. The children of a JavaScript project are the package fragment roots that are defined by the includepath and contained in this project (in other words, it does not include package fragment roots for other projects).
This interface is not intended to be implemented by clients. An instance
of one of these handles can be created via
JavaScriptCore.create(project)
.
JavaScriptCore#create(org.eclipse.core.resources.IProject)
,
Provisional API: This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.
CLASS_FILE, EXPORT_CONTAINER, EXPORT_DECLARATION, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVASCRIPT_MODEL, JAVASCRIPT_PROJECT, JAVASCRIPT_UNIT, LOCAL_VARIABLE, METHOD, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE
Modifier and Type | Method and Description |
---|---|
IIncludePathEntry |
decodeIncludepathEntry(java.lang.String encodedEntry)
Decodes the includepath entry that has been encoded in the given string
in the context of this project.
|
java.lang.String |
encodeIncludepathEntry(IIncludePathEntry includepathEntry)
Encodes the given includepath entry into a string in the context of this project.
|
IJavaScriptElement |
findElement(IPath path)
Returns the
IJavaScriptElement corresponding to the given
includepath-relative path, or null if no such
IJavaScriptElement is found. |
IJavaScriptElement |
findElement(IPath path,
WorkingCopyOwner owner)
Returns the
IJavaScriptElement corresponding to the given
includepath-relative path, or null if no such
IJavaScriptElement is found. |
IPackageFragment |
findPackageFragment(IPath path)
Returns the first existing package fragment on this project's includepath
whose path matches the given (absolute) path, or
null if none
exist. |
IPackageFragmentRoot |
findPackageFragmentRoot(IPath path)
Returns the existing package fragment root on this project's includepath
whose path matches the given (absolute) path, or
null if
one does not exist. |
IPackageFragmentRoot[] |
findPackageFragmentRoots(IIncludePathEntry entry)
Returns the existing package fragment roots identified by the given entry.
|
IType |
findType(java.lang.String fullyQualifiedName)
Returns the first type found following this project's includepath
with the given fully qualified name or
null if none is found. |
IType |
findType(java.lang.String fullyQualifiedName,
IProgressMonitor progressMonitor)
Same functionality as
findType(String) but also look for secondary
types if given name does not match a javaScript unit name. |
IType |
findType(java.lang.String packageName,
java.lang.String typeQualifiedName,
IProgressMonitor progressMonitor)
Same functionality as
#findType(String, String) but also look for
secondary types if given name does not match a javaScript unit name. |
IType |
findType(java.lang.String packageName,
java.lang.String typeQualifiedName,
WorkingCopyOwner owner,
IProgressMonitor progressMonitor)
Same functionality as
#findType(String, String, WorkingCopyOwner)
but also look for secondary types if given name does not match a javaScript unit name. |
IType |
findType(java.lang.String fullyQualifiedName,
WorkingCopyOwner owner,
IProgressMonitor progressMonitor)
Same functionality as
#findType(String, WorkingCopyOwner)
but also look for secondary types if given name does not match
a javaScript unit name. |
ITypeRoot |
findTypeRoot(java.lang.String fullyQualifiedName) |
IType[] |
findTypes(java.lang.String fullyQualifiedName)
Returns all the types found following this project's include path with
the given fully qualified name.
|
IType[] |
findTypes(java.lang.String fullyQualifiedName,
WorkingCopyOwner owner)
Returns all the types found following this project's include path with
the given fully qualified name.
|
IPackageFragmentRoot[] |
getAllPackageFragmentRoots()
Returns all of the existing package fragment roots that exist
on the includepath, in the order they are defined by the includepath.
|
IFile |
getJSDTScopeFile() |
IFile |
getJSDTScopeFile(boolean forceCreate) |
java.lang.Object[] |
getNonJavaScriptResources()
Returns an array of non-JavaScript resources directly contained in this project.
|
java.lang.String |
getOption(java.lang.String optionName,
boolean inheritJavaCoreOptions)
Helper method for returning one option value only.
|
java.util.Map |
getOptions(boolean inheritJavaCoreOptions)
Returns the table of the current custom options for this project.
|
IPackageFragmentRoot |
getPackageFragmentRoot(IResource resource)
Returns a package fragment root for the given resource, which
must either be a folder representing the top of a package hierarchy,
or a javaScript file.
|
IPackageFragmentRoot |
getPackageFragmentRoot(java.lang.String filePath)
Returns a package fragment root for the file at the specified file system path.
|
IPackageFragmentRoot[] |
getPackageFragmentRoots()
Returns all of the package fragment roots contained in this
project, identified on this project's resolved includepath.
|
IPackageFragment[] |
getPackageFragments()
Returns all package fragments in all package fragment roots contained
in this project.
|
IProject |
getProject()
Returns the
IProject on which this IJavaScriptProject
was created. |
IIncludePathEntry[] |
getRawIncludepath()
Returns the raw includepath for the project, as a list of includepath
entries.
|
java.lang.String[] |
getRequiredProjectNames()
Returns the names of the projects that are directly required by this
project.
|
IIncludePathEntry[] |
getResolvedIncludepath(boolean ignoreUnresolvedEntry)
This is a helper method returning the resolved includepath for the project
as a list of simple (non-variable, non-container) includepath entries.
|
boolean |
hasBuildState()
Returns whether this project has been built at least once and thus whether it has a build state.
|
boolean |
hasIncludepathCycle(IIncludePathEntry[] entries)
Returns whether setting this project's includepath to the given includepath entries
would result in a cycle.
|
boolean |
isOnIncludepath(IJavaScriptElement element)
Returns whether the given element is on the includepath of this project,
that is, referenced from a includepath entry and not explicitly excluded
using an exclusion pattern.
|
boolean |
isOnIncludepath(IResource resource)
Returns whether the given resource is on the includepath of this project,
that is, referenced from a includepath entry and not explicitly excluded
using an exclusion pattern.
|
IEvaluationContext |
newEvaluationContext()
Creates a new evaluation context.
|
ITypeHierarchy |
newTypeHierarchy(IRegion region,
IProgressMonitor monitor)
Creates and returns a type hierarchy for all types in the given
region, considering subtypes within that region.
|
ITypeHierarchy |
newTypeHierarchy(IRegion region,
WorkingCopyOwner owner,
IProgressMonitor monitor)
Creates and returns a type hierarchy for all types in the given
region, considering subtypes within that region and considering types in the
working copies with the given owner.
|
ITypeHierarchy |
newTypeHierarchy(IType type,
IRegion region,
IProgressMonitor monitor)
Creates and returns a type hierarchy for the given type considering
subtypes in the specified region.
|
ITypeHierarchy |
newTypeHierarchy(IType type,
IRegion region,
WorkingCopyOwner owner,
IProgressMonitor monitor)
Creates and returns a type hierarchy for the given type considering
subtypes in the specified region and considering types in the
working copies with the given owner.
|
IIncludePathEntry[] |
readRawIncludepath()
Returns the raw includepath for the project as defined by its
.jsdtScope file from disk, or null
if unable to read the file. |
void |
setOption(java.lang.String optionName,
java.lang.String optionValue)
Helper method for setting one option value only.
|
void |
setOptions(java.util.Map newOptions)
Sets the project custom options.
|
void |
setRawIncludepath(IIncludePathEntry[] entries,
boolean canModifyResources,
IProgressMonitor monitor)
Sets the includepath of this project using a list of includepath entries.
|
void |
setRawIncludepath(IIncludePathEntry[] entries,
IProgressMonitor monitor)
Sets the includepath of this project using a list of includepath entries.
|
getChildren, hasChildren
exists, getAncestor, getAttachedJavadoc, getCommonSuperType, getCorrespondingResource, getDisplayName, getElementName, getElementType, getHandleIdentifier, getHostPath, getJavaScriptModel, getJavaScriptProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnown, isVirtual
newNameLookup, newNameLookup, newSearchableNameEnvironment, newSearchableNameEnvironment
close, findRecommendedLineSeparator, getBuffer, hasUnsavedChanges, isConsistent, isOpen, makeConsistent, open, save
IFile getJSDTScopeFile()
IFile getJSDTScopeFile(boolean forceCreate)
IIncludePathEntry decodeIncludepathEntry(java.lang.String encodedEntry)
encodedEntry
- the encoded includepath entrynull
if unable to decode itjava.lang.String encodeIncludepathEntry(IIncludePathEntry includepathEntry)
includepathEntry
- the includepath entry to encodeIJavaScriptElement findElement(IPath path) throws JavaScriptModelException
IJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is found. The result is one of an
IJavaScriptUnit
, IClassFile
, or
IPackageFragment
.
When looking for a package fragment, there might be several potential matches; only one of them is returned.
For example, the path "java/lang/Object.js", would result in the
IJavaScriptUnit
or IClassFile
corresponding to
"java.lang.Object". The path "java/lang" would result in the
IPackageFragment
for "java.lang".
path
- the given includepath-relative pathIJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is foundJavaScriptModelException
- if the given path is null
or absoluteIJavaScriptElement findElement(IPath path, WorkingCopyOwner owner) throws JavaScriptModelException
IJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is found. The result is one of an
IJavaScriptUnit
, IClassFile
, or
IPackageFragment
. If it is an IJavaScriptUnit
,
its owner is the given owner.
When looking for a package fragment, there might be several potential matches; only one of them is returned.
For example, the path "java/lang/Object.js", would result in the
IJavaScriptUnit
or IClassFile
corresponding to
"java.lang.Object". The path "java/lang" would result in the
IPackageFragment
for "java.lang".
path
- the given includepath-relative pathowner
- the owner of the returned javaScript unit, ignored if it is
not a javaScript unit.IJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is foundJavaScriptModelException
- if the given path is null
or absoluteIPackageFragment findPackageFragment(IPath path) throws JavaScriptModelException
null
if none
exist.
The path can be:
- internal to the workbench: "/Project/src"
- external to the workbench: "c:/jdk/classes.zip/java/lang"path
- the given absolute pathnull
if none
existJavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIPackageFragmentRoot findPackageFragmentRoot(IPath path) throws JavaScriptModelException
null
if
one does not exist.
The path can be:
- internal to the workbench: "/Compiler/src"
- external to the workbench: "c:/jdk/classes.zip"path
- the given absolute pathnull
if
one does not existJavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIPackageFragmentRoot[] findPackageFragmentRoots(IIncludePathEntry entry)
If the includepath entry denotes a variable, it will be resolved and return the roots of the target entry (empty if not resolvable).
If the includepath entry denotes a container, it will be resolved and return the roots corresponding to the set of container entries (empty if not resolvable).
entry
- the given entryIJsGlobalScopeContainer
IType findType(java.lang.String fullyQualifiedName) throws JavaScriptModelException
null
if none is found.
The fully qualified name is a dot-separated name. For example,
a class B defined as a member type of a class A in package x.y should have a
the fully qualified name "x.y.A.B".
Note that in order to be found, a type name (or its toplevel enclosing
type name) must match its corresponding javaScript unit name. As a
consequence, secondary types cannot be found using this functionality.
To find secondary types use findType(String, IProgressMonitor)
instead.fullyQualifiedName
- the given fully qualified namenull
if none is foundJavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType[] findTypes(java.lang.String fullyQualifiedName) throws JavaScriptModelException
fullyQualifiedName
- the given fully qualified nameJavaScriptModelException
- if this project does not exist or if an exception occurs
while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String fullyQualifiedName, IProgressMonitor progressMonitor) throws JavaScriptModelException
findType(String)
but also look for secondary
types if given name does not match a javaScript unit name.fullyQualifiedName
- the given fully qualified nameprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is providednull
if none is foundJavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType[] findTypes(java.lang.String fullyQualifiedName, WorkingCopyOwner owner) throws JavaScriptModelException
fullyQualifiedName
- the given fully qualified nameowner
- the owner of the returned type's javaScript unitJavaScriptModelException
- if this project does not exist or if an exception occurs
while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String fullyQualifiedName, WorkingCopyOwner owner, IProgressMonitor progressMonitor) throws JavaScriptModelException
#findType(String, WorkingCopyOwner)
but also look for secondary types if given name does not match
a javaScript unit name.fullyQualifiedName
- the given fully qualified nameowner
- the owner of the returned type's javaScript unitprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is providednull
if none is foundJavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String packageName, java.lang.String typeQualifiedName, IProgressMonitor progressMonitor) throws JavaScriptModelException
#findType(String, String)
but also look for
secondary types if given name does not match a javaScript unit name.packageName
- the given package nametypeQualifiedName
- the given type qualified nameprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is providednull
if none is foundJavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String packageName, java.lang.String typeQualifiedName, WorkingCopyOwner owner, IProgressMonitor progressMonitor) throws JavaScriptModelException
#findType(String, String, WorkingCopyOwner)
but also look for secondary types if given name does not match a javaScript unit name.packageName
- the given package nametypeQualifiedName
- the given type qualified nameowner
- the owner of the returned type's javaScript unitprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is providednull
if none is foundJavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaScriptModelException
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.Object[] getNonJavaScriptResources() throws JavaScriptModelException
Non-JavaScript resources includes other files and folders located in the project not accounted for by any of it source or binary package fragment roots. If the project is a source folder itself, resources excluded from the corresponding source includepath entry by one or more exclusion patterns are considered non-JavaScript resources and will appear in the result (possibly in a folder)
IFile
s and/or
IFolder
s) directly contained in this projectJavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.String getOption(java.lang.String optionName, boolean inheritJavaCoreOptions)
(String)this.getOptions(inheritJavaCoreOptions).get(optionName)
Note that it may answer null
if this option does not exist, or if there is no custom value for it.
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
optionName
- the name of an optioninheritJavaCoreOptions
- - boolean indicating whether JavaScriptCore options should be inherited as wellJavaScriptCore.getDefaultOptions()
java.util.Map getOptions(boolean inheritJavaCoreOptions)
JavaScriptCore
.
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
inheritJavaCoreOptions
- - boolean indicating whether JavaScriptCore options should be inherited as wellString
; value type: String
)JavaScriptCore.getDefaultOptions()
IPackageFragmentRoot getPackageFragmentRoot(java.lang.String filePath)
java.io.File
may or may not exist. No resource is associated with this local file
package fragment root.filePath
- the file system pathIPackageFragmentRoot getPackageFragmentRoot(IResource resource)
resource
- the given resourceIPackageFragmentRoot[] getPackageFragmentRoots() throws JavaScriptModelException
NOTE: This is equivalent to getChildren()
.
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIPackageFragment[] getPackageFragments() throws JavaScriptModelException
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIProject getProject()
IProject
on which this IJavaScriptProject
was created. This is handle-only method.IProject
on which this IJavaScriptProject
was createdIIncludePathEntry[] getRawIncludepath() throws JavaScriptModelException
setRawIncludepath
, in particular such a includepath may
contain includepath variable and includepath container entries. Includepath
variable and includepath container entries can be resolved using the
helper method getResolvedIncludepath
; includepath variable
entries also can be resolved individually using
JavaScriptCore#getIncludepathVariable
).
Both includepath containers and includepath variables provides a level of
indirection that can make the .jsdtScope
file stable across
workspaces.
Note that in case the project isn't yet opened, the includepath will be read directly from the associated .jsdtScope file.
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIIncludePathEntry
java.lang.String[] getRequiredProjectNames() throws JavaScriptModelException
The project names are returned in the order they appear on the includepath.
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIIncludePathEntry[] getResolvedIncludepath(boolean ignoreUnresolvedEntry) throws JavaScriptModelException
The resulting resolved includepath is accurate for the given point in time. If the project's raw includepath is later modified, or if includepath variables are changed, the resolved includepath can become out of date. Because of this, hanging on resolved includepath is not recommended.
ignoreUnresolvedEntry
- indicates how to handle unresolvable
variables and containers; true
indicates that missing
variables and unresolvable includepath containers should be silently
ignored, and that the resulting list should consist only of the
entries that could be successfully resolved; false
indicates
that a JavaScriptModelException
should be thrown for the first
unresolved variable or containerJavaScriptModelException
- in one of the corresponding situation:
ignoreUnresolvedEntry
is false
.IIncludePathEntry
boolean hasBuildState()
boolean hasIncludepathCycle(IIncludePathEntry[] entries)
entries
- the given includepath entriesboolean isOnIncludepath(IJavaScriptElement element)
element
- the given elementtrue
if the given element is on the includepath of
this project, false
otherwiseIIncludePathEntry.getInclusionPatterns()
,
IIncludePathEntry.getExclusionPatterns()
boolean isOnIncludepath(IResource resource)
resource
- the given resourcetrue
if the given resource is on the includepath of
this project, false
otherwiseIIncludePathEntry.getInclusionPatterns()
,
IIncludePathEntry.getExclusionPatterns()
IEvaluationContext newEvaluationContext()
ITypeHierarchy newTypeHierarchy(IRegion region, IProgressMonitor monitor) throws JavaScriptModelException
monitor
- the given progress monitorregion
- the given regionJavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.IllegalArgumentException
- if region is null
ITypeHierarchy newTypeHierarchy(IRegion region, WorkingCopyOwner owner, IProgressMonitor monitor) throws JavaScriptModelException
Note that if a working copy is empty, it will be as if the original javaScript unit had been deleted.
monitor
- the given progress monitorregion
- the given regionowner
- the owner of working copies that take precedence over their original javaScript unitsJavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.IllegalArgumentException
- if region is null
ITypeHierarchy newTypeHierarchy(IType type, IRegion region, IProgressMonitor monitor) throws JavaScriptModelException
type
- the given typeregion
- the given regionmonitor
- the given monitorJavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.IllegalArgumentException
- if type or region is null
ITypeHierarchy newTypeHierarchy(IType type, IRegion region, WorkingCopyOwner owner, IProgressMonitor monitor) throws JavaScriptModelException
Note that if a working copy is empty, it will be as if the original javaScript unit had been deleted.
type
- the given typeregion
- the given regionmonitor
- the given monitorowner
- the owner of working copies that take precedence over their original javaScript unitsJavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.IllegalArgumentException
- if type or region is null
IIncludePathEntry[] readRawIncludepath()
.jsdtScope
file from disk, or null
if unable to read the file.
This includepath may differ from the in-memory includepath returned by
getRawIncludepath
, in case the automatic reconciliation
mechanism has not been performed yet. Usually, any change to the
.jsdtScope
file is automatically noticed and reconciled at
the next resource change notification event. However, if the file is
modified within an operation, where this change needs to be taken into
account before the operation ends, then the includepath from disk can be
read using this method, and further assigned to the project using
setRawIncludepath(...)
.
Includepath variable and includepath container entries can be resolved using
the helper method getResolvedIncludepath
; includepath variable
entries also can be resolved individually using
JavaScriptCore#getIncludepathVariable
).
Note that no check is performed whether the project has the JavaScript nature
set, allowing an existing .jsdtScope
file to be considered
independantly (unlike getRawIncludepath
which requires the
JavaScript nature to be associated with the project).
In order to manually force a project includepath refresh, one can simply
assign the project includepath using the result of this method, as follows:
proj.setRawIncludepath(proj.readRawIncludepath(), monitor)
(note that the readRawIncludepath
method
could return null
).
getRawIncludepath()
,
IIncludePathEntry
void setOption(java.lang.String optionName, java.lang.String optionValue)
Map options = this.getOptions(false); map.put(optionName, optionValue); this.setOptions(map)
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
optionName
- the name of an optionoptionValue
- the value of the option to setJavaScriptCore.getDefaultOptions()
void setOptions(java.util.Map newOptions)
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
newOptions
- the new options (key type: String
; value type: String
),
or null
to flush all custom options (clients will automatically get the global JavaScriptCore options).JavaScriptCore.getDefaultOptions()
void setRawIncludepath(IIncludePathEntry[] entries, boolean canModifyResources, IProgressMonitor monitor) throws JavaScriptModelException
JavaScriptCore.getIncludepathVariable(String)
),
or the full includepath can be resolved at once using the helper method getResolvedIncludepath(boolean)
.
If it is specified that this operation cannot modify resources, the .jsdtScope file will not be written to disk
and no error marker will be generated. To synchronize the .jsdtScope with the in-memory includepath,
one can use setRawIncludepath(readRawIncludepath(), true, monitor)
.
Setting the includepath to null
specifies a default includepath
(the project root). Setting the includepath to an empty array specifies an
empty includepath.
If a cycle is detected while setting this includepath (and if resources can be modified), an error marker will be added
to the project closing the cycle.
To avoid this problem, use hasIncludepathCycle(IIncludePathEntry[])
before setting the includepath.
This operation acquires a lock on the workspace's root.
entries
- a list of includepath entriescanModifyResources
- whether resources should be written to disk if neededmonitor
- the given progress monitorJavaScriptModelException
- if the includepath could not be set. Reasons include:
JavaScriptConventions#validateIncludepath(IJavaScriptProject, IIncludePathEntry[], IPath)
IIncludePathEntry
void setRawIncludepath(IIncludePathEntry[] entries, IProgressMonitor monitor) throws JavaScriptModelException
JavaScriptCore.getIncludepathVariable(String)
),
or the full includepath can be resolved at once using the helper method getResolvedIncludepath(boolean)
.
Setting the includepath to null
specifies a default includepath
(the project root). Setting the includepath to an empty array specifies an
empty includepath.
If a cycle is detected while setting this includepath, an error marker will be added
to the project closing the cycle.
To avoid this problem, use hasIncludepathCycle(IIncludePathEntry[])
before setting the includepath.
This operation acquires a lock on the workspace's root.
entries
- a list of includepath entriesmonitor
- the given progress monitorJavaScriptModelException
- if the includepath could not be set. Reasons include:
JavaScriptConventions#validateIncludepath(IJavaScriptProject, IIncludePathEntry[], IPath)
IIncludePathEntry
ITypeRoot findTypeRoot(java.lang.String fullyQualifiedName) throws JavaScriptModelException
JavaScriptModelException
Copyright (c) IBM Corp. and others 2000, 2016. All Rights Reserved.