Package com.hubspot.jinjava.interpret
Class CallStack
- java.lang.Object
-
- com.hubspot.jinjava.interpret.CallStack
-
public class CallStack extends Object
-
-
Constructor Summary
Constructors Constructor Description CallStack(CallStack parent, Class<? extends TagCycleException> exceptionClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(String path)
int
getTopLineNumber()
int
getTopStartPosition()
boolean
isEmpty()
Optional<String>
peek()
Optional<String>
pop()
void
push(String path, int lineNumber, int startPosition)
void
pushWithMaxDepth(String path, int maxDepth, int lineNumber, int startPosition)
void
pushWithoutCycleCheck(String path, int lineNumber, int startPosition)
This is added to allow for recursive macro calls.
-
-
-
Constructor Detail
-
CallStack
public CallStack(CallStack parent, Class<? extends TagCycleException> exceptionClass)
-
-
Method Detail
-
contains
public boolean contains(String path)
-
pushWithoutCycleCheck
public void pushWithoutCycleCheck(String path, int lineNumber, int startPosition)
This is added to allow for recursive macro calls. Adds the given path to the call stack without checking for a cycle.- Parameters:
path
- the path to be added.
-
pushWithMaxDepth
public void pushWithMaxDepth(String path, int maxDepth, int lineNumber, int startPosition)
-
push
public void push(String path, int lineNumber, int startPosition)
-
getTopLineNumber
public int getTopLineNumber()
-
getTopStartPosition
public int getTopStartPosition()
-
isEmpty
public boolean isEmpty()
-
-