Files
sdk/pkg/front_end/testcases/escape.dart
T
Peter von der Ahé 893b4d4fe9 Add missing copyright on test cases.
Also rename void-methods.dart to void_methods.dart.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/3006963002 .
2017-08-31 13:09:20 +02:00

49 lines
717 B
Dart

// Copyright (c) 2017, 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.
class A {
var field;
}
class B {
var field;
}
class C {
operator ==(x) => false;
}
class X implements A, B {
var field;
}
void useAsA(A object) {
var _ = object.field;
}
void useAsB(B object) {
var _ = object.field;
escape(object);
}
void escape(x) {
x ??= "";
x ??= 45;
if (x is! int && x is! String) {
x.field = 45;
}
}
main() {
// escape("");
// escape(45);
var object = new X();
useAsA(new A());
useAsA(object);
useAsB(new B());
useAsB(object);
}