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 StringgetName()Deprecated.Return name of this Velocimacro.StringgetScopeName()Deprecated.Override to always return "macro".intgetType()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:
getScopeNamein classDirective- Returns:
- the name to be used when a scope control is provided for this directive.
-
-