blob: a6b9d6eaec79c2e5a6f67de64e7017805d944441 [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
num numTopLevel = /*int*/ 0;
int intTopLevel = /*int*/ 0;
dynamic dynamicTopLevel = /*int*/ 0;
testTopLevel() {
/*update: num*/ /*num*/ numTopLevel /*invoke: num*/ /*int*/ ++;
/*update: num*/ /*num*/ numTopLevel /*invoke: num*/ /*int*/ --;
/*invoke: num*/ /*int*/ ++ /*update: num*/ /*num*/ numTopLevel;
/*invoke: num*/ /*int*/ -- /*update: num*/ /*num*/ numTopLevel;
/*update: int*/ /*int*/ intTopLevel /*invoke: int*/ /*int*/ ++;
/*update: int*/ /*int*/ intTopLevel /*invoke: int*/ /*int*/ --;
/*invoke: int*/ /*int*/ ++ /*update: int*/ /*int*/ intTopLevel;
/*invoke: int*/ /*int*/ -- /*update: int*/ /*int*/ intTopLevel;
/*update: dynamic*/ /*dynamic*/ dynamicTopLevel
/*invoke: dynamic*/ /*int*/ ++;
/*update: dynamic*/ /*dynamic*/ dynamicTopLevel
/*invoke: dynamic*/ /*int*/ --;
/*invoke: dynamic*/ /*int*/ ++
/*update: dynamic*/ /*dynamic*/ dynamicTopLevel;
/*invoke: dynamic*/ /*int*/ --
/*update: dynamic*/ /*dynamic*/ dynamicTopLevel;
}
class Class {
num numInstance = /*int*/ 0;
int intInstance = /*int*/ 0;
dynamic dynamicInstance = /*int*/ 0;
testInstance() {
/*update: num*/ /*num*/ numInstance /*invoke: num*/ /*int*/ ++;
/*update: num*/ /*num*/ numInstance /*invoke: num*/ /*int*/ --;
/*invoke: num*/ /*int*/ ++ /*update: num*/ /*num*/ numInstance;
/*invoke: num*/ /*int*/ -- /*update: num*/ /*num*/ numInstance;
/*update: int*/ /*int*/ intInstance /*invoke: int*/ /*int*/ ++;
/*update: int*/ /*int*/ intInstance /*invoke: int*/ /*int*/ --;
/*invoke: int*/ /*int*/ ++ /*update: int*/ /*int*/ intInstance;
/*invoke: int*/ /*int*/ -- /*update: int*/ /*int*/ intInstance;
/*update: dynamic*/ /*dynamic*/ dynamicInstance
/*invoke: dynamic*/ /*int*/ ++;
/*update: dynamic*/ /*dynamic*/ dynamicInstance
/*invoke: dynamic*/ /*int*/ --;
/*invoke: dynamic*/ /*int*/ ++
/*update: dynamic*/ /*dynamic*/ dynamicInstance;
/*invoke: dynamic*/ /*int*/ --
/*update: dynamic*/ /*dynamic*/ dynamicInstance;
}
}
testInstanceOnClass(Class c) {
/*Class*/ c. /*update: num*/ /*num*/ numInstance /*invoke: num*/ /*int*/ ++;
/*Class*/ c. /*update: num*/ /*num*/ numInstance /*invoke: num*/ /*int*/ --;
/*invoke: num*/ /*int*/ ++ /*Class*/ c. /*update: num*/ /*num*/ numInstance;
/*invoke: num*/ /*int*/ -- /*Class*/ c. /*update: num*/ /*num*/ numInstance;
/*Class*/ c. /*update: int*/ /*int*/ intInstance /*invoke: int*/ /*int*/ ++;
/*Class*/ c. /*update: int*/ /*int*/ intInstance /*invoke: int*/ /*int*/ --;
/*invoke: int*/ /*int*/ ++ /*Class*/ c. /*update: int*/ /*int*/ intInstance;
/*invoke: int*/ /*int*/ -- /*Class*/ c. /*update: int*/ /*int*/ intInstance;
/*Class*/ c. /*update: dynamic*/ /*dynamic*/ dynamicInstance
/*invoke: dynamic*/ /*int*/ ++;
/*Class*/ c. /*update: dynamic*/ /*dynamic*/ dynamicInstance
/*invoke: dynamic*/ /*int*/ --;
/*invoke: dynamic*/ /*int*/ ++ /*Class*/ c
. /*update: dynamic*/ /*dynamic*/ dynamicInstance;
/*invoke: dynamic*/ /*int*/ -- /*Class*/ c
. /*update: dynamic*/ /*dynamic*/ dynamicInstance;
}
testInstanceOnDynamic(dynamic c) {
/*dynamic*/ c. /*update: dynamic*/ /*dynamic*/ numInstance
/*invoke: dynamic*/ /*int*/ ++;
/*dynamic*/ c. /*update: dynamic*/ /*dynamic*/ numInstance
/*invoke: dynamic*/ /*int*/ --;
/*invoke: dynamic*/ /*int*/ ++ /*dynamic*/ c
. /*update: dynamic*/ /*dynamic*/ numInstance;
/*invoke: dynamic*/ /*int*/ -- /*dynamic*/ c
. /*update: dynamic*/ /*dynamic*/ numInstance;
/*dynamic*/ c. /*update: dynamic*/ /*dynamic*/ intInstance
/*invoke: dynamic*/ /*int*/ ++;
/*dynamic*/ c. /*update: dynamic*/ /*dynamic*/ intInstance
/*invoke: dynamic*/ /*int*/ --;
/*invoke: dynamic*/ /*int*/ ++ /*dynamic*/ c
. /*update: dynamic*/ /*dynamic*/ intInstance;
/*invoke: dynamic*/ /*int*/ -- /*dynamic*/ c
. /*update: dynamic*/ /*dynamic*/ intInstance;
/*dynamic*/ c. /*update: dynamic*/ /*dynamic*/ dynamicInstance
/*invoke: dynamic*/ /*int*/ ++;
/*dynamic*/ c. /*update: dynamic*/ /*dynamic*/ dynamicInstance
/*invoke: dynamic*/ /*int*/ --;
/*invoke: dynamic*/ /*int*/ ++ /*dynamic*/ c
. /*update: dynamic*/ /*dynamic*/ dynamicInstance;
/*invoke: dynamic*/ /*int*/ -- /*dynamic*/ c
. /*update: dynamic*/ /*dynamic*/ dynamicInstance;
}
main() {
/// ignore: unused_local_variable
num numLocal = /*int*/ 0;
/// ignore: unused_local_variable
int intLocal = /*int*/ 0;
/// ignore: unused_local_variable
dynamic dynamicLocal = /*int*/ 0;
/*update: num*/ /*num*/ numLocal /*invoke: num*/ /*int*/ ++;
/*update: num*/ /*num*/ numLocal /*invoke: num*/ /*int*/ --;
/*invoke: num*/ /*int*/ ++ /*update: num*/ /*num*/ numLocal;
/*invoke: num*/ /*int*/ -- /*update: num*/ /*num*/ numLocal;
/*update: int*/ /*int*/ intLocal /*invoke: int*/ /*int*/ ++;
/*update: int*/ /*int*/ intLocal /*invoke: int*/ /*int*/ --;
/*invoke: int*/ /*int*/ ++ /*update: int*/ /*int*/ intLocal;
/*invoke: int*/ /*int*/ -- /*update: int*/ /*int*/ intLocal;
/*update: dynamic*/ /*dynamic*/ dynamicLocal /*invoke: dynamic*/ /*int*/ ++;
/*update: dynamic*/ /*dynamic*/ dynamicLocal /*invoke: dynamic*/ /*int*/ --;
/*invoke: dynamic*/ /*int*/ ++ /*update: dynamic*/ /*dynamic*/ dynamicLocal;
/*invoke: dynamic*/ /*int*/ -- /*update: dynamic*/ /*dynamic*/ dynamicLocal;
}