Enum Class MacroBuilder
- All Implemented Interfaces:
Serializable,Comparable<MacroBuilder>,Constable
Runtime support for
macro {} method.- Since:
- 2.5.0
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum Constants -
Method Summary
Modifier and TypeMethodDescriptionstatic ASTNodegetMacroValue(BlockStatement closureBlock, boolean asIs) Extracts the value represented by a parsed macro closure.<T> TBuilds a macro value from source text using the conversion phase.<T> TBuilds a macro value from source text using the conversion phase.<T> Tmacro(CompilePhase compilePhase, boolean asIs, String source, List<Closure<Expression>> context, Class<T> resultClass) Builds a macro value from source text.<T> Tmacro(CompilePhase compilePhase, String source, List<Closure<Expression>> context, Class<T> resultClass) Builds a macro value from source text at the supplied compile phase.static MacroBuilderReturns the enum constant of this class with the specified name.static MacroBuilder[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
INSTANCE
Shared macro builder instance.
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
macro
Builds a macro value from source text using the conversion phase.- Type Parameters:
T- the expected result type- Parameters:
source- the source to parsecontext- the substitution closures used for$vplaceholdersresultClass- the expected result type- Returns:
- the built macro value
-
macro
public <T> T macro(boolean asIs, String source, List<Closure<Expression>> context, Class<T> resultClass) Builds a macro value from source text using the conversion phase.- Type Parameters:
T- the expected result type- Parameters:
asIs- whether to keep a single-statement closure as a blocksource- the source to parsecontext- the substitution closures used for$vplaceholdersresultClass- the expected result type- Returns:
- the built macro value
-
macro
public <T> T macro(CompilePhase compilePhase, String source, List<Closure<Expression>> context, Class<T> resultClass) Builds a macro value from source text at the supplied compile phase.- Type Parameters:
T- the expected result type- Parameters:
compilePhase- the phase to use when parsing the sourcesource- the source to parsecontext- the substitution closures used for$vplaceholdersresultClass- the expected result type- Returns:
- the built macro value
-
macro
public <T> T macro(CompilePhase compilePhase, boolean asIs, String source, List<Closure<Expression>> context, Class<T> resultClass) Builds a macro value from source text.- Type Parameters:
T- the expected result type- Parameters:
compilePhase- the phase to use when parsing the source, ornullfor conversionasIs- whether to keep a single-statement closure as a blocksource- the source to parsecontext- the substitution closures used for$vplaceholdersresultClass- the expected result type- Returns:
- the built macro value
-
getMacroValue
Extracts the value represented by a parsed macro closure.- Parameters:
closureBlock- the parsed closure blockasIs- whether to keep a single-statement closure as a block- Returns:
- the resulting AST node
-