| // 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. |
| |
| // @dart = 2.9 |
| |
| class SyntaxTest { |
| // "this" cannot be used as a field name. |
| SyntaxTest this; //# 01: syntax error |
| |
| // Syntax error. |
| foo {} //# 02: syntax error |
| |
| // Syntax error. |
| static foo {} //# 03: syntax error |
| |
| // Syntax error. |
| operator +=() {} //# 04: syntax error |
| |
| // Syntax error. |
| operator -=() {} //# 05: syntax error |
| |
| // Syntax error. |
| operator *=() {} //# 06: syntax error |
| |
| // Syntax error. |
| operator /=() {} //# 07: syntax error |
| |
| // Syntax error. |
| operator ~/=() {} //# 08: syntax error |
| |
| // Syntax error. |
| operator %=() {} //# 09: syntax error |
| |
| // Syntax error. |
| operator <<=() {} //# 10: syntax error |
| |
| // Syntax error. |
| operator >>=() {} //# 11: syntax error |
| |
| // Syntax error. |
| operator >>>=() {} //# 12: syntax error |
| |
| // Syntax error. |
| operator &=() {} //# 13: syntax error |
| |
| // Syntax error. |
| operator ^=() {} //# 14: syntax error |
| |
| // Syntax error. |
| operator |=() {} //# 15: syntax error |
| |
| // Syntax error. |
| operator ?() {} //# 16: syntax error |
| |
| // Syntax error. |
| operator ||() {} //# 17: syntax error |
| |
| // Syntax error. |
| operator &&() {} //# 18: syntax error |
| |
| // Syntax error. |
| operator !=() {} //# 19: syntax error |
| |
| // Syntax error. |
| operator ===() {} //# 20: syntax error |
| |
| // Syntax error. |
| operator !==() {} //# 21: syntax error |
| |
| // Syntax error. |
| operator is() {} //# 22: syntax error |
| |
| // Syntax error. |
| operator !() {} //# 23: syntax error |
| |
| // Syntax error. |
| operator ++() {} //# 24: syntax error |
| |
| // Syntax error. |
| operator --() {} //# 25: syntax error |
| |
| // Syntax error. |
| bool operator ===(A other) { return true; } //# 26: syntax error |
| |
| int sample; |
| } |
| |
| fisk {} //# 27: syntax error |
| |
| class DOMWindow {} |
| |
| class Window extends DOMWindow |
| native "*Window" //# 28: syntax error |
| {} |
| |
| class Console |
| native "=(typeof console == 'undefined' ? {} : console)" //# 29: syntax error |
| {} |
| |
| class NativeClass |
| native "FooBar" //# 30: syntax error |
| {} |
| |
| abstract class Fisk {} |
| |
| class BoolImplementation implements Fisk |
| native "Boolean" //# 31: syntax error |
| {} |
| |
| class _JSON |
| native 'JSON' //# 32: syntax error |
| {} |
| |
| class ListFactory<E> implements List<E> |
| native "Array" //# 33: syntax error |
| { |
| noSuchMethod(_) => null; // Allow unimplemented methods |
| } |
| |
| abstract class I implements UNKNOWN; //# 34: syntax error |
| |
| class XWindow extends DOMWindow |
| hest "*Window" //# 35: syntax error |
| {} |
| |
| class XConsole |
| hest "=(typeof console == 'undefined' ? {} : console)" //# 36: syntax error |
| {} |
| |
| class XNativeClass |
| hest "FooBar" //# 37: syntax error |
| {} |
| |
| class XBoolImplementation implements Fisk |
| hest "Boolean" //# 38: syntax error |
| {} |
| |
| class _JSONX |
| hest 'JSON' //# 39: syntax error |
| {} |
| |
| class XListFactory<E> implements List<E> |
| hest "Array" //# 40: syntax error |
| { |
| noSuchMethod(_) => null; // Allow unimplemented methods |
| } |
| |
| class YWindow extends DOMWindow |
| for "*Window" //# 41: syntax error |
| {} |
| |
| class YConsole |
| for "=(typeof console == 'undefined' ? {} : console)" //# 42: syntax error |
| {} |
| |
| class YNativeClass |
| for "FooBar" //# 43: syntax error |
| {} |
| |
| class YBoolImplementation implements Fisk |
| for "Boolean" //# 44: syntax error |
| {} |
| |
| class _JSONY |
| for 'JSON' //# 45: syntax error |
| {} |
| |
| class YListFactory<E> implements List<E> |
| for "Array" //# 46: syntax error |
| { |
| noSuchMethod(_) => null; // Allow unimplemented methods |
| } |
| |
| class A { |
| const A() |
| {} //# 47: syntax error |
| ; |
| } |
| |
| abstract class G<T> {} |
| |
| typedef <T>(); //# 48: syntax error |
| |
| class B |
| extends void //# 49: syntax error |
| {} |
| |
| main() { |
| try { |
| new SyntaxTest(); |
| new SyntaxTest().foo(); //# 02: continued |
| SyntaxTest.foo(); //# 03: continued |
| fisk(); //# 27: continued |
| |
| new Window(); |
| new Console(); |
| new NativeClass(); |
| new BoolImplementation(); |
| new _JSON(); |
| new ListFactory(); |
| new ListFactory<Object>(); |
| var x = null; |
| x is I; //# 34: continued |
| |
| new XConsole(); |
| new XNativeClass(); |
| new XBoolImplementation(); |
| new _JSONX(); |
| new XListFactory(); |
| new XListFactory<Object>(); |
| |
| new YConsole(); |
| new YNativeClass(); |
| new YBoolImplementation(); |
| new _JSONY(); |
| new YListFactory(); |
| new YListFactory<Object>(); |
| |
| futureOf(x) {} |
| if (!(fisk futureOf(false))) {} //# 50: syntax error |
| if (!(await futureOf(false))) {} //# 51: compile-time error |
| |
| void f{} //# 52: syntax error |
| G<int double> g; //# 53: syntax error |
| f(void) {}; //# 54: syntax error |
| |
| optionalArg([x]) {} |
| optionalArg( |
| void (var i) {} //# 55: syntax error |
| ); |
| |
| function __PROTO__$(...args) { return 12; } //# 56: syntax error |
| G<> t; //# 57: syntax error |
| G<null> t; //# 58: syntax error |
| A<void> a = null; //# 59: compile-time error |
| void v; //# 60: ok |
| void v = null; //# 61: ok |
| print(null is void); //# 62: syntax error |
| new A(); |
| new B(); |
| |
| new Bad(); |
| |
| 1 + 2 = 1; //# 63: syntax error |
| new SyntaxTest() = 1; //# 64: syntax error |
| futureOf(null) = 1; //# 65: syntax error |
| |
| } catch (ex) { |
| // Swallowing exceptions. Any error should be a compile-time error |
| // which kills the current isolate. |
| } |
| } |
| |
| class Bad { |
| factory Bad<Bad(String type) { return null; } //# 63: syntax error |
| } |