• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
2   Use of this source code is governed by a BSD-style license that can be
3  found in the LICENSE file. */
4
5/* Test Implements productions
6
7Run with --test to generate an AST and verify that all comments accurately
8reflect the state of the Nodes.
9
10BUILD Type(Name)
11This comment signals that a node of type <Type> is created with the
12name <Name>.
13
14ERROR Error String
15This comment signals that a error of <Error String> is generated.  The error
16is not assigned to a node, but are expected in order.
17
18PROP Key=Value
19This comment signals that a property has been set on the Node such that
20<Key> = <Value>.
21
22TREE
23Type(Name)
24  Type(Name)
25  Type(Name)
26    Type(Name)
27    ...
28This comment signals that a tree of nodes matching the BUILD comment
29symatics should exist.  This is an exact match.
30*/
31
32/* BUILD Implements(A) */
33/* PROP REFERENCE=B */
34A implements B;
35
36/* ERROR Unexpected ";" after keyword "implements". */
37A implements;
38
39/* BUILD Implements(B) */
40/* PROP REFERENCE=C */
41B implements C;
42
43/* ERROR Unexpected keyword "implements" after "]". */
44[foo] implements B;
45
46/* BUILD Implements(D) */
47/* PROP REFERENCE=E */
48D implements E;
49
50/* ERROR Unexpected keyword "implements" after comment. */
51implements C;
52
53