mirror of
https://github.com/dart-lang/sdk
synced 2024-07-25 04:15:45 +00:00
[cfe] Ensure nullable result type for ??= for effect
Closes #54069 Change-Id: I4caaad1b86f9ef68f1d36d7b2f9afc92364ce83c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/336662 Reviewed-by: Chloe Stefantsova <cstefantsova@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
parent
c6f70abd3e
commit
ced5b4e25d
|
@ -5234,7 +5234,7 @@ class InferenceVisitorImpl extends InferenceVisitorBase
|
|||
equalsNull,
|
||||
writeResult.expression,
|
||||
new NullLiteral()..fileOffset = node.fileOffset,
|
||||
inferredType)
|
||||
computeNullable(inferredType))
|
||||
..fileOffset = node.fileOffset;
|
||||
} else {
|
||||
// Encode `a ??= b` as:
|
||||
|
|
|
@ -553,6 +553,7 @@ party
|
|||
pause
|
||||
paused
|
||||
pays
|
||||
pb
|
||||
pc
|
||||
periodic
|
||||
periodically
|
||||
|
|
22
pkg/front_end/testcases/dart2wasm/issue54069.dart
Normal file
22
pkg/front_end/testcases/dart2wasm/issue54069.dart
Normal file
|
@ -0,0 +1,22 @@
|
|||
// Copyright (c) 2023, 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.
|
||||
|
||||
import 'dart:typed_data';
|
||||
|
||||
Future<Uint8List> getBinaryTestProto() => readFileWeb("test.binary.pb");
|
||||
|
||||
Future<Uint8List> readFileWeb(String path) async {
|
||||
throw '';
|
||||
}
|
||||
|
||||
void runBench([Uint8List? data]) async {
|
||||
data ??= await getBinaryTestProto();
|
||||
print(data);
|
||||
}
|
||||
|
||||
void main() async {
|
||||
Uint8List data = await getBinaryTestProto();
|
||||
print("File successfully read, contents: $data");
|
||||
runBench(data);
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:async" as asy;
|
||||
import "dart:typed_data" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "dart:typed_data";
|
||||
|
||||
static method getBinaryTestProto() → asy::Future<typ::Uint8List>
|
||||
return self::readFileWeb("test.binary.pb");
|
||||
static method readFileWeb(core::String path) → asy::Future<typ::Uint8List> async /* futureValueType= typ::Uint8List */ {
|
||||
throw "";
|
||||
}
|
||||
static method runBench([typ::Uint8List? data = #C1]) → void async /* futureValueType= void */ {
|
||||
data == null ?{typ::Uint8List?} data = await self::getBinaryTestProto() : null;
|
||||
core::print(data{typ::Uint8List});
|
||||
}
|
||||
static method main() → void async /* futureValueType= void */ {
|
||||
typ::Uint8List data = await self::getBinaryTestProto();
|
||||
core::print("File successfully read, contents: ${data}");
|
||||
self::runBench(data);
|
||||
}
|
||||
|
||||
constants {
|
||||
#C1 = null
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:async" as asy;
|
||||
import "dart:typed_data" as typ;
|
||||
import "dart:core" as core;
|
||||
|
||||
import "dart:typed_data";
|
||||
|
||||
static method getBinaryTestProto() → asy::Future<typ::Uint8List>
|
||||
return self::readFileWeb("test.binary.pb");
|
||||
static method readFileWeb(core::String path) → asy::Future<typ::Uint8List> async /* futureValueType= typ::Uint8List */ {
|
||||
throw "";
|
||||
}
|
||||
static method runBench([typ::Uint8List? data = #C1]) → void async /* futureValueType= void */ {
|
||||
typ::Uint8List :async_temporary_0;
|
||||
typ::Uint8List? :async_temporary_1;
|
||||
if(data == null) {
|
||||
:async_temporary_0 = await self::getBinaryTestProto();
|
||||
:async_temporary_1 = data = :async_temporary_0 as{ForLegacy} dynamic;
|
||||
}
|
||||
else {
|
||||
:async_temporary_1 = null;
|
||||
}
|
||||
:async_temporary_1 as{ForLegacy} dynamic;
|
||||
core::print(data{typ::Uint8List});
|
||||
}
|
||||
static method main() → void async /* futureValueType= void */ {
|
||||
typ::Uint8List :async_temporary_0;
|
||||
:async_temporary_0 = await self::getBinaryTestProto();
|
||||
typ::Uint8List data = :async_temporary_0 as{ForLegacy} dynamic;
|
||||
core::print("File successfully read, contents: ${data}");
|
||||
self::runBench(data);
|
||||
}
|
||||
|
||||
constants {
|
||||
#C1 = null
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
import 'dart:typed_data';
|
||||
|
||||
Future<Uint8List> getBinaryTestProto() => readFileWeb("test.binary.pb");
|
||||
Future<Uint8List> readFileWeb(String path) async {}
|
||||
void runBench([Uint8List? data]) async {}
|
||||
void main() async {}
|
|
@ -0,0 +1,6 @@
|
|||
import 'dart:typed_data';
|
||||
|
||||
Future<Uint8List> getBinaryTestProto() => readFileWeb("test.binary.pb");
|
||||
Future<Uint8List> readFileWeb(String path) async {}
|
||||
void main() async {}
|
||||
void runBench([Uint8List? data]) async {}
|
|
@ -67,9 +67,9 @@ static method test2(self::Class? c) → dynamic {
|
|||
self::expect(42, let final self::Class? #t52 = c in #t52 == null ?{core::int?} null : let final core::int? #t53 = self::Extension|get#property(#t52{self::Class}) in #t53 == null ?{core::int} let final core::int #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52{self::Class}, #t54) in #t54 : #t53{core::int});
|
||||
let final self::Class? #t56 = c in #t56 == null ?{void} null : self::Extension|set#property(#t56{self::Class}, null);
|
||||
self::expect(null, let final self::Class? #t57 = c in #t57 == null ?{core::int?} null : self::Extension|get#property(#t57{self::Class}));
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int?} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
self::expect(42, let final self::Class? #t59 = c in #t59 == null ?{core::int?} null : self::Extension|get#property(#t59{self::Class}));
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int?} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
self::expect(42, let final self::Class? #t61 = c in #t61 == null ?{core::int?} null : self::Extension|get#property(#t61{self::Class}));
|
||||
let final self::Class? #t62 = c in #t62 == null ?{void} null : self::Extension|set#property(#t62{self::Class}, null);
|
||||
let final self::Class? #t63 = c in #t63 == null ?{dynamic} null : self::Extension|testImplicitThis(#t63{self::Class});
|
||||
|
|
|
@ -67,9 +67,9 @@ static method test2(self::Class? c) → dynamic {
|
|||
self::expect(42, let final self::Class? #t52 = c in #t52 == null ?{core::int?} null : let final core::int? #t53 = self::Extension|get#property(#t52{self::Class}) in #t53 == null ?{core::int} let final core::int #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52{self::Class}, #t54) in #t54 : #t53{core::int});
|
||||
let final self::Class? #t56 = c in #t56 == null ?{void} null : self::Extension|set#property(#t56{self::Class}, null);
|
||||
self::expect(null, let final self::Class? #t57 = c in #t57 == null ?{core::int?} null : self::Extension|get#property(#t57{self::Class}));
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int?} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
self::expect(42, let final self::Class? #t59 = c in #t59 == null ?{core::int?} null : self::Extension|get#property(#t59{self::Class}));
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int?} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
self::expect(42, let final self::Class? #t61 = c in #t61 == null ?{core::int?} null : self::Extension|get#property(#t61{self::Class}));
|
||||
let final self::Class? #t62 = c in #t62 == null ?{void} null : self::Extension|set#property(#t62{self::Class}, null);
|
||||
let final self::Class? #t63 = c in #t63 == null ?{dynamic} null : self::Extension|testImplicitThis(#t63{self::Class});
|
||||
|
|
|
@ -67,9 +67,9 @@ static method test2(self::Class? c) → dynamic {
|
|||
self::expect(42, let final self::Class? #t52 = c in #t52 == null ?{core::int?} null : let final core::int? #t53 = self::Extension|get#property(#t52{self::Class}) in #t53 == null ?{core::int} let final core::int #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52{self::Class}, #t54) in #t54 : #t53{core::int});
|
||||
let final self::Class? #t56 = c in #t56 == null ?{void} null : self::Extension|set#property(#t56{self::Class}, null);
|
||||
self::expect(null, let final self::Class? #t57 = c in #t57 == null ?{core::int?} null : self::Extension|get#property(#t57{self::Class}));
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int?} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
self::expect(42, let final self::Class? #t59 = c in #t59 == null ?{core::int?} null : self::Extension|get#property(#t59{self::Class}));
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int?} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
self::expect(42, let final self::Class? #t61 = c in #t61 == null ?{core::int?} null : self::Extension|get#property(#t61{self::Class}));
|
||||
let final self::Class? #t62 = c in #t62 == null ?{void} null : self::Extension|set#property(#t62{self::Class}, null);
|
||||
let final self::Class? #t63 = c in #t63 == null ?{dynamic} null : self::Extension|testImplicitThis(#t63{self::Class});
|
||||
|
|
|
@ -67,9 +67,9 @@ static method test2(self::Class? c) → dynamic {
|
|||
self::expect(42, let final self::Class? #t52 = c in #t52 == null ?{core::int?} null : let final core::int? #t53 = self::Extension|get#property(#t52{self::Class}) in #t53 == null ?{core::int} let final core::int #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52{self::Class}, #t54) in #t54 : #t53{core::int});
|
||||
let final self::Class? #t56 = c in #t56 == null ?{void} null : self::Extension|set#property(#t56{self::Class}, null);
|
||||
self::expect(null, let final self::Class? #t57 = c in #t57 == null ?{core::int?} null : self::Extension|get#property(#t57{self::Class}));
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int?} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
self::expect(42, let final self::Class? #t59 = c in #t59 == null ?{core::int?} null : self::Extension|get#property(#t59{self::Class}));
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int?} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
self::expect(42, let final self::Class? #t61 = c in #t61 == null ?{core::int?} null : self::Extension|get#property(#t61{self::Class}));
|
||||
let final self::Class? #t62 = c in #t62 == null ?{void} null : self::Extension|set#property(#t62{self::Class}, null);
|
||||
let final self::Class? #t63 = c in #t63 == null ?{dynamic} null : self::Extension|testImplicitThis(#t63{self::Class});
|
||||
|
|
|
@ -67,9 +67,9 @@ static method test2(self::Class? c) → dynamic {
|
|||
self::expect(42, let final self::Class? #t52 = c in #t52 == null ?{core::int?} null : let final core::int? #t53 = self::Extension|get#property(#t52{self::Class}) in #t53 == null ?{core::int} let final core::int #t54 = 87 in let final void #t55 = self::Extension|set#property(#t52{self::Class}, #t54) in #t54 : #t53{core::int});
|
||||
let final self::Class? #t56 = c in #t56 == null ?{void} null : self::Extension|set#property(#t56{self::Class}, null);
|
||||
self::expect(null, let final self::Class? #t57 = c in #t57 == null ?{core::int?} null : self::Extension|get#property(#t57{self::Class}));
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
let final self::Class? #t58 = c in #t58 == null ?{core::int?} null : self::Extension|get#property(#t58{self::Class}) == null ?{core::int?} self::Extension|set#property(#t58{self::Class}, 42) : null;
|
||||
self::expect(42, let final self::Class? #t59 = c in #t59 == null ?{core::int?} null : self::Extension|get#property(#t59{self::Class}));
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
let final self::Class? #t60 = c in #t60 == null ?{core::int?} null : self::Extension|get#property(#t60{self::Class}) == null ?{core::int?} self::Extension|set#property(#t60{self::Class}, 87) : null;
|
||||
self::expect(42, let final self::Class? #t61 = c in #t61 == null ?{core::int?} null : self::Extension|get#property(#t61{self::Class}));
|
||||
let final self::Class? #t62 = c in #t62 == null ?{void} null : self::Extension|set#property(#t62{self::Class}, null);
|
||||
let final self::Class? #t63 = c in #t63 == null ?{dynamic} null : self::Extension|testImplicitThis(#t63{self::Class});
|
||||
|
|
8
pkg/front_end/testcases/general/if_null_assign.dart
Normal file
8
pkg/front_end/testcases/general/if_null_assign.dart
Normal file
|
@ -0,0 +1,8 @@
|
|||
// Copyright (c) 2023, 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.
|
||||
|
||||
method(int? a, int? b) {
|
||||
int j = a ??= 0;
|
||||
b ??= 0;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
static method method(core::int? a, core::int? b) → dynamic {
|
||||
core::int j = let final core::int? #t1 = a in #t1 == null ?{core::int} a = 0 : #t1{core::int};
|
||||
b == null ?{core::int?} b = 0 : null;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
static method method(core::int? a, core::int? b) → dynamic {
|
||||
core::int j = let final core::int? #t1 = a in #t1 == null ?{core::int} a = 0 : #t1{core::int};
|
||||
b == null ?{core::int?} b = 0 : null;
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
method(int? a, int? b) {}
|
|
@ -0,0 +1 @@
|
|||
method(int? a, int? b) {}
|
|
@ -0,0 +1,8 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
static method method(core::int? a, core::int? b) → dynamic {
|
||||
core::int j = let final core::int? #t1 = a in #t1 == null ?{core::int} a = 0 : #t1{core::int};
|
||||
b == null ?{core::int?} b = 0 : null;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
static method method(core::int? a, core::int? b) → dynamic {
|
||||
core::int j = let final core::int? #t1 = a in #t1 == null ?{core::int} a = 0 : #t1{core::int};
|
||||
b == null ?{core::int?} b = 0 : null;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
static method method(core::int? a, core::int? b) → dynamic
|
||||
;
|
|
@ -0,0 +1,8 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
static method method(core::int? a, core::int? b) → dynamic {
|
||||
core::int j = let final core::int? #t1 = a in #t1 == null ?{core::int} a = 0 : #t1{core::int};
|
||||
b == null ?{core::int?} b = 0 : null;
|
||||
}
|
|
@ -31,9 +31,9 @@ static method test(core::int? i, core::String s, self::A a) → dynamic {
|
|||
i = s;
|
||||
^" in s as{TypeError} core::int?;
|
||||
i = null;
|
||||
i == null ?{core::int} i = 1 : null;
|
||||
i == null ?{core::int?} i = 1 : null;
|
||||
i = null;
|
||||
i == null ?{core::Object} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i == null ?{core::Object?} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i ??= s;
|
||||
^" in s as{TypeError} core::int? : null;
|
||||
a = new self::A::•();
|
||||
|
|
|
@ -31,9 +31,9 @@ static method test(core::int? i, core::String s, self::A a) → dynamic {
|
|||
i = s;
|
||||
^" in s as{TypeError} core::int?;
|
||||
i = null;
|
||||
i == null ?{core::int} i = 1 : null;
|
||||
i == null ?{core::int?} i = 1 : null;
|
||||
i = null;
|
||||
i == null ?{core::Object} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i == null ?{core::Object?} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i ??= s;
|
||||
^" in s as{TypeError} core::int? : null;
|
||||
a = new self::A::•();
|
||||
|
|
|
@ -31,9 +31,9 @@ static method test(core::int? i, core::String s, self::A a) → dynamic {
|
|||
i = s;
|
||||
^" in s as{TypeError} core::int?;
|
||||
i = null;
|
||||
i == null ?{core::int} i = 1 : null;
|
||||
i == null ?{core::int?} i = 1 : null;
|
||||
i = null;
|
||||
i == null ?{core::Object} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i == null ?{core::Object?} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i ??= s;
|
||||
^" in s as{TypeError} core::int? : null;
|
||||
a = new self::A::•();
|
||||
|
|
|
@ -31,9 +31,9 @@ static method test(core::int? i, core::String s, self::A a) → dynamic {
|
|||
i = s;
|
||||
^" in s as{TypeError} core::int?;
|
||||
i = null;
|
||||
i == null ?{core::int} i = 1 : null;
|
||||
i == null ?{core::int?} i = 1 : null;
|
||||
i = null;
|
||||
i == null ?{core::Object} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i == null ?{core::Object?} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i ??= s;
|
||||
^" in s as{TypeError} core::int? : null;
|
||||
a = new self::A::•();
|
||||
|
|
|
@ -31,9 +31,9 @@ static method test(core::int? i, core::String s, self::A a) → dynamic {
|
|||
i = s;
|
||||
^" in s as{TypeError} core::int?;
|
||||
i = null;
|
||||
i == null ?{core::int} i = 1 : null;
|
||||
i == null ?{core::int?} i = 1 : null;
|
||||
i = null;
|
||||
i == null ?{core::Object} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i == null ?{core::Object?} i = invalid-expression "pkg/front_end/testcases/general/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
|
||||
i ??= s;
|
||||
^" in s as{TypeError} core::int? : null;
|
||||
a = new self::A::•();
|
||||
|
|
|
@ -65,9 +65,9 @@ static method test() → dynamic {
|
|||
let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
|
||||
self::Foo::staticField = 5;
|
||||
let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
|
||||
core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
|
||||
}
|
||||
|
|
|
@ -65,9 +65,9 @@ static method test() → dynamic {
|
|||
let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
|
||||
self::Foo::staticField = 5;
|
||||
let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
|
||||
core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
|
||||
}
|
||||
|
|
|
@ -65,9 +65,9 @@ static method test() → dynamic {
|
|||
let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
|
||||
self::Foo::staticField = 5;
|
||||
let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
|
||||
core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
|
||||
}
|
||||
|
|
|
@ -65,9 +65,9 @@ static method test() → dynamic {
|
|||
let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
|
||||
self::Foo::staticField = 5;
|
||||
let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
|
||||
core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
|
||||
}
|
||||
|
|
|
@ -65,9 +65,9 @@ static method test() → dynamic {
|
|||
let final self::Foo #t1 = foo in #t1 == null ?{core::int?} null : #t1.{self::Foo::field} = 5;
|
||||
self::Foo::staticField = 5;
|
||||
let final self::Foo #t2 = foo in #t2.{self::Foo::field}{core::int} == null ?{core::int} #t2.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
let final self::Foo #t3 = foo in #t3 == null ?{core::int?} null : #t3.{self::Foo::field}{core::int} == null ?{core::int} #t3.{self::Foo::field} = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 5 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 5 : null;
|
||||
core::int intValue = let final core::int #t4 = foo.{self::Foo::field}{core::int} in #t4 == null ?{core::int} 6 : #t4;
|
||||
core::num numValue = let final core::int #t5 = foo.{self::Foo::field}{core::int} in #t5 == null ?{core::num} 4.5 : #t5;
|
||||
}
|
||||
|
|
|
@ -283,7 +283,7 @@ library from "org-dartlang-test:///main.dart" as main {
|
|||
dart._internal::Sort::sort<dart.core::int>(this, let final (dart.core::int, dart.core::int) →? dart.core::int #t4 = compare in #t4 == null ?{(dart.core::int, dart.core::int) → dart.core::int} #C6 : #t4{(dart.core::int, dart.core::int) → dart.core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([dart.math::Random? random = #C2]) → void {
|
||||
random == null ?{dart.math::Random} random = dart.math::Random::•() : null;
|
||||
random == null ?{dart.math::Random?} random = dart.math::Random::•() : null;
|
||||
dart.core::int length = this.{dart.core::List::length}{dart.core::int};
|
||||
while (length.{dart.core::num::>}(1){(dart.core::num) → dart.core::bool}) {
|
||||
dart.core::int pos = random{dart.math::Random}.{dart.math::Random::nextInt}(length){(dart.core::int) → dart.core::int};
|
||||
|
@ -303,7 +303,7 @@ library from "org-dartlang-test:///main.dart" as main {
|
|||
} =>#t5;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(dart.core::int start, [dart.core::int? end = #C2]) → dart.core::List<dart.core::int> {
|
||||
dart.core::int listLength = this.{dart.core::List::length}{dart.core::int};
|
||||
end == null ?{dart.core::int} end = listLength : null;
|
||||
end == null ?{dart.core::int?} end = listLength : null;
|
||||
dart.core::RangeError::checkValidRange(start, end{dart.core::int}, listLength);
|
||||
return dart.core::List::from<dart.core::int>(this.{dart.collection::ListBase::getRange}(start, end{dart.core::int}){(dart.core::int, dart.core::int) → dart.core::Iterable<dart.core::int>});
|
||||
}
|
||||
|
|
|
@ -283,7 +283,7 @@ library from "org-dartlang-test:///main.dart" as main {
|
|||
dart._internal::Sort::sort<dart.core::int>(this, let final (dart.core::int, dart.core::int) →? dart.core::int #t4 = compare in #t4 == null ?{(dart.core::int, dart.core::int) → dart.core::int} #C6 : #t4{(dart.core::int, dart.core::int) → dart.core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([dart.math::Random? random = #C2]) → void {
|
||||
random == null ?{dart.math::Random} random = dart.math::Random::•() : null;
|
||||
random == null ?{dart.math::Random?} random = dart.math::Random::•() : null;
|
||||
dart.core::int length = this.{dart.core::List::length}{dart.core::int};
|
||||
while (length.{dart.core::num::>}(1){(dart.core::num) → dart.core::bool}) {
|
||||
dart.core::int pos = random{dart.math::Random}.{dart.math::Random::nextInt}(length){(dart.core::int) → dart.core::int};
|
||||
|
@ -303,7 +303,7 @@ library from "org-dartlang-test:///main.dart" as main {
|
|||
} =>#t5;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(dart.core::int start, [dart.core::int? end = #C2]) → dart.core::List<dart.core::int> {
|
||||
dart.core::int listLength = this.{dart.core::List::length}{dart.core::int};
|
||||
end == null ?{dart.core::int} end = listLength : null;
|
||||
end == null ?{dart.core::int?} end = listLength : null;
|
||||
dart.core::RangeError::checkValidRange(start, end{dart.core::int}, listLength);
|
||||
return dart.core::List::from<dart.core::int>(this.{dart.collection::ListBase::getRange}(start, end{dart.core::int}){(dart.core::int, dart.core::int) → dart.core::Iterable<dart.core::int>});
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@ static method main() → void {
|
|||
self::C::property.{core::List::[]}(0){(core::int) → core::int};
|
||||
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
|
||||
self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -91,7 +91,7 @@ static method main() → void {
|
|||
self::C::property.{core::List::[]}(0){(core::int) → core::int};
|
||||
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
|
||||
self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -91,7 +91,7 @@ static method main() → void {
|
|||
self::C::property.{core::List::[]}(0){(core::int) → core::int};
|
||||
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
|
||||
self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -91,7 +91,7 @@ static method main() → void {
|
|||
self::C::property.{core::List::[]}(0){(core::int) → core::int};
|
||||
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
|
||||
self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -91,7 +91,7 @@ static method main() → void {
|
|||
self::C::property.{core::List::[]}(0){(core::int) → core::int};
|
||||
self::C::property.{core::List::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final core::Map<core::int, core::int?> #t1 = self::C::property2 in let final core::int #t2 = 0 in #t1.{core::Map::[]}(#t2){(core::Object?) → core::int?} == null ?{core::int} #t1.{core::Map::[]=}(#t2, 0){(core::int, core::int?) → void} : null;
|
||||
self::C::staticMember2 == null ?{core::int} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember2 == null ?{core::int?} self::C::staticMember2 = 42 : null;
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(2){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::+}(1){(core::num) → core::int};
|
||||
self::C::staticMember = self::C::staticMember.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -135,7 +135,7 @@ class C extends core::Object {
|
|||
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
|
||||
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -135,7 +135,7 @@ class C extends core::Object {
|
|||
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
|
||||
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -135,7 +135,7 @@ class C extends core::Object {
|
|||
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
|
||||
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -135,7 +135,7 @@ class C extends core::Object {
|
|||
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
|
||||
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -135,7 +135,7 @@ class C extends core::Object {
|
|||
this.{self::C::property}{self::C}.{self::C::[]}(0){(core::int) → core::int?};
|
||||
this.{self::C::property}{self::C}.{self::C::[]=}(0, 0){(core::int, core::int) → void};
|
||||
let final self::C #t2 = this.{self::C::property}{self::C} in let final core::int #t3 = 0 in #t2.{self::C::[]}(#t3){(core::int) → core::int?} == null ?{core::int} #t2.{self::C::[]=}(#t3, 0){(core::int, core::int) → void} : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m1}{core::int?} == null ?{core::int?} this.{self::C::m1} = 42 : null;
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(2){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::+}(1){(core::num) → core::int};
|
||||
this.{self::C::m2} = this.{self::C::m2}{core::int}.{core::num::-}(1){(core::num) → core::int};
|
||||
|
|
|
@ -136,7 +136,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
|
|||
#t3.{core::String::length}{core::int};
|
||||
} =>#t3;
|
||||
let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
|
||||
s == null ?{core::String} s = "foo" : null;
|
||||
s == null ?{core::String?} s = "foo" : null;
|
||||
{
|
||||
final core::List<core::String> #t5 = <core::String>[];
|
||||
final core::Iterable<core::String>? #t6 = l;
|
||||
|
|
|
@ -136,7 +136,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
|
|||
#t3.{core::String::length}{core::int};
|
||||
} =>#t3;
|
||||
let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
|
||||
s == null ?{core::String} s = "foo" : null;
|
||||
s == null ?{core::String?} s = "foo" : null;
|
||||
{
|
||||
final core::List<core::String> #t5 = core::_GrowableList::•<core::String>(0);
|
||||
final core::Iterable<core::String>? #t6 = l;
|
||||
|
|
|
@ -136,7 +136,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
|
|||
#t3.{core::String::length}{core::int};
|
||||
} =>#t3;
|
||||
let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
|
||||
s == null ?{core::String} s = "foo" : null;
|
||||
s == null ?{core::String?} s = "foo" : null;
|
||||
{
|
||||
final core::List<core::String> #t5 = <core::String>[];
|
||||
final core::Iterable<core::String>? #t6 = l;
|
||||
|
|
|
@ -136,7 +136,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
|
|||
#t3.{core::String::length}{core::int};
|
||||
} =>#t3;
|
||||
let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
|
||||
s == null ?{core::String} s = "foo" : null;
|
||||
s == null ?{core::String?} s = "foo" : null;
|
||||
{
|
||||
final core::List<core::String> #t5 = <core::String>[];
|
||||
final core::Iterable<core::String>? #t6 = l;
|
||||
|
|
|
@ -136,7 +136,7 @@ static method warning(core::String s, core::List<core::String> l, core::Map<core
|
|||
#t3.{core::String::length}{core::int};
|
||||
} =>#t3;
|
||||
let final core::String #t4 = s in #t4 == null ?{core::String} "foo" : #t4;
|
||||
s == null ?{core::String} s = "foo" : null;
|
||||
s == null ?{core::String?} s = "foo" : null;
|
||||
{
|
||||
final core::List<core::String> #t5 = core::_GrowableList::•<core::String>(0);
|
||||
final core::Iterable<core::String>? #t6 = l;
|
||||
|
|
|
@ -478,7 +478,7 @@ static method ifNullPropertySetOptInForEffect(core::int i) → dynamic {
|
|||
static method ifNullSetOptIn(core::int i) → dynamic
|
||||
return let final core::int #t65 = i in #t65 == null ?{core::int} i = 42 : #t65;
|
||||
static method ifNullSetOptInForEffect(core::int i) → dynamic {
|
||||
i == null ?{core::int} i = 42 : null;
|
||||
i == null ?{core::int?} i = 42 : null;
|
||||
}
|
||||
static method ifNullSuperIndexSetOptIn(core::int i) → dynamic
|
||||
return new uns::OptInClass4::•().{uns::OptInClass4::method}(i){(core::int) → dynamic};
|
||||
|
|
|
@ -478,7 +478,7 @@ static method ifNullPropertySetOptInForEffect(core::int i) → dynamic {
|
|||
static method ifNullSetOptIn(core::int i) → dynamic
|
||||
return let final core::int #t65 = i in #t65 == null ?{core::int} i = 42 : #t65;
|
||||
static method ifNullSetOptInForEffect(core::int i) → dynamic {
|
||||
i == null ?{core::int} i = 42 : null;
|
||||
i == null ?{core::int?} i = 42 : null;
|
||||
}
|
||||
static method ifNullSuperIndexSetOptIn(core::int i) → dynamic
|
||||
return new uns::OptInClass4::•().{uns::OptInClass4::method}(i){(core::int) → dynamic};
|
||||
|
|
|
@ -478,7 +478,7 @@ static method ifNullPropertySetOptInForEffect(core::int i) → dynamic {
|
|||
static method ifNullSetOptIn(core::int i) → dynamic
|
||||
return let final core::int #t65 = i in #t65 == null ?{core::int} i = 42 : #t65;
|
||||
static method ifNullSetOptInForEffect(core::int i) → dynamic {
|
||||
i == null ?{core::int} i = 42 : null;
|
||||
i == null ?{core::int?} i = 42 : null;
|
||||
}
|
||||
static method ifNullSuperIndexSetOptIn(core::int i) → dynamic
|
||||
return new uns::OptInClass4::•().{uns::OptInClass4::method}(i){(core::int) → dynamic};
|
||||
|
|
|
@ -358,7 +358,7 @@ abstract class _CustomList&Object&ListMixin<E extends core::Object? = dynamic> e
|
|||
_in::Sort::sort<cac::_CustomList&Object&ListMixin::E%>(this, let final (cac::_CustomList&Object&ListMixin::E%, cac::_CustomList&Object&ListMixin::E%) →? core::int #t6 = compare in #t6 == null ?{(cac::_CustomList&Object&ListMixin::E%, cac::_CustomList&Object&ListMixin::E%) → core::int} #C9 : #t6{(cac::_CustomList&Object&ListMixin::E%, cac::_CustomList&Object&ListMixin::E%) → core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([math::Random? random = #C5]) → void {
|
||||
random == null ?{math::Random} random = math::Random::•() : null;
|
||||
random == null ?{math::Random?} random = math::Random::•() : null;
|
||||
core::int length = this.{core::List::length}{core::int};
|
||||
while (length.{core::num::>}(1){(core::num) → core::bool}) {
|
||||
core::int pos = random{math::Random}.{math::Random::nextInt}(length){(core::int) → core::int};
|
||||
|
@ -378,7 +378,7 @@ abstract class _CustomList&Object&ListMixin<E extends core::Object? = dynamic> e
|
|||
} =>#t7;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(core::int start, [core::int? end = #C5]) → core::List<cac::_CustomList&Object&ListMixin::E%> {
|
||||
core::int listLength = this.{core::List::length}{core::int};
|
||||
end == null ?{core::int} end = listLength : null;
|
||||
end == null ?{core::int?} end = listLength : null;
|
||||
core::RangeError::checkValidRange(start, end{core::int}, listLength);
|
||||
return core::List::from<cac::_CustomList&Object&ListMixin::E%>(this.{col::ListBase::getRange}(start, end{core::int}){(core::int, core::int) → core::Iterable<cac::_CustomList&Object&ListMixin::E%>});
|
||||
}
|
||||
|
|
|
@ -358,7 +358,7 @@ abstract class _CustomList&Object&ListMixin<E extends core::Object? = dynamic> e
|
|||
_in::Sort::sort<cac::_CustomList&Object&ListMixin::E%>(this, let final (cac::_CustomList&Object&ListMixin::E%, cac::_CustomList&Object&ListMixin::E%) →? core::int #t6 = compare in #t6 == null ?{(cac::_CustomList&Object&ListMixin::E%, cac::_CustomList&Object&ListMixin::E%) → core::int} #C9 : #t6{(cac::_CustomList&Object&ListMixin::E%, cac::_CustomList&Object&ListMixin::E%) → core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([math::Random? random = #C5]) → void {
|
||||
random == null ?{math::Random} random = math::Random::•() : null;
|
||||
random == null ?{math::Random?} random = math::Random::•() : null;
|
||||
core::int length = this.{core::List::length}{core::int};
|
||||
while (length.{core::num::>}(1){(core::num) → core::bool}) {
|
||||
core::int pos = random{math::Random}.{math::Random::nextInt}(length){(core::int) → core::int};
|
||||
|
@ -378,7 +378,7 @@ abstract class _CustomList&Object&ListMixin<E extends core::Object? = dynamic> e
|
|||
} =>#t7;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(core::int start, [core::int? end = #C5]) → core::List<cac::_CustomList&Object&ListMixin::E%> {
|
||||
core::int listLength = this.{core::List::length}{core::int};
|
||||
end == null ?{core::int} end = listLength : null;
|
||||
end == null ?{core::int?} end = listLength : null;
|
||||
core::RangeError::checkValidRange(start, end{core::int}, listLength);
|
||||
return core::List::from<cac::_CustomList&Object&ListMixin::E%>(this.{col::ListBase::getRange}(start, end{core::int}){(core::int, core::int) → core::Iterable<cac::_CustomList&Object&ListMixin::E%>});
|
||||
}
|
||||
|
|
|
@ -161,8 +161,8 @@ abstract class _MyMap&Object&MapMixin<K extends core::Object? = dynamic, V exten
|
|||
return result.{core::StringBuffer::toString}(){() → core::String};
|
||||
}
|
||||
static method /* from org-dartlang-sdk:///sdk/lib/collection/maps.dart */ _fillMapWithMappedIterable(core::Map<core::Object?, core::Object?> map, core::Iterable<core::Object?> iterable, (core::Object?) →? core::Object? key, (core::Object?) →? core::Object? value) → void {
|
||||
key == null ?{(core::Object?) → core::Object?} key = #C2 : null;
|
||||
value == null ?{(core::Object?) → core::Object?} value = #C2 : null;
|
||||
key == null ?{(core::Object?) →? core::Object?} key = #C2 : null;
|
||||
value == null ?{(core::Object?) →? core::Object?} value = #C2 : null;
|
||||
{
|
||||
synthesized core::Iterator<core::Object?> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<core::Object?>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
|
|
|
@ -161,8 +161,8 @@ abstract class _MyMap&Object&MapMixin<K extends core::Object? = dynamic, V exten
|
|||
return result.{core::StringBuffer::toString}(){() → core::String};
|
||||
}
|
||||
static method /* from org-dartlang-sdk:///sdk/lib/collection/maps.dart */ _fillMapWithMappedIterable(core::Map<core::Object?, core::Object?> map, core::Iterable<core::Object?> iterable, (core::Object?) →? core::Object? key, (core::Object?) →? core::Object? value) → void {
|
||||
key == null ?{(core::Object?) → core::Object?} key = #C2 : null;
|
||||
value == null ?{(core::Object?) → core::Object?} value = #C2 : null;
|
||||
key == null ?{(core::Object?) →? core::Object?} key = #C2 : null;
|
||||
value == null ?{(core::Object?) →? core::Object?} value = #C2 : null;
|
||||
{
|
||||
synthesized core::Iterator<core::Object?> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<core::Object?>};
|
||||
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
|
||||
|
|
|
@ -287,7 +287,7 @@ abstract class _A&Object&ListMixin extends core::Object implements col::ListBase
|
|||
_in::Sort::sort<core::int>(this, let final (core::int, core::int) →? core::int #t4 = compare in #t4 == null ?{(core::int, core::int) → core::int} #C6 : #t4{(core::int, core::int) → core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([math::Random? random = #C2]) → void {
|
||||
random == null ?{math::Random} random = math::Random::•() : null;
|
||||
random == null ?{math::Random?} random = math::Random::•() : null;
|
||||
core::int length = this.{core::List::length}{core::int};
|
||||
while (length.{core::num::>}(1){(core::num) → core::bool}) {
|
||||
core::int pos = random{math::Random}.{math::Random::nextInt}(length){(core::int) → core::int};
|
||||
|
@ -307,7 +307,7 @@ abstract class _A&Object&ListMixin extends core::Object implements col::ListBase
|
|||
} =>#t5;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(core::int start, [core::int? end = #C2]) → core::List<core::int> {
|
||||
core::int listLength = this.{core::List::length}{core::int};
|
||||
end == null ?{core::int} end = listLength : null;
|
||||
end == null ?{core::int?} end = listLength : null;
|
||||
core::RangeError::checkValidRange(start, end{core::int}, listLength);
|
||||
return core::List::from<core::int>(this.{col::ListBase::getRange}(start, end{core::int}){(core::int, core::int) → core::Iterable<core::int>});
|
||||
}
|
||||
|
|
|
@ -287,7 +287,7 @@ abstract class _A&Object&ListMixin extends core::Object implements col::ListBase
|
|||
_in::Sort::sort<core::int>(this, let final (core::int, core::int) →? core::int #t4 = compare in #t4 == null ?{(core::int, core::int) → core::int} #C6 : #t4{(core::int, core::int) → core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([math::Random? random = #C2]) → void {
|
||||
random == null ?{math::Random} random = math::Random::•() : null;
|
||||
random == null ?{math::Random?} random = math::Random::•() : null;
|
||||
core::int length = this.{core::List::length}{core::int};
|
||||
while (length.{core::num::>}(1){(core::num) → core::bool}) {
|
||||
core::int pos = random{math::Random}.{math::Random::nextInt}(length){(core::int) → core::int};
|
||||
|
@ -307,7 +307,7 @@ abstract class _A&Object&ListMixin extends core::Object implements col::ListBase
|
|||
} =>#t5;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(core::int start, [core::int? end = #C2]) → core::List<core::int> {
|
||||
core::int listLength = this.{core::List::length}{core::int};
|
||||
end == null ?{core::int} end = listLength : null;
|
||||
end == null ?{core::int?} end = listLength : null;
|
||||
core::RangeError::checkValidRange(start, end{core::int}, listLength);
|
||||
return core::List::from<core::int>(this.{col::ListBase::getRange}(start, end{core::int}){(core::int, core::int) → core::Iterable<core::int>});
|
||||
}
|
||||
|
|
|
@ -287,7 +287,7 @@ abstract class _NegativeLengthList&Object&ListMixin<E extends core::Object? = dy
|
|||
_in::Sort::sort<self::_NegativeLengthList&Object&ListMixin::E%>(this, let final (self::_NegativeLengthList&Object&ListMixin::E%, self::_NegativeLengthList&Object&ListMixin::E%) →? core::int #t4 = compare in #t4 == null ?{(self::_NegativeLengthList&Object&ListMixin::E%, self::_NegativeLengthList&Object&ListMixin::E%) → core::int} #C6 : #t4{(self::_NegativeLengthList&Object&ListMixin::E%, self::_NegativeLengthList&Object&ListMixin::E%) → core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([math::Random? random = #C2]) → void {
|
||||
random == null ?{math::Random} random = math::Random::•() : null;
|
||||
random == null ?{math::Random?} random = math::Random::•() : null;
|
||||
core::int length = this.{core::List::length}{core::int};
|
||||
while (length.{core::num::>}(1){(core::num) → core::bool}) {
|
||||
core::int pos = random{math::Random}.{math::Random::nextInt}(length){(core::int) → core::int};
|
||||
|
@ -307,7 +307,7 @@ abstract class _NegativeLengthList&Object&ListMixin<E extends core::Object? = dy
|
|||
} =>#t5;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(core::int start, [core::int? end = #C2]) → core::List<self::_NegativeLengthList&Object&ListMixin::E%> {
|
||||
core::int listLength = this.{core::List::length}{core::int};
|
||||
end == null ?{core::int} end = listLength : null;
|
||||
end == null ?{core::int?} end = listLength : null;
|
||||
core::RangeError::checkValidRange(start, end{core::int}, listLength);
|
||||
return core::List::from<self::_NegativeLengthList&Object&ListMixin::E%>(this.{col::ListBase::getRange}(start, end{core::int}){(core::int, core::int) → core::Iterable<self::_NegativeLengthList&Object&ListMixin::E%>});
|
||||
}
|
||||
|
|
|
@ -287,7 +287,7 @@ abstract class _NegativeLengthList&Object&ListMixin<E extends core::Object? = dy
|
|||
_in::Sort::sort<self::_NegativeLengthList&Object&ListMixin::E%>(this, let final (self::_NegativeLengthList&Object&ListMixin::E%, self::_NegativeLengthList&Object&ListMixin::E%) →? core::int #t4 = compare in #t4 == null ?{(self::_NegativeLengthList&Object&ListMixin::E%, self::_NegativeLengthList&Object&ListMixin::E%) → core::int} #C6 : #t4{(self::_NegativeLengthList&Object&ListMixin::E%, self::_NegativeLengthList&Object&ListMixin::E%) → core::int});
|
||||
}
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ shuffle([math::Random? random = #C2]) → void {
|
||||
random == null ?{math::Random} random = math::Random::•() : null;
|
||||
random == null ?{math::Random?} random = math::Random::•() : null;
|
||||
core::int length = this.{core::List::length}{core::int};
|
||||
while (length.{core::num::>}(1){(core::num) → core::bool}) {
|
||||
core::int pos = random{math::Random}.{math::Random::nextInt}(length){(core::int) → core::int};
|
||||
|
@ -307,7 +307,7 @@ abstract class _NegativeLengthList&Object&ListMixin<E extends core::Object? = dy
|
|||
} =>#t5;
|
||||
method /* from org-dartlang-sdk:///sdk/lib/collection/list.dart */ sublist(core::int start, [core::int? end = #C2]) → core::List<self::_NegativeLengthList&Object&ListMixin::E%> {
|
||||
core::int listLength = this.{core::List::length}{core::int};
|
||||
end == null ?{core::int} end = listLength : null;
|
||||
end == null ?{core::int?} end = listLength : null;
|
||||
core::RangeError::checkValidRange(start, end{core::int}, listLength);
|
||||
return core::List::from<self::_NegativeLengthList&Object&ListMixin::E%>(this.{col::ListBase::getRange}(start, end{core::int}){(core::int, core::int) → core::Iterable<self::_NegativeLengthList&Object&ListMixin::E%>});
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ class Sub extends self::Base {
|
|||
get hashCode() → core::int
|
||||
return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
|
||||
method foo() → dynamic {
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int?} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
}
|
||||
}
|
||||
static method main() → dynamic {
|
||||
|
|
|
@ -16,7 +16,7 @@ class Sub extends self::Base {
|
|||
get hashCode() → core::int
|
||||
return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
|
||||
method foo() → dynamic {
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int?} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
}
|
||||
}
|
||||
static method main() → dynamic {
|
||||
|
|
|
@ -16,7 +16,7 @@ class Sub extends self::Base {
|
|||
get hashCode() → core::int
|
||||
return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
|
||||
method foo() → dynamic {
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int?} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
}
|
||||
}
|
||||
static method main() → dynamic {
|
||||
|
|
|
@ -16,7 +16,7 @@ class Sub extends self::Base {
|
|||
get hashCode() → core::int
|
||||
return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
|
||||
method foo() → dynamic {
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int?} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
}
|
||||
}
|
||||
static method main() → dynamic {
|
||||
|
|
|
@ -16,7 +16,7 @@ class Sub extends self::Base {
|
|||
get hashCode() → core::int
|
||||
return let final core::int? #t1 = this.{self::Sub::_hashCode}{core::int?} in #t1 == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : #t1{core::int};
|
||||
method foo() → dynamic {
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
this.{self::Sub::_hashCode}{core::int?} == null ?{core::int?} this.{self::Sub::_hashCode} = super.{self::Base::hashCode} : null;
|
||||
}
|
||||
}
|
||||
static method main() → dynamic {
|
||||
|
|
|
@ -322,7 +322,7 @@ Try correcting the name to the name of an existing method, or defining a method
|
|||
self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
|
||||
use(Foo.staticConstant ??= 87);
|
||||
^^^^^^^^^^^^^^" : #t11);
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 87 : null;
|
||||
self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
|
||||
#C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
|
||||
Foo.staticFunction ??= 87;
|
||||
|
|
|
@ -322,7 +322,7 @@ Try correcting the name to the name of an existing method, or defining a method
|
|||
self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
|
||||
use(Foo.staticConstant ??= 87);
|
||||
^^^^^^^^^^^^^^" : #t11);
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 87 : null;
|
||||
self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
|
||||
#C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
|
||||
Foo.staticFunction ??= 87;
|
||||
|
|
|
@ -322,7 +322,7 @@ Try correcting the name to the name of an existing method, or defining a method
|
|||
self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
|
||||
use(Foo.staticConstant ??= 87);
|
||||
^^^^^^^^^^^^^^" : #t11);
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 87 : null;
|
||||
self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
|
||||
#C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
|
||||
Foo.staticFunction ??= 87;
|
||||
|
|
|
@ -322,7 +322,7 @@ Try correcting the name to the name of an existing method, or defining a method
|
|||
self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
|
||||
use(Foo.staticConstant ??= 87);
|
||||
^^^^^^^^^^^^^^" : #t11);
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 87 : null;
|
||||
self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
|
||||
#C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
|
||||
Foo.staticFunction ??= 87;
|
||||
|
|
|
@ -322,7 +322,7 @@ Try correcting the name to the name of an existing method, or defining a method
|
|||
self::use(let final core::int #t11 = #C1 in #t11 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
|
||||
use(Foo.staticConstant ??= 87);
|
||||
^^^^^^^^^^^^^^" : #t11);
|
||||
self::Foo::staticField == null ?{core::int} self::Foo::staticField = 87 : null;
|
||||
self::Foo::staticField == null ?{core::int?} self::Foo::staticField = 87 : null;
|
||||
self::use(let final core::int #t12 = self::Foo::staticField in #t12 == null ?{core::int} self::Foo::staticField = 87 : #t12);
|
||||
#C2 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
|
||||
Foo.staticFunction ??= 87;
|
||||
|
|
|
@ -625,7 +625,7 @@ Try removing the extra positional arguments.
|
|||
self::use(let final () → void #t50 = super.{self::A::m} in #t50 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/super.dart:198:15: Error: Superclass has no setter named 'm'.
|
||||
use(super.m ??= 42);
|
||||
^" : #t50);
|
||||
super.{self::A::n} == null ?{core::Object} super.{self::A::n} = 42 : null;
|
||||
super.{self::A::n} == null ?{core::Object?} super.{self::A::n} = 42 : null;
|
||||
self::use(let final () → void #t51 = super.{self::A::n} in #t51 == null ?{core::Object} super.{self::A::n} = 42 : #t51);
|
||||
super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
|
||||
self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
|
||||
|
|
|
@ -625,7 +625,7 @@ Try removing the extra positional arguments.
|
|||
self::use(let final () → void #t50 = super.{self::A::m} in #t50 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/super.dart:198:15: Error: Superclass has no setter named 'm'.
|
||||
use(super.m ??= 42);
|
||||
^" : #t50);
|
||||
super.{self::A::n} == null ?{core::Object} super.{self::A::n} = 42 : null;
|
||||
super.{self::A::n} == null ?{core::Object?} super.{self::A::n} = 42 : null;
|
||||
self::use(let final () → void #t51 = super.{self::A::n} in #t51 == null ?{core::Object} super.{self::A::n} = 42 : #t51);
|
||||
super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
|
||||
self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
|
||||
|
|
|
@ -625,7 +625,7 @@ Try removing the extra positional arguments.
|
|||
self::use(let final () → void #t50 = super.{self::A::m} in #t50 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/super.dart:198:15: Error: Superclass has no setter named 'm'.
|
||||
use(super.m ??= 42);
|
||||
^" : #t50);
|
||||
super.{self::A::n} == null ?{core::Object} super.{self::A::n} = 42 : null;
|
||||
super.{self::A::n} == null ?{core::Object?} super.{self::A::n} = 42 : null;
|
||||
self::use(let final () → void #t51 = super.{self::A::n} in #t51 == null ?{core::Object} super.{self::A::n} = 42 : #t51);
|
||||
super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
|
||||
self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
|
||||
|
|
|
@ -625,7 +625,7 @@ Try removing the extra positional arguments.
|
|||
self::use(let final () → void #t50 = super.{self::A::m} in #t50 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/super.dart:198:15: Error: Superclass has no setter named 'm'.
|
||||
use(super.m ??= 42);
|
||||
^" : #t50);
|
||||
super.{self::A::n} == null ?{core::Object} super.{self::A::n} = 42 : null;
|
||||
super.{self::A::n} == null ?{core::Object?} super.{self::A::n} = 42 : null;
|
||||
self::use(let final () → void #t51 = super.{self::A::n} in #t51 == null ?{core::Object} super.{self::A::n} = 42 : #t51);
|
||||
super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
|
||||
self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
|
||||
|
|
|
@ -625,7 +625,7 @@ Try removing the extra positional arguments.
|
|||
self::use(let final () → void #t50 = super.{self::A::m} in #t50 == null ?{invalid-type} invalid-expression "pkg/front_end/testcases/rasta/super.dart:198:15: Error: Superclass has no setter named 'm'.
|
||||
use(super.m ??= 42);
|
||||
^" : #t50);
|
||||
super.{self::A::n} == null ?{core::Object} super.{self::A::n} = 42 : null;
|
||||
super.{self::A::n} == null ?{core::Object?} super.{self::A::n} = 42 : null;
|
||||
self::use(let final () → void #t51 = super.{self::A::n} in #t51 == null ?{core::Object} super.{self::A::n} = 42 : #t51);
|
||||
super.{self::A::a} = super.{self::A::a}{dynamic}.+(42);
|
||||
self::use(super.{self::A::a} = super.{self::A::a}{dynamic}.+(42));
|
||||
|
|
Loading…
Reference in a new issue