public override void EnterDeclaration([NotNull] CPP14Parser.DeclarationContext context) { var text = context.GetText(); Console.WriteLine($"Prototype: {text} "); in_params_list = false; function_def.specifiers = new List <string> (); function_def.ret_type_idx = 0; function_def.func_name = string.Empty; function_def.parameters = new List <Api_Param> (); } // End EnterDeclaration
public override void ExitDeclaration([NotNull] CPP14Parser.DeclarationContext context) { Console.WriteLine(); // // Display the prototype using what we parsed // foreach (string sc in function_def.specifiers) { Console.WriteLine(sc); } Console.WriteLine(function_def.func_name); Console.WriteLine("\t("); foreach (Api_Param p in function_def.parameters) { Console.Write($"\t"); if (p.is_input) { Console.Write("INPUT "); } if (p.is_output) { Console.Write("OUTPUT "); } Console.Write($"{p.type_qualifier} {p.type} "); foreach (string s in p.storage_class) { Console.Write($"{s} "); } Console.WriteLine($"{p.param_name}"); } Console.WriteLine("\t);\n"); } // End ExitDeclaration