TypeScript/tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.errors.txt
2014-07-12 17:30:19 -07:00

113 lines
4.4 KiB
Plaintext

==== tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedBooleanType.ts (29 errors) ====
// ++ operator on boolean type
var BOOLEAN: boolean;
function foo(): boolean { return true; }
class A {
public a: boolean;
static foo() { return true; }
}
module M {
export var n: boolean;
}
var objA = new A();
// boolean type var
var ResultIsNumber1 = ++BOOLEAN;
~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber2 = BOOLEAN++;
~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
// boolean type literal
var ResultIsNumber3 = ++true;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber4 = ++{ x: true, y: false };
~~~~~~~~~~~~~~~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber5 = ++{ x: true, y: (n: boolean) => { return n; } };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber6 = true++;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber7 = { x: true, y: false }++;
~~~~~~~~~~~~~~~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber8 = { x: true, y: (n: boolean) => { return n; } }++;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
// boolean type expressions
var ResultIsNumber9 = ++objA.a;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber10 = ++M.n;
~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber11 = ++foo();
~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber12 = ++A.foo();
~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber13 = foo()++;
~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber14 = A.foo()++;
~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber15 = objA.a++;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber16 = M.n++;
~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
// miss assignment operators
++true;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
++BOOLEAN;
~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
++foo();
~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
++objA.a;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
++M.n;
~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
++objA.a, M.n;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
true++;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
BOOLEAN++;
~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
foo()++;
~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
objA.a++;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
M.n++;
~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
objA.a++, M.n++;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.