Test:js object literal assignment as declaration

This commit is contained in:
Nathan Shively-Sanders
2017-11-29 11:37:35 -08:00
parent 8bd66a095d
commit c6a77514e8
5 changed files with 63 additions and 8 deletions
@@ -3,7 +3,9 @@ var variable = {};
>variable : Symbol(variable, Decl(a.js, 0, 3))
variable.a = 0;
>variable.a : Symbol(a, Decl(a.js, 0, 18))
>variable : Symbol(variable, Decl(a.js, 0, 3))
>a : Symbol(a, Decl(a.js, 0, 18))
class C {
>C : Symbol(C, Decl(a.js, 1, 15))
@@ -49,7 +51,9 @@ function getObj() {
=== tests/cases/conformance/salsa/b.ts ===
variable.a = 1;
>variable.a : Symbol(a, Decl(a.js, 0, 18))
>variable : Symbol(variable, Decl(a.js, 0, 3))
>a : Symbol(a, Decl(a.js, 0, 18))
(new C()).member.a = 1;
>(new C()).member : Symbol(C.member, Decl(a.js, 5, 19))
@@ -1,13 +1,13 @@
=== tests/cases/conformance/salsa/a.js ===
var variable = {};
>variable : { [x: string]: any; }
>{} : { [x: string]: any; }
>variable : { [x: string]: any; a: number; }
>{} : { [x: string]: any; a: number; }
variable.a = 0;
>variable.a = 0 : 0
>variable.a : any
>variable : { [x: string]: any; }
>a : any
>variable.a : number
>variable : { [x: string]: any; a: number; }
>a : number
>0 : 0
class C {
@@ -71,9 +71,9 @@ function getObj() {
=== tests/cases/conformance/salsa/b.ts ===
variable.a = 1;
>variable.a = 1 : 1
>variable.a : any
>variable : { [x: string]: any; }
>a : any
>variable.a : number
>variable : { [x: string]: any; a: number; }
>a : number
>1 : 1
(new C()).member.a = 1;
@@ -0,0 +1,18 @@
=== tests/cases/conformance/salsa/a.js ===
var obj = {};
>obj : Symbol(obj, Decl(a.js, 0, 3), Decl(a.js, 0, 13))
obj.method = function (hunch) {
>obj.method : Symbol(method, Decl(a.js, 0, 13))
>obj : Symbol(obj, Decl(a.js, 0, 3), Decl(a.js, 0, 13))
>method : Symbol(method, Decl(a.js, 0, 13))
>hunch : Symbol(hunch, Decl(a.js, 1, 23))
return true;
}
var b = obj.method();
>b : Symbol(b, Decl(a.js, 4, 3))
>obj.method : Symbol(method, Decl(a.js, 0, 13))
>obj : Symbol(obj, Decl(a.js, 0, 3), Decl(a.js, 0, 13))
>method : Symbol(method, Decl(a.js, 0, 13))
@@ -0,0 +1,23 @@
=== tests/cases/conformance/salsa/a.js ===
var obj = {};
>obj : { [x: string]: any; method: (hunch: any) => boolean; }
>{} : { [x: string]: any; method: (hunch: any) => boolean; }
obj.method = function (hunch) {
>obj.method = function (hunch) { return true;} : (hunch: any) => boolean
>obj.method : (hunch: any) => boolean
>obj : { [x: string]: any; method: (hunch: any) => boolean; }
>method : (hunch: any) => boolean
>function (hunch) { return true;} : (hunch: any) => boolean
>hunch : any
return true;
>true : true
}
var b = obj.method();
>b : boolean
>obj.method() : boolean
>obj.method : (hunch: any) => boolean
>obj : { [x: string]: any; method: (hunch: any) => boolean; }
>method : (hunch: any) => boolean
@@ -0,0 +1,10 @@
// @noEmit: true
// @allowJs: true
// @checkJs: true
// @target: es6
// @Filename: a.js
var obj = {};
obj.method = function (hunch) {
return true;
}
var b = obj.method();