public abstract static class JavacSingularsRecipes.JavacSingularizer extends Object
| Constructor and Description |
|---|
JavacSingularizer() |
| Modifier and Type | Method and Description |
|---|---|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
addTypeArgs(int count,
boolean addExtends,
JavacNode node,
com.sun.tools.javac.tree.JCTree.JCExpression type,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> typeArgs,
com.sun.tools.javac.tree.JCTree source)
Adds the requested number of type arguments to the provided type, copying each argument in
typeArgs. |
abstract void |
appendBuildCode(JavacSingularsRecipes.SingularData data,
JavacNode builderType,
com.sun.tools.javac.tree.JCTree source,
com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree.JCStatement> statements,
com.sun.tools.javac.util.Name targetVariableName) |
void |
appendCleaningCode(JavacSingularsRecipes.SingularData data,
JavacNode builderType,
com.sun.tools.javac.tree.JCTree source,
com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree.JCStatement> statements) |
boolean |
checkForAlreadyExistingNodesAndGenerateError(JavacNode builderType,
JavacSingularsRecipes.SingularData data)
Checks if any of the to-be-generated nodes (fields, methods) already exist.
|
protected com.sun.tools.javac.tree.JCTree.JCExpression |
cloneParamType(int index,
lombok.javac.JavacTreeMaker maker,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> typeArgs,
JavacNode builderType,
com.sun.tools.javac.tree.JCTree source) |
protected com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> |
createTypeArgs(int count,
boolean addExtends,
JavacNode node,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> typeArgs,
com.sun.tools.javac.tree.JCTree source) |
abstract List<JavacNode> |
generateFields(JavacSingularsRecipes.SingularData data,
JavacNode builderType,
com.sun.tools.javac.tree.JCTree source) |
abstract void |
generateMethods(JavacSingularsRecipes.SingularData data,
boolean deprecate,
JavacNode builderType,
com.sun.tools.javac.tree.JCTree source,
boolean fluent,
boolean chain) |
protected com.sun.tools.javac.tree.JCTree.JCExpression |
getSize(lombok.javac.JavacTreeMaker maker,
JavacNode builderType,
com.sun.tools.javac.util.Name name,
boolean nullGuard,
boolean parens)
Generates 'this.name.size()' as an expression; if nullGuard is true, it's this.name == null ? 0 : this.name.size().
|
abstract lombok.core.LombokImmutableList<String> |
getSupportedTypes() |
List<com.sun.tools.javac.util.Name> |
listFieldsToBeGenerated(JavacSingularsRecipes.SingularData data,
JavacNode builderType) |
List<com.sun.tools.javac.util.Name> |
listMethodsToBeGenerated(JavacSingularsRecipes.SingularData data,
JavacNode builderType) |
protected com.sun.tools.javac.tree.JCTree.JCModifiers |
makeMods(lombok.javac.JavacTreeMaker maker,
JavacNode node,
boolean deprecate) |
boolean |
requiresCleaning() |
public abstract lombok.core.LombokImmutableList<String> getSupportedTypes()
protected com.sun.tools.javac.tree.JCTree.JCModifiers makeMods(lombok.javac.JavacTreeMaker maker,
JavacNode node,
boolean deprecate)
public boolean checkForAlreadyExistingNodesAndGenerateError(JavacNode builderType, JavacSingularsRecipes.SingularData data)
public List<com.sun.tools.javac.util.Name> listFieldsToBeGenerated(JavacSingularsRecipes.SingularData data, JavacNode builderType)
public List<com.sun.tools.javac.util.Name> listMethodsToBeGenerated(JavacSingularsRecipes.SingularData data, JavacNode builderType)
public abstract List<JavacNode> generateFields(JavacSingularsRecipes.SingularData data, JavacNode builderType, com.sun.tools.javac.tree.JCTree source)
public abstract void generateMethods(JavacSingularsRecipes.SingularData data, boolean deprecate, JavacNode builderType, com.sun.tools.javac.tree.JCTree source, boolean fluent, boolean chain)
public abstract void appendBuildCode(JavacSingularsRecipes.SingularData data, JavacNode builderType, com.sun.tools.javac.tree.JCTree source, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree.JCStatement> statements, com.sun.tools.javac.util.Name targetVariableName)
public boolean requiresCleaning()
public void appendCleaningCode(JavacSingularsRecipes.SingularData data, JavacNode builderType, com.sun.tools.javac.tree.JCTree source, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree.JCStatement> statements)
protected com.sun.tools.javac.tree.JCTree.JCExpression addTypeArgs(int count,
boolean addExtends,
JavacNode node,
com.sun.tools.javac.tree.JCTree.JCExpression type,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> typeArgs,
com.sun.tools.javac.tree.JCTree source)
typeArgs. If typeArgs is too long, the extra elements are ignored.
If typeArgs is null or too short, java.lang.Object will be substituted for each missing type argument.count - The number of type arguments requested.addExtends - If true, all bounds are either '? extends X' or just '?'. If false, the reverse is applied, and '? extends Foo' is converted to Foo, '?' to Object, etc.node - Some node in the same AST. Just used to obtain makers and contexts and such.type - The type to add generics to.typeArgs - the list of type args to clone.source - The source annotation that is the root cause of this code generation.protected com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> createTypeArgs(int count,
boolean addExtends,
JavacNode node,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> typeArgs,
com.sun.tools.javac.tree.JCTree source)
protected com.sun.tools.javac.tree.JCTree.JCExpression getSize(lombok.javac.JavacTreeMaker maker,
JavacNode builderType,
com.sun.tools.javac.util.Name name,
boolean nullGuard,
boolean parens)
protected com.sun.tools.javac.tree.JCTree.JCExpression cloneParamType(int index,
lombok.javac.JavacTreeMaker maker,
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCExpression> typeArgs,
JavacNode builderType,
com.sun.tools.javac.tree.JCTree source)
Copyright © 2009-2015 The Project Lombok Authors, licensed under the MIT licence.