Resolve() public method

public Resolve ( CodeGen code_gen ) : PEAPI.FieldDef
code_gen CodeGen
return PEAPI.FieldDef
Example #1
0
        public PEAPI.Field ResolveField(string name, string type_name)
        {
            FieldDef fielddef = (FieldDef)global_field_table[new DictionaryEntry(name, type_name)];

            if (fielddef == null)
            {
                Report.Error(String.Format("Unable to resolve global field : {0} {1}", type_name, name));
            }

            return(fielddef.Resolve(this));
        }
Example #2
0
        public PEAPI.Field ResolveField(string name, BaseTypeRef ret_type, CodeGen code_gen)
        {
            FieldDef fielddef = (FieldDef)field_table[new DictionaryEntry(name, ret_type.FullName)];

            if (fielddef != null)
            {
                return(fielddef.Resolve(code_gen, classdef));
            }

            ExternTypeRef type_ref = code_gen.ThisModule.GetTypeRef(FullName, false);
            IFieldRef     fieldref = type_ref.GetFieldRef(ret_type, name);

            fieldref.Resolve(code_gen);

            return(fieldref.PeapiField);
        }