Package org.sonar.iac.terraform.parser
Class TreeFactory
- java.lang.Object
-
- org.sonar.iac.terraform.parser.TreeFactory
-
public class TreeFactory extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTreeFactory.Pair<T,U>static interfaceTreeFactory.PartialAccessstatic classTreeFactory.PartialAttributeAccessstatic classTreeFactory.PartialAttrSplatAccessstatic classTreeFactory.PartialConditionstatic classTreeFactory.PartialIndexAccessstatic classTreeFactory.PartialIndexSplatAccess
-
Constructor Summary
Constructors Constructor Description TreeFactory()
-
Method Summary
-
-
-
Method Detail
-
file
public FileTree file(com.sonar.sslr.api.typed.Optional<List<StatementTree>> statements, com.sonar.sslr.api.typed.Optional<SyntaxToken> spacing, SyntaxToken eof)
-
block
public BlockTree block(SyntaxToken type, com.sonar.sslr.api.typed.Optional<List<LabelTree>> labels, SyntaxToken openBrace, SyntaxToken newline, com.sonar.sslr.api.typed.Optional<List<StatementTree>> statements, SyntaxToken closeBrace)
-
oneLineBlock
public BlockTree oneLineBlock(SyntaxToken type, com.sonar.sslr.api.typed.Optional<List<LabelTree>> labels, SyntaxToken openBrace, com.sonar.sslr.api.typed.Optional<AttributeTree> attribute, SyntaxToken closeBrace)
-
label
public LabelTree label(SyntaxToken token)
-
numericLiteral
public LiteralExprTreeImpl numericLiteral(SyntaxToken token)
-
booleanLiteral
public LiteralExprTreeImpl booleanLiteral(SyntaxToken token)
-
nullLiteral
public LiteralExprTreeImpl nullLiteral(SyntaxToken token)
-
stringLiteral
public LiteralExprTreeImpl stringLiteral(SyntaxToken token)
-
templateStringLiteral
public LiteralExprTree templateStringLiteral(SyntaxToken token)
-
heredocLiteral
public LiteralExprTreeImpl heredocLiteral(SyntaxToken token)
-
attribute
public AttributeTree attribute(SyntaxToken key, SyntaxToken equalSign, ExpressionTree value)
-
object
public ObjectTree object(SyntaxToken openBrace, com.sonar.sslr.api.typed.Optional<SeparatedTrees<ObjectElementTree>> elements, SyntaxToken closeBrace)
-
objectElement
public ObjectElementTree objectElement(ExpressionTree key, SyntaxToken equalOrColonSign, ExpressionTree value)
-
objectElements
public SeparatedTrees<ObjectElementTree> objectElements(ObjectElementTree firstElement, com.sonar.sslr.api.typed.Optional<List<TreeFactory.Pair<SyntaxToken,ObjectElementTree>>> otherElements, com.sonar.sslr.api.typed.Optional<SyntaxTokenImpl> trailingComma)
-
partialAttributeAccess
public TreeFactory.PartialAttributeAccess partialAttributeAccess(SyntaxToken accessToken, SyntaxToken attribute)
-
variable
public VariableExprTree variable(SyntaxTokenImpl token)
-
tuple
public TupleTree tuple(SyntaxToken openbracket, com.sonar.sslr.api.typed.Optional<SeparatedTrees<ExpressionTree>> elements, SyntaxToken closeBracket)
-
tupleElements
public SeparatedTrees<ExpressionTree> tupleElements(ExpressionTree firstElement, com.sonar.sslr.api.typed.Optional<List<TreeFactory.Pair<SyntaxToken,ExpressionTree>>> otherElements, com.sonar.sslr.api.typed.Optional<SyntaxToken> trailingComma)
-
partialIndexAccess
public TreeFactory.PartialIndexAccess partialIndexAccess(SyntaxToken openBracket, ExpressionTree subject, SyntaxToken closeBracket)
-
expression
public ExpressionTree expression(ExpressionTree primary, com.sonar.sslr.api.typed.Optional<List<TreeFactory.PartialAccess>> optionalAccesses)
-
functionCall
public FunctionCallTree functionCall(SyntaxToken name, SyntaxToken openParenthesis, com.sonar.sslr.api.typed.Optional<SeparatedTrees<ExpressionTree>> arguments, SyntaxToken closeParenthesis)
-
functionCallArguments
public SeparatedTrees<ExpressionTree> functionCallArguments(ExpressionTree firstArgument, com.sonar.sslr.api.typed.Optional<List<TreeFactory.Pair<SyntaxToken,ExpressionTree>>> otherArguments, com.sonar.sslr.api.typed.Optional<SyntaxToken> trailingToken)
-
partialAttrSplatAccess
public TreeFactory.PartialAttrSplatAccess partialAttrSplatAccess(SyntaxToken token, SyntaxToken token1)
-
partialIndexSplatAccess
public TreeFactory.PartialIndexSplatAccess partialIndexSplatAccess(SyntaxToken openBracket, SyntaxToken star, SyntaxToken closeBracket)
-
forTuple
public ForTupleTree forTuple(SyntaxToken openBracket, AbstractForTree.ForIntro intro, ExpressionTree expression, com.sonar.sslr.api.typed.Optional<TreeFactory.Pair<SyntaxToken,ExpressionTree>> condition, SyntaxToken closeBracket)
-
forObject
public ForObjectTree forObject(SyntaxToken openBrace, AbstractForTree.ForIntro intro, ExpressionTree firstExpression, SyntaxToken arrow, ExpressionTree secondExpression, com.sonar.sslr.api.typed.Optional<SyntaxToken> ellipsis, com.sonar.sslr.api.typed.Optional<TreeFactory.Pair<SyntaxToken,ExpressionTree>> condition, SyntaxToken closeBrace)
-
forIntro
public AbstractForTree.ForIntro forIntro(SyntaxToken forToken, SeparatedTrees<VariableExprTree> identifiers, SyntaxToken inToken, ExpressionTree inExpression, SyntaxToken colonToken)
-
forIntroIdentifiers
public SeparatedTrees<VariableExprTree> forIntroIdentifiers(VariableExprTree first, com.sonar.sslr.api.typed.Optional<TreeFactory.Pair<SyntaxToken,VariableExprTree>> second)
-
condition
public TreeFactory.PartialAccess condition(SyntaxToken queryToken, ExpressionTree trueExpression, SyntaxToken colonToken, ExpressionTree falseExpression)
-
parenthesizedExpression
public ParenthesizedExpressionTree parenthesizedExpression(SyntaxToken openParenthesis, ExpressionTree expression, SyntaxToken closeParenthesis)
-
binaryExpression
public ExpressionTree binaryExpression(ExpressionTree firstExpression, com.sonar.sslr.api.typed.Optional<List<TreeFactory.Pair<SyntaxToken,ExpressionTree>>> zeroOrMore)
-
prefixExpression
public ExpressionTree prefixExpression(com.sonar.sslr.api.typed.Optional<List<SyntaxToken>> prefixes, ExpressionTree expression)
-
templateInterpolation
public TemplateInterpolationTree templateInterpolation(SyntaxToken token, ExpressionTree expression, SyntaxToken token1)
-
templateExpr
public ExpressionTree templateExpr(TerraformTree spacing, SyntaxToken openQuotes, List<ExpressionTree> oneOrMore, SyntaxToken closeQuotes)
-
templateIfDirective
public TemplateIfDirectiveTree templateIfDirective(TemplateIfDirectiveTreeImpl.IfPart ifPart, com.sonar.sslr.api.typed.Optional<TemplateIfDirectiveTreeImpl.ElsePart> elsePart, SyntaxToken endIfOpenToken, SyntaxToken endIfToken, SyntaxToken endIfCloseToken)
-
templateIfDirectiveElsePart
public TemplateIfDirectiveTreeImpl.ElsePart templateIfDirectiveElsePart(SyntaxToken elseOpenToken, SyntaxToken elseToken, SyntaxToken elseCloseToken, ExpressionTree elseExpression)
-
templateIfDirectiveIfPart
public TemplateIfDirectiveTreeImpl.IfPart templateIfDirectiveIfPart(SyntaxToken ifOpenToken, SyntaxToken ifToken, ExpressionTree condition, SyntaxToken ifCloseToken, ExpressionTree trueExpression)
-
templateForDirective
public TemplateForDirectiveTree templateForDirective(TemplateForDirectiveTreeImpl.Intro intro, ExpressionTree expression, SyntaxToken endForOpenToken, SyntaxToken endForToken, SyntaxToken endForCloseToken)
-
templateForDirectiveIntro
public TemplateForDirectiveTreeImpl.Intro templateForDirectiveIntro(SyntaxToken forOpenToken, SyntaxToken forToken, SeparatedTrees<VariableExprTree> loopVariables, SyntaxToken inToken, ExpressionTree loopExpression, SyntaxToken forCloseToken)
-
newPair
public <T,U> TreeFactory.Pair<T,U> newPair(T first, U second)
-
-