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

161 lines
7 KiB
Plaintext

==== tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithAnyOtherTypeInvalidOperations.ts (44 errors) ====
// -- operator on any type
var ANY1;
var ANY2: any[] = ["", ""];
var obj: () => {}
var obj1 = { x: "", y: () => { } };
function foo(): any {
var a;
return a;
}
class A {
public a: any;
static foo() {
var a;
return a;
}
}
module M {
export var n: any;
}
var objA = new A();
// any type var
var ResultIsNumber1 = --ANY2;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber2 = --A;
~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber3 = --M;
~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber4 = --obj;
~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber5 = --obj1;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber6 = ANY2--;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber7 = A--;
~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber8 = M--;
~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber9 = obj--;
~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber10 = obj1--;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
// any type literal
var ResultIsNumber11 = --{};
~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber12 = --null;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber13 = --undefined;
~~~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber14 = null--;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber15 = {}--;
~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber16 = undefined--;
~~~~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
// any type expressions
var ResultIsNumber17 = --foo();
~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
var ResultIsNumber18 = --A.foo();
~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
var ResultIsNumber19 = --(null + undefined);
~~~~~~~~~~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'undefined' and 'undefined'.
var ResultIsNumber20 = --(null + null);
~~~~~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'null' and 'null'.
var ResultIsNumber21 = --(undefined + undefined);
~~~~~~~~~~~~~~~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
~~~~~~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'undefined' and 'undefined'.
var ResultIsNumber22 = --obj1.x;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber23 = --obj1.y;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber24 = foo()--;
~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
var ResultIsNumber25 = A.foo()--;
~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
var ResultIsNumber26 = (null + undefined)--;
~~~~~~~~~~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'undefined' and 'undefined'.
var ResultIsNumber27 = (null + null)--;
~~~~~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'null' and 'null'.
var ResultIsNumber28 = (undefined + undefined)--;
~~~~~~~~~~~~~~~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
~~~~~~~~~~~~~~~~~~~~~
!!! Operator '+' cannot be applied to types 'undefined' and 'undefined'.
var ResultIsNumber29 = obj1.x--;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
var ResultIsNumber30 = obj1.y--;
~~~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
// miss assignment operators
--ANY2;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
ANY2--;
~~~~
!!! An arithmetic operand must be of type 'any', 'number' or an enum type.
--ANY1--;
~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
--ANY1++;
~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
++ANY1--;
~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
--ANY2[0]--;
~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
--ANY2[0]++;
~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.
++ANY2[0]--;
~~~~~~~~~
!!! The operand of an increment or decrement operator must be a variable, property or indexer.