refactor: change build property

上级 e37d065a
......@@ -57,7 +57,7 @@ func JSONFileBytesEqual(actualInterface interface{}, exceptFile string) (bool, e
contents, err := ioutil.ReadFile(exceptFile)
if err != nil {
return false, err
_ = ioutil.WriteFile(exceptFile, []byte(`{}`), 0644)
}
return JSONBytesEqual(actual, contents, exceptFile)
......
......@@ -5,5 +5,6 @@ type CodeProperty struct {
Name string
TypeName string
TypeType string
ReturnTypes []CodeProperty
Parameters []CodeProperty
}
......@@ -11,17 +11,10 @@ func AddStructType(currentStruct trial.CodeDataStruct, x *ast.StructType, curren
Type: "struct",
}
for _, field := range x.Fields.List {
typeName, typeType := BuildPropertyField(field)
property := trial.CodeProperty{
Modifiers: nil,
Name: getFieldName(field),
TypeType: typeType,
TypeName: typeName,
}
property := BuildPropertyField(getFieldName(field), field)
member.FileID = currentFile.FullName
currentStruct.Properties = append(currentStruct.Properties, property)
currentStruct.Properties = append(currentStruct.Properties, *property)
}
currentFile.Members = append(currentFile.Members, &member)
currentFile.DataStructures = append(currentFile.DataStructures, currentStruct)
}
......@@ -259,14 +259,8 @@ func GetMemberFromFile(file trial.CodeFile, recv string) *trial.CodeMember {
func BuildFieldToProperty(fieldList []*ast.Field) []trial.CodeProperty {
var properties []trial.CodeProperty
for _, field := range fieldList {
typeName, typeType := BuildPropertyField(field)
property := trial.CodeProperty{
Modifiers: nil,
Name: getFieldName(field),
TypeType: typeType,
TypeName: typeName,
}
properties = append(properties, property)
property := BuildPropertyField(getFieldName(field), field)
properties = append(properties, *property)
}
return properties
}
......@@ -278,7 +272,7 @@ func getFieldName(field *ast.Field) string {
return field.Names[0].Name
}
func BuildPropertyField(field *ast.Field) (string, string) {
func BuildPropertyField(name string, field *ast.Field) *trial.CodeProperty {
var typeName string
var typeType string
switch x := field.Type.(type) {
......@@ -306,7 +300,14 @@ func BuildPropertyField(field *ast.Field) (string, string) {
default:
fmt.Println("BuildPropertyField", reflect.TypeOf(x))
}
return typeName, typeType
property := &trial.CodeProperty{
Modifiers: nil,
Name: name,
TypeType: typeType,
TypeName: typeName,
}
return property
}
func getSelectorName(typeX ast.SelectorExpr) string {
......
......@@ -9,6 +9,8 @@
{
"Modifiers": null,
"Name": "Area",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "func",
"TypeType": "Function"
}
......@@ -22,6 +24,8 @@
{
"Modifiers": null,
"Name": "Volume",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "func",
"TypeType": "Function"
}
......@@ -35,12 +39,16 @@
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "Shape",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "Object",
"TypeType": "Identify"
}
......
......@@ -9,30 +9,40 @@
{
"Modifiers": null,
"Name": "FullName",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "PackageName",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "Imports",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "ArrayType"
},
{
"Modifiers": null,
"Name": "Members",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "CodeMember",
"TypeType": "ArrayType"
},
{
"Modifiers": null,
"Name": "ClassNodes",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "domain.JClassNode",
"TypeType": "ArrayType"
}
......@@ -49,9 +59,9 @@
"DataStructID": "CodeFile",
"FileID": "testdata/data_struct_property.code",
"ID": "",
"MethodNodes": null,
"Name": "",
"Namespace": null,
"MethodNodes": null,
"Position": {
"StartLine": 0,
"StartLinePosition": 0,
......
......@@ -25,6 +25,8 @@
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "\"hello, world\"",
"TypeType": "STRING"
}
......
......@@ -25,6 +25,8 @@
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "\"Hello World!\"",
"TypeType": "STRING"
}
......
......@@ -25,6 +25,8 @@
{
"Modifiers": null,
"Name": "code",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
}
......@@ -33,12 +35,16 @@
{
"Modifiers": null,
"Name": "code",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "parser.TypeScriptParser",
"TypeType": "Star"
}
......@@ -56,6 +62,8 @@
{
"Modifiers": null,
"Name": "is",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "antlr.CharStream",
"TypeType": ""
}
......@@ -64,12 +72,16 @@
{
"Modifiers": null,
"Name": "is",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "antlr.CharStream",
"TypeType": ""
},
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "parser.TypeScriptParser",
"TypeType": "Star"
}
......@@ -104,6 +116,8 @@
{
"Modifiers": null,
"Name": "code",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
}
......@@ -112,12 +126,16 @@
{
"Modifiers": null,
"Name": "code",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "parser.TypeScriptParser",
"TypeType": "Star"
}
......@@ -135,6 +153,8 @@
{
"Modifiers": null,
"Name": "is",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "antlr.CharStream",
"TypeType": ""
}
......@@ -143,12 +163,16 @@
{
"Modifiers": null,
"Name": "is",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "antlr.CharStream",
"TypeType": ""
},
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "parser.TypeScriptParser",
"TypeType": "Star"
}
......
......@@ -9,18 +9,24 @@
{
"Modifiers": null,
"Name": "work",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "func",
"TypeType": "Function"
},
{
"Modifiers": null,
"Name": "name",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "age",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "int32",
"TypeType": "Identify"
}
......
......@@ -9,18 +9,24 @@
{
"Modifiers": null,
"Name": "name",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "string",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "age",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "int",
"TypeType": "Identify"
},
{
"Modifiers": null,
"Name": "personfunc",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "func",
"TypeType": "Function"
}
......@@ -51,6 +57,8 @@
{
"Modifiers": null,
"Name": "",
"Parameters": null,
"ReturnTypes": null,
"TypeName": "\"Declared outside and invoked!!!\"",
"TypeType": "STRING"
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册