PR Feedback
authorSantiago Fernandez Madero <safern@microsoft.com>
Tue, 4 Jun 2019 21:09:50 +0000 (14:09 -0700)
committerSantiago Fernandez Madero <safern@microsoft.com>
Tue, 4 Jun 2019 21:09:50 +0000 (14:09 -0700)
Commit migrated from https://github.com/dotnet/coreclr/commit/30402ab51681ee7d256a69acff6c0529d7eb4c6c

13 files changed:
src/coreclr/src/System.Private.CoreLib/src/System/AppContext.CoreCLR.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/Emit/DynamicMethod.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/Emit/MethodBuilder.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/Emit/MethodBuilderInstantiation.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/Emit/ModuleBuilder.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/Emit/XXXOnTypeBuilderInstantiation.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/RuntimeAssembly.cs
src/coreclr/src/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.cs
src/coreclr/src/vm/runtimehandles.cpp
src/libraries/System.Private.CoreLib/src/System/AppContext.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/MethodInfo.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/ParameterInfo.cs
src/libraries/System.Private.CoreLib/src/System/String.Manipulation.cs

index 84313e3..572653e 100644 (file)
@@ -17,13 +17,13 @@ namespace System
             }
         }
 
-        private static string? GetBaseDirectoryCore()
+        private static string GetBaseDirectoryCore()
         {
             // Fallback path for hosts that do not set APP_CONTEXT_BASE_DIRECTORY explicitly
             string? directory = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location);
             if (directory != null && !Path.EndsInDirectorySeparator(directory))
                 directory += Path.DirectorySeparatorChar;
-            return directory;
+            return directory ?? string.Empty;
         }
     }
 }
index 9b3fab3..9901d9c 100644 (file)
@@ -492,7 +492,7 @@ namespace System.Reflection.Emit
 
         public override Type ReturnType { get { return m_dynMethod.ReturnType; } }
 
-        public override ParameterInfo? ReturnParameter { get { return m_dynMethod.ReturnParameter; } }
+        public override ParameterInfo ReturnParameter { get { return m_dynMethod.ReturnParameter; } }
 
         public override ICustomAttributeProvider ReturnTypeCustomAttributes { get { return m_dynMethod.ReturnTypeCustomAttributes; } }
 
@@ -714,9 +714,9 @@ namespace System.Reflection.Emit
                 }
             }
 
-            public override ParameterInfo? ReturnParameter
+            public override ParameterInfo ReturnParameter
             {
-                get { return null; }
+                get { return new RuntimeParameterInfo(this, null, m_owner.m_returnType, -1); }
             }
 
             public override ICustomAttributeProvider ReturnTypeCustomAttributes
index 51f30ab..29fbc8e 100644 (file)
@@ -599,7 +599,7 @@ namespace System.Reflection.Emit
             return rmi.GetParameters();
         }
 
-        public override ParameterInfo? ReturnParameter
+        public override ParameterInfo ReturnParameter
         {
             get
             {
index 00c5412..458ed26 100644 (file)
@@ -96,7 +96,7 @@ namespace System.Reflection.Emit
             }
         }
 
-        public override ParameterInfo? ReturnParameter { get { throw new NotSupportedException(); } }
+        public override ParameterInfo ReturnParameter { get { throw new NotSupportedException(); } }
         public override ICustomAttributeProvider ReturnTypeCustomAttributes { get { throw new NotSupportedException(); } }
         public override MethodInfo GetBaseDefinition() { throw new NotSupportedException(); }
         #endregion
index f6911ea..042cf51 100644 (file)
@@ -1232,7 +1232,7 @@ namespace System.Reflection.Emit
                     {
                         sigHelp = SignatureHelper.GetMethodSigHelper(
                         this, method.CallingConvention, method.ReturnType,
-                        method.ReturnParameter!.GetRequiredCustomModifiers(), method.ReturnParameter.GetOptionalCustomModifiers(),
+                        method.ReturnParameter.GetRequiredCustomModifiers(), method.ReturnParameter.GetOptionalCustomModifiers(),
                         parameterTypes, requiredCustomModifiers, optionalCustomModifiers);
                     }
                     catch (NotImplementedException)
index 750c3e8..532accb 100644 (file)
@@ -75,7 +75,7 @@ namespace System.Reflection.Emit
 
         #region Public Abstract\Virtual Members
         public override Type ReturnType { get { return m_method.ReturnType; } }
-        public override ParameterInfo? ReturnParameter { get { throw new NotSupportedException(); } }
+        public override ParameterInfo ReturnParameter { get { throw new NotSupportedException(); } }
         public override ICustomAttributeProvider ReturnTypeCustomAttributes { get { throw new NotSupportedException(); } }
         public override MethodInfo GetBaseDefinition() { throw new NotSupportedException(); }
         #endregion    
index 9239b12..8c60a92 100644 (file)
@@ -104,13 +104,10 @@ namespace System.Reflection
                     null); // strong name key pair
 
             Module manifestModule = ManifestModule;
-            if (manifestModule != null)
+            if (manifestModule.MDStreamVersion > 0x10000)
             {
-                if (manifestModule.MDStreamVersion > 0x10000)
-                {
-                    manifestModule.GetPEKind(out PortableExecutableKinds pek, out ImageFileMachine ifm);
-                    an.SetProcArchIndex(pek, ifm);
-                }
+                manifestModule.GetPEKind(out PortableExecutableKinds pek, out ImageFileMachine ifm);
+                an.SetProcArchIndex(pek, ifm);
             }
             return an;
         }
index 4378c49..84546a9 100644 (file)
@@ -520,9 +520,7 @@ namespace System.Reflection
             get { return ReturnParameter; }
         }
 
-#pragma warning disable CS6809 // TODO-NULLABLE: Covariant return types (https://github.com/dotnet/roslyn/issues/23268)
         public override ParameterInfo ReturnParameter => FetchReturnParameter();
-#pragma warning restore CS6809
 
         public override bool IsCollectible => (RuntimeMethodHandle.GetIsCollectible(new RuntimeMethodHandleInternal(m_handle)) != Interop.BOOL.FALSE);
 
index 7d18e7a..c22be0f 100644 (file)
@@ -2754,9 +2754,6 @@ FCIMPL1(ReflectModuleBaseObject*, AssemblyHandle::GetManifestModule, AssemblyBas
     DomainAssembly *pAssembly = refAssembly->GetDomainAssembly();
     Assembly* currentAssembly = pAssembly->GetCurrentAssembly();
 
-    if (currentAssembly == NULL)
-        return NULL;
-
     Module *pModule = currentAssembly->GetManifestModule();
     DomainFile * pDomainFile = pModule->GetDomainFile();
 
index 730b630..7582301 100644 (file)
@@ -24,7 +24,7 @@ namespace System
                 // The value of APP_CONTEXT_BASE_DIRECTORY key has to be a string and it is not allowed to be any other type. 
                 // Otherwise the caller will get invalid cast exception
                 return (string?)GetData("APP_CONTEXT_BASE_DIRECTORY") ??
-                    (s_defaultBaseDirectory ?? (s_defaultBaseDirectory = GetBaseDirectoryCore())) ?? string.Empty;
+                    s_defaultBaseDirectory ?? (s_defaultBaseDirectory = GetBaseDirectoryCore());
             }
         }
 
index 5a04921..3624475 100644 (file)
@@ -12,7 +12,7 @@ namespace System.Reflection
 
         public override MemberTypes MemberType => MemberTypes.Method;
 
-        public virtual ParameterInfo? ReturnParameter { get { throw NotImplemented.ByDesign; } }
+        public virtual ParameterInfo ReturnParameter { get { throw NotImplemented.ByDesign; } }
         public virtual Type ReturnType { get { throw NotImplemented.ByDesign; } }
 
         public override Type[] GetGenericArguments() { throw new NotSupportedException(SR.NotSupported_SubclassOverride); }
index 4ad145d..eb0692e 100644 (file)
@@ -69,7 +69,7 @@ namespace System.Reflection
                     if (PositionImpl == -1)
                     {
                         if (MemberImpl.MemberType == MemberTypes.Method)
-                            return ((MethodInfo)MemberImpl).ReturnParameter!;
+                            return ((MethodInfo)MemberImpl).ReturnParameter;
                         else
                             throw new SerializationException(SR.Serialization_BadParameterInfo);
                     }
index 1cd2b74..564fca0 100644 (file)
@@ -1696,10 +1696,7 @@ namespace System
         }
 
         // Creates a copy of this string in lower case.  The culture is set by culture.
-        public string ToLower()
-        {
-            return CultureInfo.CurrentCulture.TextInfo.ToLower(this);
-        }
+        public string ToLower() => ToLower(null);
 
         // Creates a copy of this string in lower case.  The culture is set by culture.
         public string ToLower(CultureInfo? culture)
@@ -1714,10 +1711,7 @@ namespace System
             return CultureInfo.InvariantCulture.TextInfo.ToLower(this);
         }
 
-        public string ToUpper()
-        {
-            return CultureInfo.CurrentCulture.TextInfo.ToUpper(this);
-        }
+        public string ToUpper() => ToUpper(null);
 
         // Creates a copy of this string in upper case.  The culture is set by culture.
         public string ToUpper(CultureInfo? culture)