Skip to content

Commit c3e1bc3

Browse files
authored
PersistedAssemblyBuilder missing methods on generated types (#109320)
1 parent 9970e70 commit c3e1bc3

File tree

5 files changed

+673
-19
lines changed

5 files changed

+673
-19
lines changed

src/libraries/System.Reflection.Emit/ref/System.Reflection.Emit.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,7 @@ public void DefineMethodOverride(System.Reflection.MethodInfo methodInfoBody, Sy
660660
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties)]
661661
public override System.Reflection.PropertyInfo[] GetProperties(System.Reflection.BindingFlags bindingAttr) { throw null; }
662662
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties)]
663-
protected override System.Reflection.PropertyInfo GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Type? returnType, System.Type[]? types, System.Reflection.ParameterModifier[]? modifiers) { throw null; }
663+
protected override System.Reflection.PropertyInfo? GetPropertyImpl(string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, System.Type? returnType, System.Type[]? types, System.Reflection.ParameterModifier[]? modifiers) { throw null; }
664664
protected override bool HasElementTypeImpl() { throw null; }
665665
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods | System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties)]
666666
public override object? InvokeMember(string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters) { throw null; }

src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/ModuleBuilderImpl.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,5 +1381,19 @@ protected override ISymbolDocumentWriter DefineDocumentCore(string url, Guid lan
13811381
{
13821382
return new SymbolDocumentWriter(url, language);
13831383
}
1384+
1385+
internal List<TypeBuilderImpl> GetNestedTypeBuilders(TypeBuilderImpl declaringType)
1386+
{
1387+
List<TypeBuilderImpl> nestedTypes = new List<TypeBuilderImpl>();
1388+
foreach (TypeBuilderImpl typeBuilder in _typeDefinitions)
1389+
{
1390+
if (typeBuilder.DeclaringType == declaringType)
1391+
{
1392+
nestedTypes.Add(typeBuilder);
1393+
}
1394+
}
1395+
1396+
return nestedTypes;
1397+
}
13841398
}
13851399
}

0 commit comments

Comments
 (0)