Package org.eclipse.cdt.core.model
Class CoreModelUtil
java.lang.Object
org.eclipse.cdt.core.model.CoreModelUtil
- Restriction:
- This class is not intended to be subclassed by clients.
- Restriction:
- This class is not intended to be instantiated by clients.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ITranslationUnit
findTranslationUnit
(org.eclipse.core.resources.IFile file) Returns the translation unit for the file given ornull
.static ITranslationUnit
findTranslationUnitForLocation
(URI locationURI, ICProject preferredProject) Searches for a translation unit within the cprojects.static ITranslationUnit
findTranslationUnitForLocation
(IIndexFileLocation ifl, ICProject preferredProject) Returns the translation unit for the location given ornull
.static ITranslationUnit
findTranslationUnitForLocation
(org.eclipse.core.runtime.IPath location, ICProject preferredProject) Searches for a translation unit within the cprojects.static IBinaryParser
Instantiate binary parser for given extension reference.static String[]
Returns binary parser IDs for configurationsstatic ICConfigurationDescription[]
getReferencedConfigurationDescriptions
(ICConfigurationDescription cfgDes, boolean writable) Returns the configuration descriptions referenced directly by the specified configuration description.static ICConfigurationDescription[]
getReferencingConfigurationDescriptions
(ICConfigurationDescription cfgDes, boolean writable) Returns the list of all configuration descriptions which directly reference the specified configuration description.static final int
indexOf
(char toBeFound, char[] array) Answers the first index in the array for which the corresponding character is equal to toBeFound.static final int
indexOf
(char toBeFound, char[] array, int start) Answers the first index in the array for which the corresponding character is equal to toBeFound starting the search at index start.static final boolean
isExcluded
(org.eclipse.core.resources.IResource resource, char[][] exclusionPatterns) Returns whether the given resource matches one of the exclusion patterns.static final boolean
isExcluded
(org.eclipse.core.runtime.IPath resourcePath, char[][] exclusionPatterns) Returns whether the given resource path matches one of the exclusion patterns.static boolean
isExcludedPath
(org.eclipse.core.runtime.IPath resourcePath, org.eclipse.core.runtime.IPath[] exclusionPatterns) Returns whether the given path matches one of the exclusion patterns.static final boolean
match
(char[] pattern, char[] name, boolean isCaseSensitive) Answers true if the pattern matches the given name, false otherwise.static final boolean
match
(char[] pattern, int patternStart, int patternEnd, char[] name, int nameStart, int nameEnd, boolean isCaseSensitive) Answers true if the a sub-pattern matches the subpart of the given name, false otherwise.static final boolean
pathMatch
(char[] pattern, char[] filepath, boolean isCaseSensitive, char pathSeparator) Answers true if the pattern matches the filepath using the pathSepatator, false otherwise.static void
setBinaryParserIds
(ICConfigurationDescription[] cfgs, String[] pids) Sets binary parser ID list to given configurations
-
Constructor Details
-
CoreModelUtil
public CoreModelUtil()
-
-
Method Details
-
isExcludedPath
public static boolean isExcludedPath(org.eclipse.core.runtime.IPath resourcePath, org.eclipse.core.runtime.IPath[] exclusionPatterns) Returns whether the given path matches one of the exclusion patterns.- Parameters:
resourcePath
-exclusionPatterns
-- Returns:
true
if the given path matches one of the exclusion patterns.
-
isExcluded
public static final boolean isExcluded(org.eclipse.core.resources.IResource resource, char[][] exclusionPatterns) Returns whether the given resource matches one of the exclusion patterns. -
isExcluded
public static final boolean isExcluded(org.eclipse.core.runtime.IPath resourcePath, char[][] exclusionPatterns) Returns whether the given resource path matches one of the exclusion patterns. -
match
public static final boolean match(char[] pattern, char[] name, boolean isCaseSensitive) Answers true if the pattern matches the given name, false otherwise. This char[] pattern matching accepts wild-cards '*' and '?'. When not case sensitive, the pattern is assumed to already be lowercased, the name will be lowercased character per character as comparing. If name is null, the answer is false. If pattern is null, the answer is true if name is not null.
For example:-
pattern = { '?', 'b', '*' } name = { 'a', 'b', 'c' , 'd' } isCaseSensitive = true result => true
-
pattern = { '?', 'b', '?' } name = { 'a', 'b', 'c' , 'd' } isCaseSensitive = true result => false
-
pattern = { 'b', '*' } name = { 'a', 'b', 'c' , 'd' } isCaseSensitive = true result => false
- Parameters:
pattern
- the given patternname
- the given nameisCaseSensitive
- flag to know whether or not the matching should be case sensitive- Returns:
- true if the pattern matches the given name, false otherwise
-
-
match
public static final boolean match(char[] pattern, int patternStart, int patternEnd, char[] name, int nameStart, int nameEnd, boolean isCaseSensitive) Answers true if the a sub-pattern matches the subpart of the given name, false otherwise. char[] pattern matching, accepting wild-cards '*' and '?'. Can match only subset of name/pattern. end positions are non-inclusive. The subpattern is defined by the patternStart and pattternEnd positions. When not case sensitive, the pattern is assumed to already be lowercased, the name will be lowercased character per character as comparing.
For example:-
pattern = { '?', 'b', '*' } patternStart = 1 patternEnd = 3 name = { 'a', 'b', 'c' , 'd' } nameStart = 1 nameEnd = 4 isCaseSensitive = true result => true
-
pattern = { '?', 'b', '*' } patternStart = 1 patternEnd = 2 name = { 'a', 'b', 'c' , 'd' } nameStart = 1 nameEnd = 2 isCaseSensitive = true result => false
- Parameters:
pattern
- the given patternpatternStart
- the given pattern startpatternEnd
- the given pattern endname
- the given namenameStart
- the given name startnameEnd
- the given name endisCaseSensitive
- flag to know if the matching should be case sensitive- Returns:
- true if the a sub-pattern matches the subpart of the given name, false otherwise
-
-
pathMatch
public static final boolean pathMatch(char[] pattern, char[] filepath, boolean isCaseSensitive, char pathSeparator) Answers true if the pattern matches the filepath using the pathSepatator, false otherwise. Path char[] pattern matching, accepting wild-cards '**', '*' and '?' (using Ant directory tasks conventions, also see "http://jakarta.apache.org/ant/manual/dirtasks.html#defaultexcludes"). Path pattern matching is enhancing regular pattern matching in supporting extra rule where '**' represent any folder combination. Special rule: - foo\ is equivalent to foo\** When not case sensitive, the pattern is assumed to already be lowercased, the name will be lowercased character per character as comparing.- Parameters:
pattern
- the given patternfilepath
- the given pathisCaseSensitive
- to find out whether or not the matching should be case sensitivepathSeparator
- the given path separator- Returns:
- true if the pattern matches the filepath using the pathSepatator, false otherwise
-
indexOf
public static final int indexOf(char toBeFound, char[] array) Answers the first index in the array for which the corresponding character is equal to toBeFound. Answers -1 if no occurrence of this character is found.
For example:-
toBeFound = 'c' array = { ' a', 'b', 'c', 'd' } result => 2
-
toBeFound = 'e' array = { ' a', 'b', 'c', 'd' } result => -1
- Parameters:
toBeFound
- the character to searcharray
- the array to be searched- Returns:
- the first index in the array for which the corresponding character is equal to toBeFound, -1 otherwise
- Throws:
NullPointerException
- if array is null
-
-
indexOf
public static final int indexOf(char toBeFound, char[] array, int start) Answers the first index in the array for which the corresponding character is equal to toBeFound starting the search at index start. Answers -1 if no occurrence of this character is found.
For example:-
toBeFound = 'c' array = { ' a', 'b', 'c', 'd' } start = 2 result => 2
-
toBeFound = 'c' array = { ' a', 'b', 'c', 'd' } start = 3 result => -1
-
toBeFound = 'e' array = { ' a', 'b', 'c', 'd' } start = 1 result => -1
- Parameters:
toBeFound
- the character to searcharray
- the array to be searchedstart
- the starting index- Returns:
- the first index in the array for which the corresponding character is equal to toBeFound, -1 otherwise
- Throws:
NullPointerException
- if array is nullArrayIndexOutOfBoundsException
- if start is lower than 0
-
-
findTranslationUnitForLocation
public static ITranslationUnit findTranslationUnitForLocation(org.eclipse.core.runtime.IPath location, ICProject preferredProject) throws CModelException Searches for a translation unit within the cprojects. For external files the ones from the given project are preferred.- Throws:
CModelException
- Since:
- 4.0
-
findTranslationUnitForLocation
public static ITranslationUnit findTranslationUnitForLocation(URI locationURI, ICProject preferredProject) throws CModelException Searches for a translation unit within the cprojects. For external files the ones from the given project are preferred.- Throws:
CModelException
- Since:
- 5.0
-
findTranslationUnitForLocation
public static ITranslationUnit findTranslationUnitForLocation(IIndexFileLocation ifl, ICProject preferredProject) throws CModelException Returns the translation unit for the location given ornull
.- Throws:
CModelException
-
findTranslationUnit
Returns the translation unit for the file given ornull
. -
getReferencedConfigurationDescriptions
public static ICConfigurationDescription[] getReferencedConfigurationDescriptions(ICConfigurationDescription cfgDes, boolean writable) Returns the configuration descriptions referenced directly by the specified configuration description. The result will not contain duplicates. Returns an empty array if there are no referenced configuration descriptions.- Parameters:
cfgDes
-writable
- - specifies whether the returned descriptions should be writable or read-only- Returns:
- a list of configuration descriptions
- Since:
- 4.0
- See Also:
-
getReferencingConfigurationDescriptions
public static ICConfigurationDescription[] getReferencingConfigurationDescriptions(ICConfigurationDescription cfgDes, boolean writable) Returns the list of all configuration descriptions which directly reference the specified configuration description. Returns an empty array if there are no referencing configuration descriptions.- Parameters:
cfgDes
-writable
- - specifies whether the returned descriptions should be writable or read-only- Returns:
- a list of configuration descriptions referencing this configuration description
- Since:
- 4.0
- See Also:
-
getBinaryParserIds
Returns binary parser IDs for configurations- Parameters:
cfgs
- - array of configurations where we need search- Returns:
- - array of binary parser ids (Strings)
-
setBinaryParserIds
Sets binary parser ID list to given configurations- Parameters:
cfgs
- - array of configurations where we need searchpids
- - array of binary parser ids (Strings)
-
getBinaryParser
public static IBinaryParser getBinaryParser(ICConfigExtensionReference ref) throws org.eclipse.core.runtime.CoreException Instantiate binary parser for given extension reference.- Parameters:
ref
- binary parser extension reference- Returns:
- a binary parser instance
- Throws:
org.eclipse.core.runtime.CoreException
- if the parser could not be created- Since:
- 5.3
-