blob: a00b5743a90c25d59cb7d2ae9de2df9253759f2e [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:20:5: Warning: Property 'length' is accessed on 'String?' which is potentially null.
// Try accessing using ?. instead.
// s.length;
// ^^^^^^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:21:5: Warning: Method 'substring' is called on 'String?' which is potentially null.
// Try calling using ?. instead.
// s.substring(1, 1);
// ^^^^^^^^^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:23:5: Warning: Method 'foo' is called on 'A?' which is potentially null.
// - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
// Try calling using ?. instead.
// a.foo();
// ^^^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:24:5: Warning: Property 'bar' is accessed on 'A?' which is potentially null.
// - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
// Try accessing using ?. instead.
// a.bar;
// ^^^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:25:5: Warning: Property 'baz' is accessed on 'A?' which is potentially null.
// - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
// Try accessing using ?. instead.
// a.baz = 42;
// ^^^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Warning: Method 'call' is called on 'A?' which is potentially null.
// - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
// Try calling using ?. instead.
// a();
// ^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Warning: Expression of type 'A?' is used as a function, but it's potentially null.
// - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
// Try calling using ?.call instead.
// a();
// ^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:27:5: Warning: Method 'toString' is called on 'B?' which is potentially null.
// - 'B' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
// Try calling using ?. instead.
// b.toString(0);
// ^^^^^^^^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:29:17: Warning: Tearing off method 'call' from a potentially null value.
// Function f1 = a;
// ^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:30:24: Warning: Tearing off method 'call' from a potentially null value.
// void Function() f2 = a;
// ^
//
// pkg/front_end/testcases/nnbd/nullable_receiver.dart:31:25: Warning: Tearing off method 'call' from a potentially null value.
// void Function()? f3 = a;
// ^
//
import self as self;
import "dart:core" as core;
class A extends core::Object {
synthetic constructor •() self::A
: super core::Object::•()
;
method foo() dynamic {}
get bar() core::int
return 42;
set baz(core::int value) void {}
method call() void {}
}
class B extends core::Object {
synthetic constructor •() self::B
: super core::Object::•()
;
method toString([core::int extra = #C1]) → core::String
return super.{core::Object::toString}();
}
static method error(core::String? s, self::A? a, self::B? b) dynamic {
s.{core::String::length};
s.{core::String::substring}(1, 1);
a.{self::A::foo}();
a.{self::A::bar};
a.{self::A::baz} = 42;
a.{self::A::call}();
b.{self::B::toString}(0);
core::Function f1 = a as{TypeError} core::Function;
() void f2 = a as{TypeError} () void;
() →? void f3 = a as{TypeError} () →? void;
}
static method ok<T extends core::Object? = core::Object?>(core::String? s, self::A? a, self::ok::T% t, self::B? b, core::Invocation i) dynamic {
s.{core::String::==}(s);
a.{core::Object::==}(a);
t.{core::Object::==}(t);
b.{core::Object::==}(b);
s.{core::String::hashCode};
a.{core::Object::hashCode};
t.{core::Object::hashCode};
b.{core::Object::hashCode};
s.{core::Object::toString}();
a.{core::Object::toString}();
t.{core::Object::toString}();
b.{self::B::toString}();
try {
s.{core::Object::noSuchMethod}(i);
}
on dynamic catch(final dynamic e, final core::StackTrace t) {
}
try {
a.{core::Object::noSuchMethod}(i);
}
on dynamic catch(final dynamic e, final core::StackTrace t) {
}
try {
t.{core::Object::noSuchMethod}(i);
}
on dynamic catch(final dynamic e, final core::StackTrace t) {
}
try {
b.{core::Object::noSuchMethod}(i);
}
on dynamic catch(final dynamic e, final core::StackTrace t) {
}
s.{core::Object::runtimeType};
a.{core::Object::runtimeType};
t.{core::Object::runtimeType};
b.{core::Object::runtimeType};
}
static method main() dynamic {}
constants {
#C1 = 42
}