MCPcopy Create free account
hub / github.com/microsoft/typescript-go / resolveStructuredTypeMembers

Method resolveStructuredTypeMembers

internal/checker/checker.go:18967–18994  ·  view source on GitHub ↗
(t *Type)

Source from the content-addressed store, hash-verified

18965}
18966
18967func (c *Checker) resolveStructuredTypeMembers(t *Type) *StructuredType {
18968 if t.objectFlags&ObjectFlagsMembersResolved == 0 {
18969 switch {
18970 case t.flags&TypeFlagsObject != 0:
18971 switch {
18972 case t.objectFlags&ObjectFlagsReference != 0:
18973 c.resolveTypeReferenceMembers(t)
18974 case t.objectFlags&ObjectFlagsClassOrInterface != 0:
18975 c.resolveClassOrInterfaceMembers(t)
18976 case t.objectFlags&ObjectFlagsReverseMapped != 0:
18977 c.resolveReverseMappedTypeMembers(t)
18978 case t.objectFlags&ObjectFlagsAnonymous != 0:
18979 c.resolveAnonymousTypeMembers(t)
18980 case t.objectFlags&ObjectFlagsMapped != 0:
18981 c.resolveMappedTypeMembers(t)
18982 default:
18983 panic("Unhandled case in resolveStructuredTypeMembers")
18984 }
18985 case t.flags&TypeFlagsUnion != 0:
18986 c.resolveUnionTypeMembers(t)
18987 case t.flags&TypeFlagsIntersection != 0:
18988 c.resolveIntersectionTypeMembers(t)
18989 default:
18990 panic("Unhandled case in resolveStructuredTypeMembers")
18991 }
18992 }
18993 return t.AsStructuredType()
18994}
18995
18996func (c *Checker) resolveClassOrInterfaceMembers(t *Type) {
18997 c.resolveObjectTypeMembers(t, t, nil, nil)

Tested by

no test coverage detected