|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.cdt.managedbuilder.internal.macros.BuildMacroProvider
public class BuildMacroProvider
The default IBuildMacroProvider implementation
Field Summary | |
---|---|
static MbsMacroSupplier |
fMbsMacroSupplier
|
Fields inherited from interface org.eclipse.cdt.managedbuilder.macros.IBuildMacroProvider |
---|
CONTEXT_CONFIGURATION, CONTEXT_ECLIPSEENV, CONTEXT_FILE, CONTEXT_INSTALLATIONS, CONTEXT_OPTION, CONTEXT_PROJECT, CONTEXT_TOOL, CONTEXT_WORKSPACE |
Method Summary | |
---|---|
boolean |
areMacrosExpandedInBuildfile(IConfiguration cfg)
answers whether the environment macros are to be expanded in the buildfile |
static boolean |
canKeepMacrosInBuildfile(IBuilder builder)
answers whether the given builder is capable of handling macros in the buildfile |
static boolean |
canKeepMacrosInBuildfile(IConfiguration cfg)
answers whether the builder used for the given configuration is capable of handling macros in the buildfile |
void |
checkIntegrity(int contextType,
java.lang.Object contextData)
checks the integrity of the Macros If there are inconsistencies, such as when a macro value refers to a nonexistent macro or when two macros refer to each other, this method will throw the BuildMacroException exception The BuildMacroException will contain the human-readable string describing the inconsistency and the array of the IBuildMacro interfaces that will represent the macros that caused the inconsistency. |
java.lang.String |
convertStringListToString(java.lang.String[] value,
java.lang.String listDelimiter)
converts StringList value into String of the following format: " |
static java.lang.String |
createBuildfileMacroReference(java.lang.String name,
IBuilder builder)
creates a macro reference in the buildfile format for the given builder. |
static java.lang.String |
createBuildfileMacroReference(java.lang.String name,
IConfiguration cfg)
creates a macro reference in the buildfile format for the builder used for the given configuration. |
static CoreMacrosSupplier |
createCoreSupplier(IConfiguration cfg)
|
boolean |
expandMacrosInBuildfile(IConfiguration cfg,
boolean expand)
sets whether the environment macros are to be expanded in the buildfile or not If a bulder does not support treating environment variables as its own ones this method has no effect Returns the result of this set operation. |
org.eclipse.cdt.utils.cdtvariables.IVariableSubstitutor |
getBuildfileMacroSubstitutor(IMacroContextInfo info,
java.lang.String inexistentMacroValue,
java.lang.String listDelimiter)
|
static BuildMacroProvider |
getDefault()
|
IBuildMacro |
getMacro(java.lang.String macroName,
int contextType,
java.lang.Object contextData,
boolean includeParentContexts)
Returns reference to the IBuildMacro interface representing Macro of the specified name or null if there is there is no such macro |
IMacroContextInfo |
getMacroContextInfo(int contextType,
java.lang.Object contextData)
|
IBuildMacro[] |
getMacros(int contextType,
java.lang.Object contextData,
boolean includeParentContexts)
|
org.eclipse.cdt.utils.cdtvariables.SupplierBasedCdtVariableSubstitutor |
getMacroSubstitutor(IMacroContextInfo info,
java.lang.String inexistentMacroValue,
java.lang.String listDelimiter)
|
static IBuildMacro[] |
getReferencedExplitFileMacros(ITool tool)
Returns the array of the explicit file macros, referenced in the tool's options (Explicit file macros are the file-specific macros, whose values are not provided by the tool-integrator. |
static IBuildMacro[] |
getReferencedExplitFileMacros(java.lang.String expression,
int contextType,
java.lang.Object contextData)
Returns the array of the explicit file macros, referenced in the given string (Explicit file macros are the file-specific macros, whose values are not provided by the tool-integrator. |
IBuildMacroSupplier[] |
getSuppliers(int contextType,
java.lang.Object contextData)
This method is defined to be used primarily by the UI classes and should not be used by the tool-integrator |
ICdtVariable |
getVariable(java.lang.String macroName,
int contextType,
java.lang.Object contextData,
boolean includeParentContexts)
|
ICdtVariable[] |
getVariables(int contextType,
java.lang.Object contextData,
boolean includeParentContexts)
|
boolean |
isStringListValue(java.lang.String value,
int contextType,
java.lang.Object contextData)
|
java.lang.String[] |
resolveStringListValue(java.lang.String value,
java.lang.String nonexistentMacrosValue,
java.lang.String listDelimiter,
int contextType,
java.lang.Object contextData)
if the string contains a value that can be treated as a StringList resolves it to arrays of strings otherwise throws the BuildMacroException exception |
java.lang.String[] |
resolveStringListValues(java.lang.String[] value,
java.lang.String nonexistentMacrosValue,
java.lang.String listDelimiter,
int contextType,
java.lang.Object contextData)
resolves macros in the array of string-list values |
java.lang.String[] |
resolveStringListValuesToMakefileFormat(java.lang.String[] value,
java.lang.String nonexistentMacrosValue,
java.lang.String listDelimiter,
int contextType,
java.lang.Object contextData)
resolves macros in the array of string-list values macros are resolved to the makefile format |
java.lang.String[] |
resolveStringListValueToMakefileFormat(java.lang.String value,
java.lang.String nonexistentMacrosValue,
java.lang.String listDelimiter,
int contextType,
java.lang.Object contextData)
if the string contains a value that can be treated as a StringList resolves it to arrays of strings otherwise throws the BuildMacroException exception each string of the returned array will contain all macro references resolved in case of a user has specified to resolve the build macros, and will contain the string with the environment macro references unresolved and converted to the buildfile format otherwise |
java.lang.String |
resolveValue(java.lang.String value,
java.lang.String nonexistentMacrosValue,
java.lang.String listDelimiter,
int contextType,
java.lang.Object contextData)
resolves all macros in the string. |
java.lang.String |
resolveValueToMakefileFormat(java.lang.String value,
java.lang.String nonexistentMacrosValue,
java.lang.String listDelimiter,
int contextType,
java.lang.Object contextData)
resolves all macros in the string to the makefile format. |
static IBuildMacro |
wrap(ICdtVariable var)
|
static IBuildMacro[] |
wrap(ICdtVariable[] vars)
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static MbsMacroSupplier fMbsMacroSupplier
Method Detail |
---|
public static BuildMacroProvider getDefault()
public IBuildMacro getMacro(java.lang.String macroName, int contextType, java.lang.Object contextData, boolean includeParentContexts)
IBuildMacroProvider
getMacro
in interface IBuildMacroProvider
macroName
- macro namecontextType
- represents the context type. Should be set to one of the the
IBuildMacroProvider. CONTEXT_xxx constantscontextData
- represents the additional data needed by the Build Macro Provider
and Macro Suppliers in order to obtain the macro value. The type of the context data
differs depending on the context type and can be one of the following:
1. IFileContextData interface � used to represent currently selected file context
the IFileContextData interface is defined as follows:
pulic interface IFileContextData{
IFile getFile();
IOption getOption();
}
NOTE: the IFileContextData is passed that represents the current file and the option
for that file because Macro Value Provider needs to know what option should be used
as a context in case macro is not found for �current file� context
2. IOptionContextData interface used to represent the currently selected option context
3. IConfiguration � used to represent the currently selected configuration context
4. IProject � used to represent current project context
5. IWorkspace � used to represent current workspace context
6. null � to represent the CDT and Eclipse installation context
7. null � to represent process environment contextpublic IBuildMacro[] getMacros(int contextType, java.lang.Object contextData, boolean includeParentContexts)
getMacros
in interface IBuildMacroProvider
public static CoreMacrosSupplier createCoreSupplier(IConfiguration cfg)
public ICdtVariable getVariable(java.lang.String macroName, int contextType, java.lang.Object contextData, boolean includeParentContexts)
getVariable
in interface IBuildMacroProvider
public ICdtVariable[] getVariables(int contextType, java.lang.Object contextData, boolean includeParentContexts)
getVariables
in interface IBuildMacroProvider
public IBuildMacroSupplier[] getSuppliers(int contextType, java.lang.Object contextData)
IBuildMacroProvider
getSuppliers
in interface IBuildMacroProvider
public IMacroContextInfo getMacroContextInfo(int contextType, java.lang.Object contextData)
getMacroContextInfo
in interface IMacroContextInfoProvider
contextType
- contextData
-
public java.lang.String convertStringListToString(java.lang.String[] value, java.lang.String listDelimiter)
IBuildMacroProvider
convertStringListToString
in interface IBuildMacroProvider
public static IBuildMacro wrap(ICdtVariable var)
public static IBuildMacro[] wrap(ICdtVariable[] vars)
public java.lang.String resolveValue(java.lang.String value, java.lang.String nonexistentMacrosValue, java.lang.String listDelimiter, int contextType, java.lang.Object contextData) throws BuildMacroException
IBuildMacroProvider
resolveValue
in interface IBuildMacroProvider
value
- the value to be resolvednonexistentMacrosValue
- specifies the value that inexistent macro references will be
expanded to. If null the BuildMacroException is thrown in case the string to be resolved
references inexistent macroslistDelimiter
- if not null, StringList macros are expanded as
�contextType
- context from which the macro search should be startedcontextData
- context data
BuildMacroException
public java.lang.String[] resolveStringListValue(java.lang.String value, java.lang.String nonexistentMacrosValue, java.lang.String listDelimiter, int contextType, java.lang.Object contextData) throws BuildMacroException
IBuildMacroProvider
resolveStringListValue
in interface IBuildMacroProvider
BuildMacroException
isStringListValue
public java.lang.String resolveValueToMakefileFormat(java.lang.String value, java.lang.String nonexistentMacrosValue, java.lang.String listDelimiter, int contextType, java.lang.Object contextData) throws BuildMacroException
IBuildMacroProvider
resolveValueToMakefileFormat
in interface IBuildMacroProvider
value
- the value to be resolvednonexistentMacrosValue
- specifies the value that inexistent macro references will be
expanded to. If null the BuildMacroException is thrown in case the string to be resolved
references inexistent macroslistDelimiter
- if not null, StringList macros are expanded as
�contextType
- context from which the macro search should be startedcontextData
- context data
BuildMacroException
public java.lang.String[] resolveStringListValueToMakefileFormat(java.lang.String value, java.lang.String nonexistentMacrosValue, java.lang.String listDelimiter, int contextType, java.lang.Object contextData) throws BuildMacroException
IBuildMacroProvider
resolveStringListValueToMakefileFormat
in interface IBuildMacroProvider
BuildMacroException
isStringListValue
public boolean isStringListValue(java.lang.String value, int contextType, java.lang.Object contextData) throws BuildMacroException
isStringListValue
in interface IBuildMacroProvider
BuildMacroException
public void checkIntegrity(int contextType, java.lang.Object contextData) throws BuildMacroException
IBuildMacroProvider
checkIntegrity
in interface IBuildMacroProvider
BuildMacroException
public org.eclipse.cdt.utils.cdtvariables.SupplierBasedCdtVariableSubstitutor getMacroSubstitutor(IMacroContextInfo info, java.lang.String inexistentMacroValue, java.lang.String listDelimiter)
public org.eclipse.cdt.utils.cdtvariables.IVariableSubstitutor getBuildfileMacroSubstitutor(IMacroContextInfo info, java.lang.String inexistentMacroValue, java.lang.String listDelimiter)
public boolean areMacrosExpandedInBuildfile(IConfiguration cfg)
cfg
-
public boolean expandMacrosInBuildfile(IConfiguration cfg, boolean expand)
cfg
- expand
-
public java.lang.String[] resolveStringListValues(java.lang.String[] value, java.lang.String nonexistentMacrosValue, java.lang.String listDelimiter, int contextType, java.lang.Object contextData) throws BuildMacroException
IBuildMacroProvider
resolveStringListValues
in interface IBuildMacroProvider
BuildMacroException
isStringListValue
public java.lang.String[] resolveStringListValuesToMakefileFormat(java.lang.String[] value, java.lang.String nonexistentMacrosValue, java.lang.String listDelimiter, int contextType, java.lang.Object contextData) throws BuildMacroException
IBuildMacroProvider
resolveStringListValuesToMakefileFormat
in interface IBuildMacroProvider
BuildMacroException
isStringListValue
public static boolean canKeepMacrosInBuildfile(IConfiguration cfg)
cfg
-
public static boolean canKeepMacrosInBuildfile(IBuilder builder)
builder
-
public static java.lang.String createBuildfileMacroReference(java.lang.String name, IBuilder builder)
name
- builder
-
public static java.lang.String createBuildfileMacroReference(java.lang.String name, IConfiguration cfg)
name
- cfg
-
public static IBuildMacro[] getReferencedExplitFileMacros(ITool tool)
tool
-
public static IBuildMacro[] getReferencedExplitFileMacros(java.lang.String expression, int contextType, java.lang.Object contextData)
expression
- contextType
- contextData
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |