blob: 494622284b123b58d1665bf65e29248d13f4a970 [file] [log] [blame]
// Copyright (c) 2021, 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.
// See
// VMOptions=--no-enable-isolate-groups
// VMOptions=--enable-isolate-groups
import "dart:isolate";
import "package:async_helper/async_helper.dart";
import "package:expect/expect.dart";
main() {
var port;
port = new RawReceivePort((message) {
var expando1 = message[0] as Expando;
var expando2 = message[1] as Expando;
var expando3 = message[2] as Expando;
var key1 = message[3];
var key2 = expando1[key1!];
var key3 = expando2[key2!];
var value = expando3[key3!];
Expect.equals(value, "value");
var key1 = new Object();
var key2 = new Object();
var key3 = new Object();
var expando1 = new Expando();
var expando2 = new Expando();
var expando3 = new Expando();
expando1[key1] = key2;
expando2[key2] = key3;
expando3[key3] = "value";
// key1 is placed after expando1 so that its reachability is uncertain when
// expando1 is first encountered.
var message = <dynamic>[expando1, expando2, expando3, key1];