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 booleancontains(String path)intgetTopLineNumber()intgetTopStartPosition()booleanisEmpty()Optional<String>peek()Optional<String>pop()voidpush(String path, int lineNumber, int startPosition)voidpushWithMaxDepth(String path, int maxDepth, int lineNumber, int startPosition)voidpushWithoutCycleCheck(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()
-
-