blob: b120897c338d1b2cfaba0e663622f0454dc7c3c5 [file] [log] [blame]
/*
* Copyright (c) 2011, 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.
*/
/**
* @assertion classDefinition:
* metadata abstract? class identifier typeParameters? (superclass mixins?)?
* interfaces? ‘{’ (metadata classMemberDefinition)* ‘}’ |
* metadata abstract? class mixinApplicationClass
* ;
* . . .
* classMemberDefinition:
* declaration ‘;’ |
* methodSignature functionBody
* ;
* methodSignature:
* constructorSignature initializers? |
* factoryConstructorSignature |
* static? functionSignature |
* static? getterSignature |
* static? setterSignature |
* operatorSignature
* ;
* declaration:
* constantConstructorSignature (redirection | initializers)? |
* constructorSignature (redirection | initializers)? |
* external constantConstructorSignature |
* external constructorSignature |
* (external static?)? getterSignature |
* (external static?)? setterSignature |
* external? operatorSignature |
* (external static?)? functionSignature |
* static (final | const) type? staticFinalDeclarationList |
* final type? initializedIdentifierList |
* static? (var | type) initializedIdentifierList
* ;
* @description Checks that a switch statement can't be used in place of a
* class member definition.
* @compile-error
* @author msyabro
*/
class A {
switch (1 + 1) {
case 1: break;
case 2: break;
default: ;
}
}
main() {
new A();
}