public PEAPI.Permission Resolve (CodeGen code_gen) { string fname; type_ref.Resolve (code_gen); if (type_ref is ExternTypeRef) { ExternAssembly ea = ((ExternTypeRef) type_ref).ExternRef as ExternAssembly; if (ea == null) //FIXME: module.. ? throw new NotImplementedException (); string name; ExternTypeRef etr = type_ref as ExternTypeRef; if (etr != null) name = etr.Name; else name = type_ref.FullName; fname = String.Format ("{0}, {1}", name, ea.AssemblyName.FullName); } else { fname = type_ref.FullName; } perm = new PEAPI.Permission (type_ref.PeapiType, fname); foreach (PermissionMember member in members) perm.AddMember (member.Resolve (code_gen)); return perm; }
public PEAPI.Permission Resolve(CodeGen code_gen) { string fname; type_ref.Resolve(code_gen); if (type_ref is ExternTypeRef) { ExternAssembly ea = ((ExternTypeRef)type_ref).ExternRef as ExternAssembly; if (ea == null) { //FIXME: module.. ? throw new NotImplementedException(); } string name; ExternTypeRef etr = type_ref as ExternTypeRef; if (etr != null) { name = etr.Name; } else { name = type_ref.FullName; } fname = String.Format("{0}, {1}", name, ea.AssemblyName.FullName); } else { fname = type_ref.FullName; } perm = new PEAPI.Permission(type_ref.PeapiType, fname); foreach (PermissionMember member in members) { perm.AddMember(member.Resolve(code_gen)); } return(perm); }