| // 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 A symbol literal denotes the name of a declaration in a Dart |
| /// program. |
| /// symbolLiteral: |
| /// `#' (operator | (identifier (`.' identifier)*)) |
| /// ; |
| /// A symbol literal #id where id does not begin with an underscore (_) is |
| /// equivalent to the expression const Symbol(id). |
| /// A symbol literal #_id evaluates to the object that would be returned by |
| /// the call mirror.getPrivateSymbol(id) where mirror is an instance of the |
| /// class LibraryMirror defined in the library dart:mirrors, reflecting the |
| /// current library. |
| /// @description Checks that symbol literal of the kind #id(.id)* can be used |
| /// and it is equivalent to corresponding const Symbol object. |
| /// @author ilya |
| |
| import '../../../Utils/expect.dart'; |
| |
| main() { |
| const CheckIdentical(const Symbol('foo'), #foo); |
| const CheckIdentical(const Symbol(r'foo_.bar123$'), #foo_.bar123$); |
| } |
| |
| |