diff --git a/chapi-ast-java/src/main/kotlin/chapi/ast/javaast/JavaFullIdentListener.kt b/chapi-ast-java/src/main/kotlin/chapi/ast/javaast/JavaFullIdentListener.kt index 90874df3..366f8616 100644 --- a/chapi-ast-java/src/main/kotlin/chapi/ast/javaast/JavaFullIdentListener.kt +++ b/chapi-ast-java/src/main/kotlin/chapi/ast/javaast/JavaFullIdentListener.kt @@ -531,10 +531,12 @@ open class JavaFullIdentListener(fileName: String, val classes: Array) : } val typeTypeText = typeCtx.identifier(0).text - val typeValue = declCtx.variableDeclaratorId().identifier().text - fieldsMap[typeValue] = typeTypeText + val typeKey = declCtx.variableDeclaratorId().identifier().text + val typeValue = declCtx.variableInitializer()?.text ?: "" + + fieldsMap[typeKey] = typeTypeText - val field = CodeField(typeTypeText, typeValue, Modifiers = arrayOf(), Annotations = this.currentAnnotations) + val field = CodeField(typeTypeText, typeValue, typeKey, Modifiers = arrayOf(), Annotations = this.currentAnnotations) fields += field buildFieldCall(typeTypeText, ctx) diff --git a/chapi-ast-java/src/test/kotlin/chapi/ast/javaast/JavaFullIdentListenerTest.kt b/chapi-ast-java/src/test/kotlin/chapi/ast/javaast/JavaFullIdentListenerTest.kt index cc2aac64..12740037 100644 --- a/chapi-ast-java/src/test/kotlin/chapi/ast/javaast/JavaFullIdentListenerTest.kt +++ b/chapi-ast-java/src/test/kotlin/chapi/ast/javaast/JavaFullIdentListenerTest.kt @@ -113,6 +113,7 @@ package hello; public class JavaCallApp { private JavaDaoParser daoParser; + private String name = "abc"; public daoCall() { daoParser.Call(); @@ -123,9 +124,13 @@ public class JavaCallApp { val codeFile = JavaAnalyser().identFullInfo(code, "") println(codeFile.DataStructures[0].Fields.size) - assertEquals(codeFile.DataStructures[0].Fields.size, 1) + assertEquals(codeFile.DataStructures[0].Fields.size, 2) assertEquals(codeFile.DataStructures[0].Fields[0].TypeType, "JavaDaoParser") - assertEquals(codeFile.DataStructures[0].Fields[0].TypeValue, "daoParser") + assertEquals(codeFile.DataStructures[0].Fields[0].TypeKey, "daoParser") + + assertEquals(codeFile.DataStructures[0].Fields[1].TypeType, "String") + assertEquals(codeFile.DataStructures[0].Fields[1].TypeKey, "name") + assertEquals(codeFile.DataStructures[0].Fields[1].TypeValue, "\"abc\"") } @Test