1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
//// [incrementOperatorWithAnyOtherTypeInvalidOperations.ts]
// ++ operator on any type
var ANY1: any;
var ANY2: any[] = [1, 2];
var obj: () => {}
var obj1 = { x: "", y: () => { } };
function foo(): any {
var a;
return a;
}
class A {
public a: any;
static foo(): any {
var a;
return a;
}
}
module M {
export var n: any;
}
var objA = new A();
// any type var
var ResultIsNumber1 = ++ANY2;
var ResultIsNumber2 = ++A;
var ResultIsNumber3 = ++M;
var ResultIsNumber4 = ++obj;
var ResultIsNumber5 = ++obj1;
var ResultIsNumber6 = ANY2++;
var ResultIsNumber7 = A++;
var ResultIsNumber8 = M++;
var ResultIsNumber9 = obj++;
var ResultIsNumber10 = obj1++;
// any type literal
var ResultIsNumber11 = ++{};
var ResultIsNumber12 = ++null;
var ResultIsNumber13 = ++undefined;
var ResultIsNumber14 = null++;
var ResultIsNumber15 = {}++;
var ResultIsNumber16 = undefined++;
// any type expressions
var ResultIsNumber17 = ++foo();
var ResultIsNumber18 = ++A.foo();
var ResultIsNumber19 = ++(null + undefined);
var ResultIsNumber20 = ++(null + null);
var ResultIsNumber21 = ++(undefined + undefined);
var ResultIsNumber22 = ++obj1.x;
var ResultIsNumber23 = ++obj1.y;
var ResultIsNumber24 = foo()++;
var ResultIsNumber25 = A.foo()++;
var ResultIsNumber26 = (null + undefined)++;
var ResultIsNumber27 = (null + null)++;
var ResultIsNumber28 = (undefined + undefined)++;
var ResultIsNumber29 = obj1.x++;
var ResultIsNumber30 = obj1.y++;
// miss assignment operators
++ANY2;
ANY2++;
++ANY1++;
++ANY2++;
++ANY2[0]++;
//// [incrementOperatorWithAnyOtherTypeInvalidOperations.js]
// ++ operator on any type
var ANY1;
var ANY2 = [1, 2];
var obj;
var obj1 = { x: "", y: function () { } };
function foo() {
var a;
return a;
}
var A = /** @class */ (function () {
function A() {
}
A.foo = function () {
var a;
return a;
};
return A;
}());
var M;
(function (M) {
})(M || (M = {}));
var objA = new A();
// any type var
var ResultIsNumber1 = ++ANY2;
var ResultIsNumber2 = ++A;
var ResultIsNumber3 = ++M;
var ResultIsNumber4 = ++obj;
var ResultIsNumber5 = ++obj1;
var ResultIsNumber6 = ANY2++;
var ResultIsNumber7 = A++;
var ResultIsNumber8 = M++;
var ResultIsNumber9 = obj++;
var ResultIsNumber10 = obj1++;
// any type literal
var ResultIsNumber11 = ++{};
var ResultIsNumber12 = ++null;
var ResultIsNumber13 = ++undefined;
var ResultIsNumber14 = null++;
var ResultIsNumber15 = {}++;
var ResultIsNumber16 = undefined++;
// any type expressions
var ResultIsNumber17 = ++foo();
var ResultIsNumber18 = ++A.foo();
var ResultIsNumber19 = ++(null + undefined);
var ResultIsNumber20 = ++(null + null);
var ResultIsNumber21 = ++(undefined + undefined);
var ResultIsNumber22 = ++obj1.x;
var ResultIsNumber23 = ++obj1.y;
var ResultIsNumber24 = foo()++;
var ResultIsNumber25 = A.foo()++;
var ResultIsNumber26 = (null + undefined)++;
var ResultIsNumber27 = (null + null)++;
var ResultIsNumber28 = (undefined + undefined)++;
var ResultIsNumber29 = obj1.x++;
var ResultIsNumber30 = obj1.y++;
// miss assignment operators
++ANY2;
ANY2++;
++ANY1;
++;
++ANY2;
++;
++ANY2[0];
++;
|