public override ProvidedType GetNestedType()

in ReSharper.FSharp/src/FSharp/FSharp.TypeProviders.Protocol/src/Models/ProxyProvidedTypeWithContext.cs [79:182]


    public override ProvidedType GetNestedType(string nm) =>
      Create(myProvidedType.GetNestedType(nm), Context);

    public override ProvidedType[] GetNestedTypes() =>
      Create(myProvidedType.GetNestedTypes(), Context);

    public override ProvidedType[] GetAllNestedTypes() =>
      Create(myProvidedType.GetAllNestedTypes(), Context);

    public override ProvidedType GetGenericTypeDefinition() =>
      Create(myProvidedType.GetGenericTypeDefinition(), Context);

    public override ProvidedPropertyInfo[] GetProperties() =>
      ProxyProvidedPropertyInfoWithContext.Create(myProvidedType.GetProperties(), Context);

    public override ProvidedPropertyInfo GetProperty(string nm) =>
      ProxyProvidedPropertyInfoWithContext.Create(myProvidedType.GetProperty(nm), Context);

    public override int GetArrayRank() =>
      myProvidedType.GetArrayRank();

    public override ProvidedType GetElementType() =>
      Create(myProvidedType.GetElementType(), Context);

    public override ProvidedType[] GetGenericArguments() =>
      Create(myProvidedType.GetGenericArguments(), Context);

    public override ProvidedType GetEnumUnderlyingType() =>
      Create(myProvidedType.GetEnumUnderlyingType(), Context);

    public override ProvidedParameterInfo[] GetStaticParameters(ITypeProvider provider) =>
      ProxyProvidedParameterInfoWithContext.Create(myProvidedType.GetStaticParameters(provider), Context);

    public override ProvidedType ApplyStaticArguments(ITypeProvider provider, string[] fullTypePathAfterArguments,
      object[] staticArgs) =>
      Create(myProvidedType.ApplyStaticArguments(provider, fullTypePathAfterArguments, staticArgs), Context);

    public override ProvidedType[] GetInterfaces() =>
      Create(myProvidedType.GetInterfaces(), Context);

    public override ProvidedMethodInfo[] GetMethods() =>
      ProxyProvidedMethodInfoWithContext.Create(myProvidedType.GetMethods(), Context);

    public override ProvidedType MakeArrayType() => MakeArrayType(1);

    public override ProvidedType MakeArrayType(int rank) =>
      Create(myProvidedType.MakeArrayType(rank), Context);

    public override ProvidedType MakeGenericType(ProvidedType[] args) =>
      Create(myProvidedType.MakeGenericType(args), Context);

    public override ProvidedType MakePointerType() =>
      Create(myProvidedType.MakePointerType(), Context);

    public override ProvidedType MakeByRefType() =>
      Create(myProvidedType.MakeByRefType(), Context);

    public override ProvidedEventInfo[] GetEvents() =>
      ProxyProvidedEventInfoWithContext.Create(myProvidedType.GetEvents(), Context);

    public override ProvidedEventInfo GetEvent(string nm) =>
      ProxyProvidedEventInfoWithContext.Create(myProvidedType.GetEvent(nm), Context);

    public override ProvidedFieldInfo[] GetFields() =>
      ProxyProvidedFieldInfoWithContext.Create(myProvidedType.GetFields(), Context);

    public override ProvidedFieldInfo GetField(string nm) =>
      ProxyProvidedFieldInfoWithContext.Create(myProvidedType.GetField(nm), Context);

    public override ProvidedConstructorInfo[] GetConstructors() =>
      ProxyProvidedConstructorInfoWithContext.Create(myProvidedType.GetConstructors(), Context);

    public override ProvidedType ApplyContext(ProvidedTypeContext context) =>
      Create(myProvidedType, context);

    public override ProvidedAssembly Assembly => myProvidedType.Assembly;

    public override ProvidedVar AsProvidedVar(string nm) =>
      ProxyProvidedVar.Create(nm, false, this);

    public override FSharpOption<
        Tuple<FSharpList<FSharpOption<object>>, FSharpList<Tuple<string, FSharpOption<object>>>>>
      GetAttributeConstructorArgs(ITypeProvider tp, string attribName) =>
      myProvidedType.GetAttributeConstructorArgs(tp, attribName);

    public override FSharpOption<Tuple<string, int, int>> GetDefinitionLocationAttribute(ITypeProvider tp) =>
      myProvidedType.GetDefinitionLocationAttribute(tp);

    public override string[] GetXmlDocAttributes(ITypeProvider tp) =>
      myProvidedType.GetXmlDocAttributes(tp);

    public override bool GetHasTypeProviderEditorHideMethodsAttribute(ITypeProvider tp) =>
      myProvidedType.GetHasTypeProviderEditorHideMethodsAttribute(tp);

    public int EntityId => ProxyProvidedType.EntityId;
    public RdProvidedEntityType EntityType => ProxyProvidedType.EntityType;
    public RdCustomAttributeData[] Attributes => ProxyProvidedType.Attributes;

    public override bool Equals(object y) =>
      y switch
      {
        IProxyProvidedType x => x.EntityId == EntityId,
        _ => false
      };