コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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++;
                }
            }
        }