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

113 lines
4.4 KiB
Plaintext

==== tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedBooleanType.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.