コード例 #1
0
ファイル: Permission.cs プロジェクト: nobled/mono
                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;
                }
コード例 #2
0
        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);
        }