Package manifold.preprocessor.statement
Class Statement
- java.lang.Object
-
- manifold.preprocessor.statement.Statement
-
- Direct Known Subclasses:
DefineStatement,EmptyStatement,FileStatement,IfStatement,IssueStatement,SourceStatement,UndefStatement
public abstract class Statement extends Object
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidexecute(StringBuilder result, CharSequence source, boolean visible, Definitions definitions)abstract voidexecute(List<SourceStatement> result, boolean visible, Definitions definitions)intgetTokenEnd()intgetTokenStart()TokenTypegetTokenType()abstract booleanhasPreprocessorDirectives()protected voidpreserveMaskedOutSpace(StringBuilder result, CharSequence source)protected voidpreserveMaskedOutSpace(StringBuilder result, CharSequence source, int tokenStart, int tokenEnd)Replaces preprocessor directives and masked out source with whitespace.
-
-
-
Constructor Detail
-
Statement
public Statement(TokenType tokenType, int start, int end)
-
-
Method Detail
-
getTokenType
public TokenType getTokenType()
-
getTokenStart
public int getTokenStart()
-
getTokenEnd
public int getTokenEnd()
-
preserveMaskedOutSpace
protected void preserveMaskedOutSpace(StringBuilder result, CharSequence source)
-
preserveMaskedOutSpace
protected void preserveMaskedOutSpace(StringBuilder result, CharSequence source, int tokenStart, int tokenEnd)
Replaces preprocessor directives and masked out source with whitespace. Retains newline characters. Note, a more efficient approach would involve only preserving newline chars for debug purposes and omitting masked out source. However, since javac determines compile error line numbers from the error offset into the original file, we must preserve the full length and structure of the original source.- Parameters:
result- The resulting preprocessed source.source- The original source.
-
execute
public abstract void execute(StringBuilder result, CharSequence source, boolean visible, Definitions definitions)
-
execute
public abstract void execute(List<SourceStatement> result, boolean visible, Definitions definitions)
-
hasPreprocessorDirectives
public abstract boolean hasPreprocessorDirectives()
-
-