private static void Lb_Insert(mcc.gnat_tools.xref.entity the_entity) { char[] Entity_Name = new char[the_entity.name_length]; for (int j = 0; j < Entity_Name.Length; j++) { Entity_Name[j] = (char)the_entity.name[j]; } if (new String(Entity_Name) != lastInserted) { lastInserted = new String(Entity_Name); Remember_Declarations.addDeclaration(lastInserted); } }
private static void Lb_Parameter_Insert(mcc.gnat_tools.xref.entity the_entity) { mcc.gnat_tools.xref.entity_list_package.node walk; mcc.gnat_tools.xref.entity param; int paramIndex; char[] Entity_Name = new char[the_entity.name_length]; for (int j = 0; j < Entity_Name.Length; j++) { Entity_Name[j] = (char)the_entity.name[j]; } if (new String(Entity_Name).ToLower() == procedureName) { if (the_entity.type_length > 0) { char[] Type_Name = new char[the_entity.type_length]; for (int j = 0; j < Type_Name.Length; j++) { Type_Name[j] = (char)the_entity.typ[j]; } rememberMethods.addFunction(displayProcedureName, new String(Type_Name)); } else { rememberMethods.addProcedure(displayProcedureName); } paramIndex = 0; walk = the_entity.parameters; while (walk != null) { param = mcc.gnat_tools.xref_pkg.entity_list_package_car(walk); char[] paramName = new char[param.name_length]; char[] paramType = new char[param.type_length]; string paramMode = ""; for (int j = 0; j < paramName.Length; j++) { paramName[j] = (char)param.name[j]; } for (int j = 0; j < paramType.Length; j++) { paramType[j] = (char)param.typ[j]; } if ((char)the_entity.param_modes[paramIndex] == '>') { paramMode = "in "; } else if ((char)the_entity.param_modes[paramIndex] == '<') { paramMode = "out "; } else if ((char)the_entity.param_modes[paramIndex] == '=') { paramMode = "in out "; } else if ((char)the_entity.param_modes[paramIndex] == '^') { paramMode = "access "; } rememberMethods.addParameter(new String(paramName) + " : " + paramMode + new String(paramType)); walk = mcc.gnat_tools.xref_pkg.entity_list_package_cdr(walk); paramIndex++; } } }