public abstract class ConditionalHandlingCPreprocessorBase extends MacroHandlingCPreprocessorBase
IS_MACRO_TOKEN, MACRO_ORIGIN, macroProvider
Modifier | Constructor and Description |
---|---|
protected |
ConditionalHandlingCPreprocessorBase(IMacroProvider macroProvider)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
conditionIsTrue(java.lang.String condition)
Evaluates an if condition and returns its boolean value.
|
protected void |
decideRegionInclusion(java.util.List<eu.cqse.check.framework.preprocessor.c.IfRegionDescriptor> ifRegions)
Decides for each ifRegion, whether it should be included or not.
|
protected void |
processIfDirective(java.util.List<IToken> tokens,
int ifIndex,
RegionSet ignoredRegions)
Processes an if/ifdef/ifndef directive.
|
handleInclude, isIfDirective, isPragmaDirective, mergeExpansionIntoTokens, parseMacroContent, preprocess, preprocess, setUniformPath
protected ConditionalHandlingCPreprocessorBase(IMacroProvider macroProvider)
protected void processIfDirective(java.util.List<IToken> tokens, int ifIndex, RegionSet ignoredRegions)
processIfDirective
in class MacroHandlingCPreprocessorBase
tokens
- the tokens being processed.ifIndex
- the index in the tokens list, where the if directive is found.ignoredRegions
- the regions of indexes to be ignored during parsing.protected void decideRegionInclusion(java.util.List<eu.cqse.check.framework.preprocessor.c.IfRegionDescriptor> ifRegions)
ifRegions
- the regions to decide for. The inclusion of the regions is
initially false and must be updated, if a region should be
included.protected boolean conditionIsTrue(java.lang.String condition)