| Index: dart/tests/language/inline_super_test.dart
|
| diff --git a/dart/tests/language/inline_super_test.dart b/dart/tests/language/inline_super_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..9305984ba304dc788310a6259cf4222038d7286f
|
| --- /dev/null
|
| +++ b/dart/tests/language/inline_super_test.dart
|
| @@ -0,0 +1,36 @@
|
| +// Copyright (c) 2012, 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.
|
| +
|
| +// Regression test for dart2js issue 6639.
|
| +
|
| +library inline_super_test;
|
| +
|
| +part 'inline_super_part.dart';
|
| +
|
| +// Long comment to ensure source positions in the following code are
|
| +// larger than the part file. Best way to ensure that is to include
|
| +// the part as a comment:
|
| +//
|
| +// class Player extends LivingActor {
|
| +// Player (deathCallback) : super(null, deathCallback);
|
| +// }
|
| +
|
| +class Percept {}
|
| +
|
| +class Actor {
|
| + final percept;
|
| + Actor(this.percept);
|
| +}
|
| +
|
| +class LivingActor extends Actor {
|
| + // The bug occurs when inlining the node [:new Percept():] into
|
| + // [Actor]'s constructor. When this inlining is being initiated
|
| + // from [Player], we must take care to ensure that we know that we
|
| + // are inlining from this location, and not [Player].
|
| + LivingActor () : super(new Percept());
|
| +}
|
| +
|
| +main() {
|
| + Expect.isTrue(new Player().percept is Percept);
|
| +}
|
|
|