Accept new baselines

This commit is contained in:
Anders Hejlsberg 2017-01-30 15:47:24 -08:00
parent 34b4dbb260
commit ebba3d6ba6
3 changed files with 97 additions and 0 deletions

View File

@ -516,6 +516,16 @@ class B extends A<{ x: number}> {
p.x;
}
}
// Repro from #13749
class Form<T> {
private childFormFactories: {[K in keyof T]: (v: T[K]) => Form<T[K]>}
public set<K extends keyof T>(prop: K, value: T[K]) {
this.childFormFactories[prop](value)
}
}
//// [keyofAndIndexedAccess.js]
@ -862,6 +872,15 @@ var B = (function (_super) {
};
return B;
}(A));
// Repro from #13749
var Form = (function () {
function Form() {
}
Form.prototype.set = function (prop, value) {
this.childFormFactories[prop](value);
};
return Form;
}());
//// [keyofAndIndexedAccess.d.ts]
@ -1104,3 +1123,7 @@ declare class B extends A<{
}> {
f(p: this["props"]): void;
}
declare class Form<T> {
private childFormFactories;
set<K extends keyof T>(prop: K, value: T[K]): void;
}

View File

@ -1844,3 +1844,39 @@ class B extends A<{ x: number}> {
}
}
// Repro from #13749
class Form<T> {
>Form : Symbol(Form, Decl(keyofAndIndexedAccess.ts, 516, 1))
>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
private childFormFactories: {[K in keyof T]: (v: T[K]) => Form<T[K]>}
>childFormFactories : Symbol(Form.childFormFactories, Decl(keyofAndIndexedAccess.ts, 520, 15))
>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 521, 34))
>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
>v : Symbol(v, Decl(keyofAndIndexedAccess.ts, 521, 50))
>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 521, 34))
>Form : Symbol(Form, Decl(keyofAndIndexedAccess.ts, 516, 1))
>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 521, 34))
public set<K extends keyof T>(prop: K, value: T[K]) {
>set : Symbol(Form.set, Decl(keyofAndIndexedAccess.ts, 521, 73))
>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 523, 15))
>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
>prop : Symbol(prop, Decl(keyofAndIndexedAccess.ts, 523, 34))
>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 523, 15))
>value : Symbol(value, Decl(keyofAndIndexedAccess.ts, 523, 42))
>T : Symbol(T, Decl(keyofAndIndexedAccess.ts, 520, 11))
>K : Symbol(K, Decl(keyofAndIndexedAccess.ts, 523, 15))
this.childFormFactories[prop](value)
>this.childFormFactories : Symbol(Form.childFormFactories, Decl(keyofAndIndexedAccess.ts, 520, 15))
>this : Symbol(Form, Decl(keyofAndIndexedAccess.ts, 516, 1))
>childFormFactories : Symbol(Form.childFormFactories, Decl(keyofAndIndexedAccess.ts, 520, 15))
>prop : Symbol(prop, Decl(keyofAndIndexedAccess.ts, 523, 34))
>value : Symbol(value, Decl(keyofAndIndexedAccess.ts, 523, 42))
}
}

View File

@ -2166,3 +2166,41 @@ class B extends A<{ x: number}> {
}
}
// Repro from #13749
class Form<T> {
>Form : Form<T>
>T : T
private childFormFactories: {[K in keyof T]: (v: T[K]) => Form<T[K]>}
>childFormFactories : { [K in keyof T]: (v: T[K]) => Form<T[K]>; }
>K : K
>T : T
>v : T[K]
>T : T
>K : K
>Form : Form<T>
>T : T
>K : K
public set<K extends keyof T>(prop: K, value: T[K]) {
>set : <K extends keyof T>(prop: K, value: T[K]) => void
>K : K
>T : T
>prop : K
>K : K
>value : T[K]
>T : T
>K : K
this.childFormFactories[prop](value)
>this.childFormFactories[prop](value) : Form<T[K]>
>this.childFormFactories[prop] : (v: T[K]) => Form<T[K]>
>this.childFormFactories : { [K in keyof T]: (v: T[K]) => Form<T[K]>; }
>this : this
>childFormFactories : { [K in keyof T]: (v: T[K]) => Form<T[K]>; }
>prop : K
>value : T[K]
}
}