|
| 1 | +=== tests/cases/compiler/jsxInferenceProducesLiteralAsExpected.tsx === |
| 2 | +import React = require("react"); |
| 3 | +>React : Symbol(React, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 0, 0)) |
| 4 | + |
| 5 | +type FunctionPropertyNames<T> = { [K in keyof T]: T[K] extends Function ? K : never }[keyof T]; |
| 6 | +>FunctionPropertyNames : Symbol(FunctionPropertyNames, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 0, 32)) |
| 7 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 27)) |
| 8 | +>K : Symbol(K, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 35)) |
| 9 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 27)) |
| 10 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 27)) |
| 11 | +>K : Symbol(K, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 35)) |
| 12 | +>Function : Symbol(Function, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) |
| 13 | +>K : Symbol(K, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 35)) |
| 14 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 27)) |
| 15 | + |
| 16 | +class TestObject { |
| 17 | +>TestObject : Symbol(TestObject, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 95)) |
| 18 | + |
| 19 | + a: string = ''; |
| 20 | +>a : Symbol(TestObject.a, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 2, 18)) |
| 21 | + |
| 22 | + b: number = 1; |
| 23 | +>b : Symbol(TestObject.b, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 3, 19)) |
| 24 | + |
| 25 | + c: () => void = () => { }; |
| 26 | +>c : Symbol(TestObject.c, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 4, 18)) |
| 27 | +} |
| 28 | +interface TestProps<T> { |
| 29 | +>TestProps : Symbol(TestProps, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 6, 1)) |
| 30 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 7, 20)) |
| 31 | + |
| 32 | + model: T; |
| 33 | +>model : Symbol(TestProps.model, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 7, 24)) |
| 34 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 7, 20)) |
| 35 | + |
| 36 | + foo: FunctionPropertyNames<T>; |
| 37 | +>foo : Symbol(TestProps.foo, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 8, 13)) |
| 38 | +>FunctionPropertyNames : Symbol(FunctionPropertyNames, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 0, 32)) |
| 39 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 7, 20)) |
| 40 | +} |
| 41 | +function Test<T>(props: TestProps<T>) { return <></>; } |
| 42 | +>Test : Symbol(Test, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 10, 1)) |
| 43 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 11, 14)) |
| 44 | +>props : Symbol(props, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 11, 17)) |
| 45 | +>TestProps : Symbol(TestProps, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 6, 1)) |
| 46 | +>T : Symbol(T, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 11, 14)) |
| 47 | + |
| 48 | +const model = new TestObject(); |
| 49 | +>model : Symbol(model, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 12, 5)) |
| 50 | +>TestObject : Symbol(TestObject, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 95)) |
| 51 | + |
| 52 | +const el1 = <Test model={model} foo="c" />; |
| 53 | +>el1 : Symbol(el1, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 14, 5)) |
| 54 | +>Test : Symbol(Test, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 10, 1)) |
| 55 | +>model : Symbol(model, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 14, 17)) |
| 56 | +>model : Symbol(model, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 12, 5)) |
| 57 | +>foo : Symbol(foo, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 14, 31)) |
| 58 | + |
| 59 | +const el2 = <Test<TestObject> model={model} foo="c" />; |
| 60 | +>el2 : Symbol(el2, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 15, 5)) |
| 61 | +>Test : Symbol(Test, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 10, 1)) |
| 62 | +>TestObject : Symbol(TestObject, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 1, 95)) |
| 63 | +>model : Symbol(model, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 15, 29)) |
| 64 | +>model : Symbol(model, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 12, 5)) |
| 65 | +>foo : Symbol(foo, Decl(jsxInferenceProducesLiteralAsExpected.tsx, 15, 43)) |
| 66 | + |
0 commit comments