blob: 72db71d529530733999ebed53e91c9d6ade92d6a [file] [log] [blame]
// 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.
class DOMWindow {}
class Window extends DOMWindow native "*Window" {}
// ^^^^^^^^^^^^^^^^
// [analyzer] SYNTACTIC_ERROR.NATIVE_CLAUSE_IN_NON_SDK_CODE
// [cfe] expect cfe to report an error here
class Console native "=(typeof console == 'undefined' ? {} : console)" {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// [analyzer] SYNTACTIC_ERROR.NATIVE_CLAUSE_IN_NON_SDK_CODE
// [cfe] expect cfe to report an error here
class NativeClass native "FooBar" {}
// ^^^^^^^^^^^^^^^
// [analyzer] SYNTACTIC_ERROR.NATIVE_CLAUSE_IN_NON_SDK_CODE
// [cfe] expect cfe to report an error here
abstract class Fisk {}
class BoolImplementation implements Fisk native "Boolean" {}
// ^^^^^^^^^^^^^^^^
// [analyzer] SYNTACTIC_ERROR.NATIVE_CLAUSE_IN_NON_SDK_CODE
// [cfe] expect cfe to report an error here
class _JSON native 'JSON' {}
// ^^^^^^^^^^^^^
// [analyzer] SYNTACTIC_ERROR.NATIVE_CLAUSE_IN_NON_SDK_CODE
// [cfe] expect cfe to report an error here
class ListFactory<E> implements List<E> native "Array" {
// ^^^^^^^^^^^^^^
// [analyzer] SYNTACTIC_ERROR.NATIVE_CLAUSE_IN_NON_SDK_CODE
// [cfe] expect cfe to report an error here
noSuchMethod(_) => null; // Allow unimplemented methods
}
main() {
try {
new Window();
new Console();
new NativeClass();
new BoolImplementation();
new _JSON();
new ListFactory();
new ListFactory<Object>();
} catch (ex) {
// Swallowing exceptions. Any error should be a compile-time error
// which kills the current isolate.
}
throw 'This test should fail to compile, not throw a run-time error.';
}