func printFunction(f *tp.Function, indLvl int) { printIndent("Name -> %v", indLvl, f.GetName()) printIndent("Description -> %v", indLvl, f.GetDescription()) printIndent("Filename -> %v", indLvl, f.GetFilename()) printIndent("Line Number -> %v", indLvl, f.GetLineNumber()) printIndent("Namespace -> %v", indLvl, f.GetNamespace()) printIndent("Scope Type Id -> %v", indLvl, f.GetScopeTypeId()) printIndent("Scope Type -> %v", indLvl, f.GetScopeType()) printIndent("Return Type Id -> %v", indLvl, f.GetReturnTypeId()) printIndent("Return Type -> %v", indLvl, f.GetReturnType()) printIndent("Opens Type Id -> %v", indLvl, f.GetOpensTypeId()) printIndent("Opens Type -> %v", indLvl, f.GetOpensType()) printIndent("BuiltIn -> %v", indLvl, f.GetBuiltIn()) printIndent("Arguments:", indLvl) for ind, item := range f.GetArgs() { printIndent("Argument[%d] -> %v", indLvl, ind, item) } printIndent("Instruction:", indLvl) printInstruction(f.GetInstruction(), indLvl+1) }