Function section ouputs now print complex initialization values

This commit is contained in:
Sasha Koshka 2022-09-13 11:02:24 -04:00
parent dbd0eb570d
commit 389c9a313c

View File

@ -442,11 +442,25 @@ func (block Block) ToString (indent int) (output string) {
return return
} }
func (funcOutput FuncOutput) ToString () (output string) { func (funcOutput FuncOutput) ToString (indent int) (output string) {
output += funcOutput.Declaration.ToString() output += doIndent(indent + 1, "< ", funcOutput.Declaration.ToString())
if funcOutput.value.kind != ArgumentKindNil {
isComplexInitialization :=
funcOutput.value.kind == ArgumentKindObjectInitializationValues ||
funcOutput.value.kind == ArgumentKindArrayInitializationValues
if !isComplexInitialization && funcOutput.value.value != nil {
output += " " + funcOutput.value.ToString(0, false) output += " " + funcOutput.value.ToString(0, false)
} }
output += "\n"
for _, member := range funcOutput.what.members {
output += member.ToString(indent + 1)
}
if isComplexInitialization {
output += funcOutput.value.ToString(indent + 1, true)
}
return return
} }