Beispiel #1
0
        public void ResolveTypes(ModuleDefn global, ModuleDefn m)
        {
            foreach (FieldInfo fi in GetInstanceFields())
            {
                if (fi.FieldType.Equals(typeof(HeronType)))
                {
                    HeronType t = fi.GetValue(this) as HeronType;
                    fi.SetValue(this, t.Resolve(global, m));
                }
                else if (fi.FieldType.Equals(typeof(VarDesc)))
                {
                    VarDesc vd = fi.GetValue(this) as VarDesc;
                    vd.ResolveTypes(global, m);
                }
            }

            foreach (Expression x in GetSubExpressions())
            {
                x.ResolveAllTypes(global, m);
            }
        }