Constructor and Description |
---|
RenderBlockMacro() |
Modifier and Type | Method and Description |
---|---|
Expression |
dereference(Template template,
Function<String,Emitter> blocks,
Expression[] args)
Replaces the call to this macro by an alternative expression if blocks are to be inlined.
|
Object |
eval(LocalRenderContext ctx,
Expression[] args)
Evaluates the macro at runtime.
|
String |
getDescription()
Provides a short description of what the macro does for documentation purposes.
|
String |
getName() |
Class<?> |
getType()
Returns the type of objects returned by this macro.
|
boolean |
isConstant(Expression[] args)
Determines if the macro is "constant" for the given parameter expressions.
|
void |
verifyArguments(List<Expression> args)
Verifies the arguments.
|
public Class<?> getType()
Macro
public void verifyArguments(List<Expression> args)
Macro
This is used to verify the type and count of arguments at compile time. If one or more arguments are invalid an
IllegalArgumentException
can be thrown.
verifyArguments
in interface Macro
args
- the expressions which will be passed in at runtime.public Object eval(LocalRenderContext ctx, Expression[] args)
Macro
Note that the arguments are still expressions and have to be evaluated on demand.
public boolean isConstant(Expression[] args)
Macro
isConstant
in interface Macro
args
- the arguments of the macro@Nonnull public String getName()
getName
in interface sirius.kernel.di.std.Named
public String getDescription()
Macro
getDescription
in interface Macro
public Expression dereference(Template template, Function<String,Emitter> blocks, Expression[] args)
Macro
dereference
in interface Macro
template
- the template for which the blocks are dereferencedblocks
- the translator which resolves a block name into an Emitter
args
- the macro argumentsCopyright © 2018. All rights reserved.