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

Method createTypeReferenceEx

internal/checker/checker.go:25015–25027  ·  view source on GitHub ↗
(target *Type, typeArguments []*Type, objectFlags ObjectFlags)

Source from the content-addressed store, hash-verified

25013}
25014
25015func (c *Checker) createTypeReferenceEx(target *Type, typeArguments []*Type, objectFlags ObjectFlags) *Type {
25016 id := getTypeListKey(typeArguments)
25017 intf := target.AsInterfaceType()
25018 if t, ok := intf.instantiations[id]; ok {
25019 return t
25020 }
25021 t := c.newObjectType(ObjectFlagsReference|objectFlags|c.getPropagatingFlagsOfTypes(typeArguments, TypeFlagsNone), target.symbol)
25022 d := t.AsTypeReference()
25023 d.target = target
25024 d.resolvedTypeArguments = typeArguments
25025 intf.instantiations[id] = t
25026 return t
25027}
25028
25029func (c *Checker) createDeferredTypeReference(target *Type, node *ast.Node, mapper *TypeMapper, alias *TypeAlias) *Type {
25030 if alias == nil {

Calls 5

newObjectTypeMethod · 0.95
getTypeListKeyFunction · 0.85
AsInterfaceTypeMethod · 0.65
AsTypeReferenceMethod · 0.65

Tested by

no test coverage detected