Files
sdk/pkg/compiler/test/sourcemaps/data/invokes.dart
T
Joshua Litt 20faaa5d94 [dart2js] Move dart2js unit tests to pkg/compiler/test.
Change-Id: Ib18f554c1076f27a3f7c0df5a36410da41a1f467
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148784
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-05-28 18:51:11 +00:00

139 lines
2.2 KiB
Dart

// Copyright (c) 2015, 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.
// @dart = 2.7
// Test file for testing source mappings of invocations.
var counter = 0;
main(args) {
counter++;
invokes(args);
return counter;
}
invokes(parameter) {
counter++;
toplevelFunction();
toplevelField();
toplevelFinalField();
toplevelConstField();
toplevelGetter();
C.staticFunction();
C.staticField();
C.staticFinalField();
C.staticConstField();
C.staticGetter();
var localVariable = () {
counter++;
};
localFunction() {
counter++;
}
parameter();
localVariable();
localFunction();
(parameter)();
parameter.dynamicInvoke();
new C(parameter).instanceInvokes();
new C(parameter).superInvokes();
new C(parameter).invalidInvokes();
new C(parameter).thisInstanceInvokes();
}
toplevelFunction() {
counter++;
}
dynamic toplevelField = () {
counter++;
};
final toplevelFinalField = toplevelFunction;
const toplevelConstField = toplevelFunction;
get toplevelGetter => () {
counter++;
};
typedef F();
class B {
B(parameter);
superMethod() {
counter++;
}
dynamic superField = () {
counter++;
};
get superGetter => () {
counter++;
};
}
class C<T> extends B {
C(parameter) : super(parameter);
static staticFunction() {
counter++;
}
static dynamic staticField = () {
counter++;
};
static final staticFinalField = staticFunction;
static const staticConstField = staticFunction;
static get staticGetter => () {
counter++;
};
instanceMethod() {
counter++;
}
dynamic instanceField = () {
counter++;
};
get instanceGetter => () {
counter++;
};
instanceInvokes() {
instanceMethod();
instanceField();
instanceGetter();
}
superInvokes() {
super.superMethod();
super.superField();
super.superGetter();
}
invalidInvokes() {
(C as dynamic)();
(dynamic as dynamic)();
(F as dynamic)();
(T as dynamic)();
}
thisInstanceInvokes() {
this.instanceMethod();
this.instanceField();
this.instanceGetter();
}
}