Class RuntimeMacro
- java.lang.Object
-
- net.sourceforge.pmd.lang.vm.directive.Directive
-
- net.sourceforge.pmd.lang.vm.directive.RuntimeMacro
-
- All Implemented Interfaces:
Cloneable
@Deprecated public class RuntimeMacro extends Directive
Deprecated.for removal in PMD 7.0.0This class acts as a proxy for potential macros. When the AST is built this class is inserted as a placeholder for the macro (whether or not the macro is actually defined). At render time we check whether there is a implementation for the macro call. If an implementation cannot be found the literal text is rendered.- Since:
- 1.6
-
-
Constructor Summary
Constructors Constructor Description RuntimeMacro(String macroName)
Deprecated.Create a RuntimeMacro instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description String
getName()
Deprecated.Return name of this Velocimacro.String
getScopeName()
Deprecated.Override to always return "macro".int
getType()
Deprecated.Velocimacros are always LINE type directives.-
Methods inherited from class net.sourceforge.pmd.lang.vm.directive.Directive
getColumn, getLine, getTemplateName, isScopeProvided, setLocation, setLocation
-
-
-
-
Constructor Detail
-
RuntimeMacro
public RuntimeMacro(String macroName)
Deprecated.Create a RuntimeMacro instance. Macro name and source template stored for later use.- Parameters:
macroName
- name of the macro
-
-
Method Detail
-
getName
public String getName()
Deprecated.Return name of this Velocimacro.
-
getScopeName
public String getScopeName()
Deprecated.Override to always return "macro". We don't want to use the macro name here, since when writing VTL that uses the scope, we are within a #macro call. The macro name will instead be used as the scope name when defining the body of a BlockMacro.- Overrides:
getScopeName
in classDirective
- Returns:
- the name to be used when a scope control is provided for this directive.
-
-