blob: 143c1e6a5b04548252d8b63b276c7975a09c8662 [file] [log] [blame]
// 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.
import "native_testing.dart";
abstract class Window {
final int document;
}
// Defining this global object makes Frog eager on optimizing
// call sites where the receiver is typed 'Window'.
@Native("@*DOMWindow")
class _DOMWindowJs implements Window {
final int document;
}
class Win implements Window {
noSuchMethod(m) => super.noSuchMethod(m);
}
main() {
nativeTesting();
// By not typing the variable, Frog does not try to optimize calls
// on it.
dynamic win = new Win();
Expect.throws(() => win.document, (e) => e is NoSuchMethodError);
}