diff options
Diffstat (limited to 'javaparser-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/InitializeConstructorParametersStatementsGenerator.java')
-rw-r--r-- | javaparser-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/InitializeConstructorParametersStatementsGenerator.java | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/javaparser-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/InitializeConstructorParametersStatementsGenerator.java b/javaparser-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/InitializeConstructorParametersStatementsGenerator.java index e3e13bc02..32fe88fb1 100644 --- a/javaparser-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/InitializeConstructorParametersStatementsGenerator.java +++ b/javaparser-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/InitializeConstructorParametersStatementsGenerator.java @@ -3,7 +3,6 @@ package com.github.javaparser.generator.metamodel; import com.github.javaparser.ast.AllFieldsConstructor; import com.github.javaparser.ast.Node; import com.github.javaparser.ast.NodeList; -import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; import com.github.javaparser.ast.stmt.Statement; import java.lang.annotation.Annotation; @@ -11,39 +10,10 @@ import java.lang.reflect.Constructor; import java.lang.reflect.Field; import static com.github.javaparser.JavaParser.parseStatement; -import static com.github.javaparser.ast.Modifier.PUBLIC; import static com.github.javaparser.generator.metamodel.MetaModelGenerator.*; -import static com.github.javaparser.generator.utils.GeneratorUtils.*; +import static com.github.javaparser.utils.CodeGenerationUtils.*; public class InitializeConstructorParametersStatementsGenerator { - public void generate2(Class<?> nodeClass, Field field, ClassOrInterfaceDeclaration nodeMetaModelClass, String nodeMetaModelFieldName, NodeList<Statement> initializePropertyMetaModelsStatements) throws NoSuchMethodException { - - AstTypeAnalysis fieldAnalysis = new AstTypeAnalysis(nodeClass.getMethod(getter(field)).getGenericReturnType()); - - Class<?> fieldType = fieldAnalysis.innerType; - String typeName = fieldType.getTypeName().replace('$', '.'); - String propertyMetaModelFieldName = propertyMetaModelFieldName(field); - nodeMetaModelClass.addField("PropertyMetaModel", propertyMetaModelFieldName, PUBLIC); - String propertyInitializer = f("new PropertyMetaModel(%s, \"%s\", %s.class, %s, %s, %s, %s, %s)", - nodeMetaModelFieldName, - field.getName(), - typeName, - optionalOf(decapitalize(nodeMetaModelName(fieldType)), isNode(fieldType)), - fieldAnalysis.isOptional, - fieldAnalysis.isNodeList, - fieldAnalysis.isEnumSet, - fieldAnalysis.isSelfType); - String fieldSetting = f("%s.%s=%s;", nodeMetaModelFieldName, propertyMetaModelFieldName, propertyInitializer); - String fieldAddition = f("%s.getDeclaredPropertyMetaModels().add(%s.%s);", nodeMetaModelFieldName, nodeMetaModelFieldName, propertyMetaModelFieldName); - - initializePropertyMetaModelsStatements.add(parseStatement(fieldSetting)); - initializePropertyMetaModelsStatements.add(parseStatement(fieldAddition)); - } - - private String getter(Field field) { - return getterName(field.getType(), field.getName()); - } - public void generate(Class<? extends Node> nodeClass, NodeList<Statement> initializeConstructorParametersStatements) { Constructor<?> constructor = findAllFieldsConstructor(nodeClass); for (java.lang.reflect.Parameter parameter : constructor.getParameters()) { |