internal virtual object GetProtectionDomain() { #if STATIC_COMPILER || FIRST_PASS || STUB_GENERATOR return(null); #else if (protectionDomain == null) { java.net.URL codebase; try { codebase = new java.net.URL(assemblyLoader.Assembly.CodeBase); } catch (NotSupportedException) { // dynamic assemblies don't have a codebase codebase = null; } catch (java.net.MalformedURLException) { codebase = null; } java.security.Permissions permissions = new java.security.Permissions(); permissions.add(new java.security.AllPermission()); object pd = new java.security.ProtectionDomain(new java.security.CodeSource(codebase, (java.security.cert.Certificate[])null), permissions, (java.lang.ClassLoader)GetJavaClassLoader(), null); lock (this) { if (protectionDomain == null) { protectionDomain = pd; } } } return(protectionDomain); #endif }
// // GetExecutingAssembly // public static RuntimeAssembly GetExecutingAssembly( ref system.threading.StackCrawlMark stackMark) { java.security.ProtectionDomain domain = null; var stackTrace = (new java.lang.Throwable()).getStackTrace(); foreach (var stackElem in stackTrace) { var clsnm = stackElem.getClassName(); if (!clsnm.StartsWith("system.reflection.")) { domain = java.lang.Class.forName(clsnm)?.getProtectionDomain(); break; } } return((RuntimeAssembly)GetAssemblyForDomain(domain)); }
// // GetAssemblyForDomain // public static System.Reflection.Assembly GetAssemblyForDomain( java.security.ProtectionDomain domain) { if (domain == null) { throw new DllNotFoundException(); } var map = System.Threading.LazyInitializer .EnsureInitialized <java.util.concurrent.ConcurrentHashMap>( ref _DomainToAssemblyMap); var assembly = (RuntimeAssembly)map.get(domain); if (assembly == null) { var newAssembly = new RuntimeAssembly(domain); assembly = (RuntimeAssembly) map.putIfAbsent(domain, newAssembly) ?? newAssembly; } return(assembly); }
public PrivilegedActionAnonymousInnerClassHelper(AccessControlContext outerInstance, java.security.ProtectionDomain pd, Debug db) { this.OuterInstance = outerInstance; this.Pd = pd; this.Db = db; }
protected virtual global::java.lang.Class defineClass(java.lang.String arg0, java.nio.ByteBuffer arg1, java.security.ProtectionDomain arg2) { global::MonoJavaBridge.JNIEnv @__env = global::MonoJavaBridge.JNIEnv.ThreadEnv; if (!IsClrObject) { return(global::MonoJavaBridge.JavaBridge.WrapJavaObject(@__env.CallObjectMethod(this.JvmHandle, global::java.lang.ClassLoader._defineClass12895, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2))) as java.lang.Class); } else { return(global::MonoJavaBridge.JavaBridge.WrapJavaObject(@__env.CallNonVirtualObjectMethod(this.JvmHandle, global::java.lang.ClassLoader.staticClass, global::java.lang.ClassLoader._defineClass12895, global::MonoJavaBridge.JavaBridge.ConvertToValue(arg0), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg1), global::MonoJavaBridge.JavaBridge.ConvertToValue(arg2))) as java.lang.Class); } }
internal virtual object GetProtectionDomain() { #if STATIC_COMPILER || FIRST_PASS || STUB_GENERATOR return null; #else if (protectionDomain == null) { java.net.URL codebase; try { codebase = new java.net.URL(assemblyLoader.Assembly.CodeBase); } catch (NotSupportedException) { // dynamic assemblies don't have a codebase codebase = null; } catch (java.net.MalformedURLException) { codebase = null; } java.security.Permissions permissions = new java.security.Permissions(); permissions.add(new java.security.AllPermission()); object pd = new java.security.ProtectionDomain(new java.security.CodeSource(codebase, (java.security.cert.Certificate[])null), permissions, (java.lang.ClassLoader)GetJavaClassLoader(), null); lock (this) { if (protectionDomain == null) { protectionDomain = pd; } } } return protectionDomain; #endif }
// // // private RuntimeAssembly(java.security.ProtectionDomain domain) { JavaDomain = domain; }
protected internal System.Type defineClass(string name, java.nio.ByteBuffer b, java.security.ProtectionDomain protectionDomain) { throw new System.NotImplementedException(); }
protected internal System.Type defineClass(string className, byte[] classRep, int offset, int length, java.security.ProtectionDomain protectionDomain) { throw new System.NotImplementedException(); }