Class TemplateWriter
- java.lang.Object
-
- org.immutables.generator.processor.TreesTransformer
-
- org.immutables.generator.processor.TemplateWriter
-
public final class TemplateWriter extends TreesTransformer
This part is written with simples possible writer in mind. It was decided not to use dependencies like. Its is possible that in future it will be replaced with self bootstraping, i.e. template generator will be generated by the same framework which generates templates.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classTemplateWriter.Context(package private) classTemplateWriter.DispatchedTemplateLike(package private) classTemplateWriter.TemplateLike
-
Field Summary
Fields Modifier and Type Field Description private TemplateWriter.Contextcontextprivate SwissArmyKnifeknifeprivate java.lang.StringsimpleNameprivate javax.lang.model.element.TypeElementsourceElement
-
Constructor Summary
Constructors Constructor Description TemplateWriter(SwissArmyKnife knife, javax.lang.model.element.TypeElement sourceElement, java.lang.String simpleName)
-
Method Summary
-
Methods inherited from class org.immutables.generator.processor.TreesTransformer
asAccessExpression, asAccessExpression, asAccessExpression, asApplyExpression, asApplyExpressionParams, asAssignGeneratorDeclaration, asAssignGeneratorFrom, asBlock, asBlock, asBlock, asBlock, asBlock, asBlock, asBoundAccessExpressionAccessor, asBoundAccessExpressionAccessorElements, asBoundAccessExpressionPath, asBoundAccessExpressionPathElements, asConditionalBlock, asConditionalBlockCondition, asConditionalBlockParts, asConditionalBlockPartsElements, asElseIfCondition, asExpression, asExpression, asExpression, asExpression, asExpression, asForDeclaration, asForDeclarationElements, asForIterationAccessExpressionAccess, asForIterationAccessExpressionPath, asForIterationAccessExpressionPathElements, asForStatementDeclaration, asForStatementDeclarationElements, asForStatementParts, asForStatementPartsElements, asForStatementUseDelimit, asForStatementUseForAccess, asGeneratorDeclaration, asGeneratorDeclaration, asGeneratorDeclaration, asIdentifier, asIdentifierValue, asIfCondition, asIfStatementOtherwise, asIfStatementOtherwiseIf, asIfStatementOtherwiseIfElements, asIfStatementOtherwiseOptional, asIfStatementThen, asInvokableDeclaration, asInvokableDeclarationName, asInvokableDeclarationParameters, asInvokableDeclarationParametersElements, asInvokeAccess, asInvokeEndAccess, asInvokeInvoke, asInvokeInvokeOptional, asInvokeStatementAccess, asInvokeStatementParams, asInvokeStatementParts, asInvokeStatementPartsElements, asInvokeStringLiteral, asIterationGeneratorCondition, asIterationGeneratorConditionOptional, asIterationGeneratorDeclaration, asIterationGeneratorFrom, asLetDeclaration, asLetStatementDeclaration, asLetStatementParts, asLetStatementPartsElements, asParameter, asParameterName, asParameterType, asResolvedTypeType, asSimpleAccessExpressionPath, asSimpleAccessExpressionPathElements, asSimpleBlockParts, asSimpleBlockPartsElements, asStringLiteral, asStringLiteralValue, asTemplateDeclaration, asTemplateIsPublic, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplatePart, asTemplateParts, asTemplatePartsElements, asTextBlockParts, asTextBlockPartsElements, asTextFragment, asTextFragmentValue, asTextLineFragment, asTextLineNewline, asTextPart, asTextPart, asTransformGeneratorCondition, asTransformGeneratorConditionOptional, asTransformGeneratorDeclaration, asTransformGeneratorFrom, asTransformGeneratorTransform, asTransformGeneratorVarDeclaration, asTypeDeclarationKind, asTypeDeclarationType, asTypeIdentifier, asTypeIdentifierValue, asTypeReference, asTypeReference, asUnitPart, asUnitPart, asUnitParts, asUnitPartsElements, asValueDeclaration, asValueDeclarationContainedType, asValueDeclarationContainedTypeOptional, asValueDeclarationName, asValueDeclarationType, asValueDeclarationTypeOptional, toConditionalBlock, toElse, toElseIf, toFor, toForEnd, toForIterationAccessExpression, toIdentifier, toIf, toIfEnd, toInvoke, toInvokeEnd, toLet, toLetEnd, toNewline, toParameter, toResolvedType, toSimpleAccessExpression, toSimpleBlock, toTemplateEnd, toTextBlock, toTextFragment, toTypeDeclaration, toTypeIdentifier
-
-
-
-
Field Detail
-
sourceElement
private final javax.lang.model.element.TypeElement sourceElement
-
simpleName
private final java.lang.String simpleName
-
knife
private final SwissArmyKnife knife
-
context
private final TemplateWriter.Context context
-
-
Constructor Detail
-
TemplateWriter
public TemplateWriter(SwissArmyKnife knife, javax.lang.model.element.TypeElement sourceElement, java.lang.String simpleName)
-
-
Method Detail
-
toCharSequence
public java.lang.CharSequence toCharSequence(ImmutableTrees.Unit unit)
-
toUnit
public ImmutableTrees.Unit toUnit(ImmutableTrees.Unit value)
- Overrides:
toUnitin classTreesTransformer
-
writeTemplateDispatch
private void writeTemplateDispatch(TemplateWriter.Context context)
-
toTemplate
public ImmutableTrees.Template toTemplate(ImmutableTrees.Template template)
- Overrides:
toTemplatein classTreesTransformer
-
toLetStatement
public ImmutableTrees.LetStatement toLetStatement(ImmutableTrees.LetStatement statement)
- Overrides:
toLetStatementin classTreesTransformer
-
toForStatement
public ImmutableTrees.ForStatement toForStatement(ImmutableTrees.ForStatement statement)
- Overrides:
toForStatementin classTreesTransformer
-
toInvokeString
public ImmutableTrees.InvokeString toInvokeString(ImmutableTrees.InvokeString value)
- Overrides:
toInvokeStringin classTreesTransformer
-
toInvokeStatement
public ImmutableTrees.InvokeStatement toInvokeStatement(ImmutableTrees.InvokeStatement statement)
- Overrides:
toInvokeStatementin classTreesTransformer
-
asInvokeStatementParamsElements
protected java.lang.Iterable<Trees.Expression> asInvokeStatementParamsElements(ImmutableTrees.InvokeStatement value, java.util.List<Trees.Expression> collection)
- Overrides:
asInvokeStatementParamsElementsin classTreesTransformer
-
toAssignGenerator
public ImmutableTrees.AssignGenerator toAssignGenerator(ImmutableTrees.AssignGenerator generator)
- Overrides:
toAssignGeneratorin classTreesTransformer
-
toTransformGenerator
public ImmutableTrees.TransformGenerator toTransformGenerator(ImmutableTrees.TransformGenerator generator)
- Overrides:
toTransformGeneratorin classTreesTransformer
-
toIterationGenerator
public ImmutableTrees.IterationGenerator toIterationGenerator(ImmutableTrees.IterationGenerator generator)
- Overrides:
toIterationGeneratorin classTreesTransformer
-
toValueDeclaration
public ImmutableTrees.ValueDeclaration toValueDeclaration(ImmutableTrees.ValueDeclaration value)
- Overrides:
toValueDeclarationin classTreesTransformer
-
requiredResolvedTypeOfDeclaration
private java.lang.Object requiredResolvedTypeOfDeclaration(Trees.ValueDeclaration value)
-
toTextLine
public ImmutableTrees.TextLine toTextLine(ImmutableTrees.TextLine line)
- Overrides:
toTextLinein classTreesTransformer
-
toStringLiteral
public ImmutableTrees.StringLiteral toStringLiteral(ImmutableTrees.StringLiteral value)
- Overrides:
toStringLiteralin classTreesTransformer
-
toBoundAccessExpression
public ImmutableTrees.BoundAccessExpression toBoundAccessExpression(ImmutableTrees.BoundAccessExpression value)
- Overrides:
toBoundAccessExpressionin classTreesTransformer
-
toApplyExpression
public ImmutableTrees.ApplyExpression toApplyExpression(ImmutableTrees.ApplyExpression value)
- Overrides:
toApplyExpressionin classTreesTransformer
-
asApplyExpressionParamsElements
protected java.lang.Iterable<Trees.Expression> asApplyExpressionParamsElements(ImmutableTrees.ApplyExpression value, java.util.List<Trees.Expression> collection)
- Overrides:
asApplyExpressionParamsElementsin classTreesTransformer
-
writeConditionPart
private void writeConditionPart(ImmutableTrees.ConditionalBlock block)
-
toIfStatement
public ImmutableTrees.IfStatement toIfStatement(ImmutableTrees.IfStatement statement)
- Overrides:
toIfStatementin classTreesTransformer
-
toComment
public ImmutableTrees.Comment toComment(ImmutableTrees.Comment value)
- Overrides:
toCommentin classTreesTransformer
-
toInvokableDeclaration
public ImmutableTrees.InvokableDeclaration toInvokableDeclaration(ImmutableTrees.InvokableDeclaration value)
- Overrides:
toInvokableDeclarationin classTreesTransformer
-
-