Exemple #1
0
 public override string ToString()
 {
     string ret = null; ToString(m_typeNameBuilder, JitHelpers.GetStringHandleOnStack(ref ret)); return(ret);
 }
Exemple #2
0
        internal string?GetCodeBase(bool copiedName)
        {
            string?         codeBase        = null;
            RuntimeAssembly runtimeAssembly = this;

            GetCodeBase(JitHelpers.GetQCallAssemblyOnStack(ref runtimeAssembly), copiedName, JitHelpers.GetStringHandleOnStack(ref codeBase));
            return(codeBase);
        }
        private StrongName GenerateStrongNameEvidence()
        {
            byte[] array    = null;
            string name     = null;
            ushort major    = 0;
            ushort minor    = 0;
            ushort build    = 0;
            ushort revision = 0;

            AssemblyEvidenceFactory.GetStrongNameInformation(this.m_targetAssembly.GetNativeHandle(), JitHelpers.GetObjectHandleOnStack <byte[]>(ref array), JitHelpers.GetStringHandleOnStack(ref name), out major, out minor, out build, out revision);
            if (array == null || array.Length == 0)
            {
                return(null);
            }
            return(new StrongName(new StrongNamePublicKeyBlob(array), name, new Version((int)major, (int)minor, (int)build, (int)revision), this.m_targetAssembly));
        }
Exemple #4
0
        internal static string ConstructInstantiation(IRuntimeMethodInfo method, TypeNameFormatFlags format)
        {
            string result = null;

            RuntimeMethodHandle.ConstructInstantiation(RuntimeMethodHandle.EnsureNonNullMethodInfo(method), format, JitHelpers.GetStringHandleOnStack(ref result));
            return(result);
        }
Exemple #5
0
        internal static CultureInfo GetNeutralResourcesLanguage(Assembly a, ref UltimateResourceFallbackLocation fallbackLocation)
        {
            string s = (string)null;
            short  fallbackLocation1 = 0;

            if (ManifestBasedResourceGroveler.GetNeutralResourcesLanguageAttribute(((RuntimeAssembly)a).GetNativeHandle(), JitHelpers.GetStringHandleOnStack(ref s), out fallbackLocation1))
            {
                if ((int)fallbackLocation1 < 0 || (int)fallbackLocation1 > 1)
                {
                    throw new ArgumentException(Environment.GetResourceString("Arg_InvalidNeutralResourcesLanguage_FallbackLoc", (object)fallbackLocation1));
                }
                fallbackLocation = (UltimateResourceFallbackLocation)fallbackLocation1;
                try
                {
                    return(CultureInfo.GetCultureInfo(s));
                }
                catch (ArgumentException ex)
                {
                    if (a == typeof(object).Assembly)
                    {
                        return(CultureInfo.InvariantCulture);
                    }
                    throw new ArgumentException(Environment.GetResourceString("Arg_InvalidNeutralResourcesLanguage_Asm_Culture", (object)a.ToString(), (object)s), (Exception)ex);
                }
            }
            else
            {
                if (FrameworkEventSource.IsInitialized)
                {
                    FrameworkEventSource.Log.ResourceManagerNeutralResourceAttributeMissing(a);
                }
                fallbackLocation = UltimateResourceFallbackLocation.MainAssembly;
                return(CultureInfo.InvariantCulture);
            }
        }
 private static bool GetNeutralResourcesLanguageAttribute(Assembly assemblyHandle, ref string cultureName, out short fallbackLocation)
 {
     return(GetNeutralResourcesLanguageAttribute(((RuntimeAssembly)assemblyHandle).GetNativeHandle(),
                                                 JitHelpers.GetStringHandleOnStack(ref cultureName),
                                                 out fallbackLocation));
 }
        private StrongName GenerateStrongNameEvidence()
        {
            byte[] o            = (byte[])null;
            string s            = (string)null;
            ushort majorVersion = 0;
            ushort minorVersion = 0;
            ushort build        = 0;
            ushort revision     = 0;

            AssemblyEvidenceFactory.GetStrongNameInformation(this.m_targetAssembly.GetNativeHandle(), JitHelpers.GetObjectHandleOnStack <byte[]>(ref o), JitHelpers.GetStringHandleOnStack(ref s), out majorVersion, out minorVersion, out build, out revision);
            if (o == null || o.Length == 0)
            {
                return((StrongName)null);
            }
            return(new StrongName(new StrongNamePublicKeyBlob(o), s, new Version((int)majorVersion, (int)minorVersion, (int)build, (int)revision), (Assembly)this.m_targetAssembly));
        }
        internal static CultureInfo GetNeutralResourcesLanguage(Assembly a, ref UltimateResourceFallbackLocation fallbackLocation)
        {
#if FEATURE_LEGACYNETCF
            // Windows Phone 7.0/7.1 ignore NeutralResourceLanguage attribute and
            // defaults fallbackLocation to MainAssembly
            if (CompatibilitySwitches.IsAppEarlierThanWindowsPhone8)
            {
                fallbackLocation = UltimateResourceFallbackLocation.MainAssembly;
                return(CultureInfo.InvariantCulture);
            }
#endif

            Contract.Assert(a != null, "assembly != null");
            string cultureName = null;
            short  fallback    = 0;

#if MONO
            if (GetNeutralResourcesLanguageAttribute(a, ref cultureName, ref fallback))
            {
#else
            if (GetNeutralResourcesLanguageAttribute(((RuntimeAssembly)a).GetNativeHandle(),
                                                     JitHelpers.GetStringHandleOnStack(ref cultureName),
                                                     out fallback))
            {
#endif
                if ((UltimateResourceFallbackLocation)fallback < UltimateResourceFallbackLocation.MainAssembly || (UltimateResourceFallbackLocation)fallback > UltimateResourceFallbackLocation.Satellite)
                {
                    throw new ArgumentException(Environment.GetResourceString("Arg_InvalidNeutralResourcesLanguage_FallbackLoc", fallback));
                }
                fallbackLocation = (UltimateResourceFallbackLocation)fallback;
            }
            else
            {
#if !FEATURE_CORECLR && !MONO
                if (FrameworkEventSource.IsInitialized)
                {
                    FrameworkEventSource.Log.ResourceManagerNeutralResourceAttributeMissing(a);
                }
#endif
                fallbackLocation = UltimateResourceFallbackLocation.MainAssembly;
                return(CultureInfo.InvariantCulture);
            }

            try
            {
                CultureInfo c = CultureInfo.GetCultureInfo(cultureName);
                return(c);
            }
            catch (ArgumentException e)
            { // we should catch ArgumentException only.
                // Note we could go into infinite loops if mscorlib's
                // NeutralResourcesLanguageAttribute is mangled.  If this assert
                // fires, please fix the build process for the BCL directory.
                if (a == typeof(Object).Assembly)
                {
                    Contract.Assert(false, "mscorlib's NeutralResourcesLanguageAttribute is a malformed culture name! name: \"" + cultureName + "\"  Exception: " + e);
                    return(CultureInfo.InvariantCulture);
                }

                throw new ArgumentException(Environment.GetResourceString("Arg_InvalidNeutralResourcesLanguage_Asm_Culture", a.ToString(), cultureName), e);
            }
        }
Exemple #9
0
        public override ManifestResourceInfo GetManifestResourceInfo(string resourceName)
        {
            RuntimeAssembly o = null;
            string          s = null;
            StackCrawlMark  lookForMyCaller = StackCrawlMark.LookForMyCaller;
            int             num             = GetManifestResourceInfo(this.GetNativeHandle(), resourceName, JitHelpers.GetObjectHandleOnStack <RuntimeAssembly>(ref o), JitHelpers.GetStringHandleOnStack(ref s), JitHelpers.GetStackCrawlMarkHandle(ref lookForMyCaller));

            if (num == -1)
            {
                return(null);
            }
            return(new ManifestResourceInfo(o, s, (ResourceLocation)num));
        }
Exemple #10
0
        internal static CultureInfo GetNeutralResourcesLanguage(Assembly a, ref UltimateResourceFallbackLocation fallbackLocation)
        {
            string text = null;
            short  num  = 0;

            if (!ManifestBasedResourceGroveler.GetNeutralResourcesLanguageAttribute(((RuntimeAssembly)a).GetNativeHandle(), JitHelpers.GetStringHandleOnStack(ref text), out num))
            {
                if (FrameworkEventSource.IsInitialized)
                {
                    FrameworkEventSource.Log.ResourceManagerNeutralResourceAttributeMissing(a);
                }
                fallbackLocation = UltimateResourceFallbackLocation.MainAssembly;
                return(CultureInfo.InvariantCulture);
            }
            if (num < 0 || num > 1)
            {
                throw new ArgumentException(Environment.GetResourceString("Arg_InvalidNeutralResourcesLanguage_FallbackLoc", new object[]
                {
                    num
                }));
            }
            fallbackLocation = (UltimateResourceFallbackLocation)num;
            CultureInfo result;

            try
            {
                CultureInfo cultureInfo = CultureInfo.GetCultureInfo(text);
                result = cultureInfo;
            }
            catch (ArgumentException innerException)
            {
                if (!(a == typeof(object).Assembly))
                {
                    throw new ArgumentException(Environment.GetResourceString("Arg_InvalidNeutralResourcesLanguage_Asm_Culture", new object[]
                    {
                        a.ToString(),
                        text
                    }), innerException);
                }
                result = CultureInfo.InvariantCulture;
            }
            return(result);
        }