@@ -3639,28 +3639,25 @@ let rec ResolvePartialLongIdentInType (ncenv: NameResolver) nenv isApplicableMet
36393639| id:: rest->
36403640
36413641let rfinfos =
3642- ncenv.InfoReader.GetRecordOrClassFieldsOfType( None, ad, m, ty)
3643- |> List.filter( fun fref -> IsRecdFieldAccessible ncenv.amap m ad fref.RecdFieldRef)
3644- |> List.filter( fun fref -> fref.RecdField.IsStatic= statics)
3642+ ncenv.InfoReader.GetRecordOrClassFieldsOfType( None, ad, m, ty)
3643+ |> List.filter( fun fref -> fref.Name= id&& IsRecdFieldAccessible ncenv.amap m ad fref.RecdFieldRef&& fref.RecdField.IsStatic= statics)
36453644
36463645let nestedTypes =
36473646 ty
36483647|> GetNestedTypesOfType( ad, ncenv, Some id, TypeNameResolutionStaticArgsInfo.Indefinite, false , m)
36493648
36503649// e.g. <val-id>.<recdfield-id>.<more>
3651- ( rfinfos|> List.filter( fun x -> x.Name= id)
3652- |> List.collect( fun x -> x.FieldType|> ResolvePartialLongIdentInType ncenv nenv isApplicableMeth m adfalse rest)) @
3650+ ( rfinfos|> List.collect( fun x -> x.FieldType|> ResolvePartialLongIdentInType ncenv nenv isApplicableMeth m adfalse rest)) @
36533651
36543652// e.g. <val-id>.<property-id>.<more>
36553653let FullTypeOfPinfo ( pinfo : PropInfo ) =
3656- let rty = pinfo.GetPropertyType( amap, m)
3657- let rty = if pinfo.IsIndexerthen mkRefTupledTy g( pinfo.GetParamTypes( amap, m)) - -> rtyelse rty
3658- rty
3654+ let rty = pinfo.GetPropertyType( amap, m)
3655+ let rty = if pinfo.IsIndexerthen mkRefTupledTy g( pinfo.GetParamTypes( amap, m)) - -> rtyelse rty
3656+ rty
36593657
36603658( ty
36613659|> AllPropInfosOfTypeInScope ncenv.InfoReader nenv( Some id, ad) IgnoreOverrides m
3662- |> List.filter( fun x -> x.IsStatic= statics)
3663- |> List.filter( IsPropInfoAccessible g amap m ad)
3660+ |> List.filter( fun pinfo -> pinfo.IsStatic= statics&& IsPropInfoAccessible g amap m ad pinfo)
36643661|> List.collect( fun pinfo -> ( FullTypeOfPinfo pinfo) |> ResolvePartialLongIdentInType ncenv nenv isApplicableMeth m adfalse rest)) @
36653662
36663663// e.g. <val-id>.<event-id>.<more>
@@ -4294,16 +4291,14 @@ let rec ResolvePartialLongIdentInTypeForItem (ncenv: NameResolver) nenv m ad sta
42944291| id:: rest->
42954292
42964293let rfinfos =
4297- ncenv.InfoReader.GetRecordOrClassFieldsOfType( None, ad, m, ty)
4298- |> List.filter( fun fref -> IsRecdFieldAccessible ncenv.amap m ad fref.RecdFieldRef)
4299- |> List.filter( fun fref -> fref.RecdField.IsStatic= statics)
4294+ ncenv.InfoReader.GetRecordOrClassFieldsOfType( None, ad, m, ty)
4295+ |> List.filter( fun fref -> fref.Name= id&& IsRecdFieldAccessible ncenv.amap m ad fref.RecdFieldRef&& fref.RecdField.IsStatic= statics)
43004296
43014297let nestedTypes = ty|> GetNestedTypesOfType( ad, ncenv, Some id, TypeNameResolutionStaticArgsInfo.Indefinite, false , m)
43024298
43034299// e.g. <val-id>.<recdfield-id>.<more>
43044300for rfinfoin rfinfosdo
4305- if rfinfo.Name= idthen
4306- yield ! ResolvePartialLongIdentInTypeForItem ncenv nenv m adfalse rest item rfinfo.FieldType
4301+ yield ! ResolvePartialLongIdentInTypeForItem ncenv nenv m adfalse rest item rfinfo.FieldType
43074302
43084303// e.g. <val-id>.<property-id>.<more>
43094304let fullTypeOfPinfo ( pinfo : PropInfo ) =
@@ -4314,8 +4309,7 @@ let rec ResolvePartialLongIdentInTypeForItem (ncenv: NameResolver) nenv m ad sta
43144309let pinfos =
43154310 ty
43164311|> AllPropInfosOfTypeInScope ncenv.InfoReader nenv( Some id, ad) IgnoreOverrides m
4317- |> List.filter( fun x -> x.IsStatic= statics)
4318- |> List.filter( IsPropInfoAccessible g amap m ad)
4312+ |> List.filter( fun pinfo -> pinfo.IsStatic= statics&& IsPropInfoAccessible g amap m ad pinfo)
43194313
43204314for pinfoin pinfosdo
43214315yield ! ( fullTypeOfPinfo pinfo) |> ResolvePartialLongIdentInTypeForItem ncenv nenv m adfalse rest item