Package foundry.veil.lib.anarres.cpp
Class Macro
java.lang.Object
foundry.veil.lib.anarres.cpp.Macro
A macro object.
This encapsulates a name, an argument count, and a token stream
for replacement. The replacement token stream may contain the
extra tokens Token.M_ARG
and Token.M_STRING
.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a "paste" operator to the expansion of this macro.void
Adds a token to the expansion of this macro.int
getArgs()
Returns the number of arguments to this macro.getName()
Returns the name of this macro.Returns the Source from which this macro was parsed.getText()
boolean
Returns true if this is a function-like macro.boolean
Returns true if this is a variadic function-like macro.void
Sets the arguments to this macro.void
Sets the Source from which this macro was parsed.void
setVariadic
(boolean b) Sets the variadic flag on this Macro.toString()
-
Constructor Details
-
Macro
-
Macro
-
-
Method Details
-
setSource
Sets the Source from which this macro was parsed. -
getSource
Returns the Source from which this macro was parsed.This method may return null if the macro was not parsed from a regular file.
-
getName
Returns the name of this macro. -
setArgs
Sets the arguments to this macro. -
isFunctionLike
public boolean isFunctionLike()Returns true if this is a function-like macro. -
getArgs
public int getArgs()Returns the number of arguments to this macro. -
setVariadic
public void setVariadic(boolean b) Sets the variadic flag on this Macro. -
isVariadic
public boolean isVariadic()Returns true if this is a variadic function-like macro. -
addToken
Adds a token to the expansion of this macro. -
addPaste
Adds a "paste" operator to the expansion of this macro.A paste operator causes the next token added to be pasted to the previous token when the macro is expanded. It is an error for a macro to end with a paste token.
-
getText
-
toString
-