blob: f7b1e2b3e5c79460e64e75b3b838471e466f1308 [file] [log] [blame]
// Copyright (c) 2018, 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.9
/*@testedFeatures=inference*/
library test;
class Foo {
int foo(int x) => x;
}
test() {
dynamic d = new Foo();
var /*@ type=int* */ get_hashCode = d. /*@target=Object.hashCode*/ hashCode;
var /*@ type=dynamic */ call_hashCode =
d. /*@target=Object.hashCode*/ hashCode();
var /*@ type=String* */ call_toString =
d. /*@target=Object.toString*/ toString();
var /*@ type=dynamic */ call_toStringArg = d.toString(color: "pink");
var /*@ type=dynamic */ call_foo0 = d.foo();
var /*@ type=dynamic */ call_foo1 = d.foo(1);
var /*@ type=dynamic */ call_foo2 = d.foo(1, 2);
var /*@ type=dynamic */ call_nsm0 = d.noSuchMethod();
var /*@ type=dynamic */ call_nsm1 =
d. /*@target=Object.noSuchMethod*/ noSuchMethod(null);
var /*@ type=dynamic */ call_nsm2 = d.noSuchMethod(null, null);
var /*@ type=bool* */ equals_self = d /*@target=Object.==*/ == d;
var /*@ type=bool* */ equals_null = d /*@target=Object.==*/ == null;
var /*@ type=bool* */ null_equals = null /*@target=Object.==*/ == d;
var /*@ type=bool* */ not_equals_self = d /*@target=Object.==*/ != d;
var /*@ type=bool* */ not_equals_null = d /*@target=Object.==*/ != null;
var /*@ type=bool* */ null_not_equals = null /*@target=Object.==*/ != d;
}
main() {}