Roll src/third_party/WebKit f36d5e0:68b67cd (svn 193299:193303)
[chromium-blink-merge.git] / tools / idl_parser / test_parser / implements_web.idl
blob252dd4bb7f8366f26eafbb7fa6c444fa81bbc280
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. */
5 /* Test Implements productions
7 Run with --test to generate an AST and verify that all comments accurately
8 reflect the state of the Nodes.
10 BUILD Type(Name)
11 This comment signals that a node of type <Type> is created with the
12 name <Name>.
14 ERROR Error String
15 This comment signals that a error of <Error String> is generated. The error
16 is not assigned to a node, but are expected in order.
18 PROP Key=Value
19 This comment signals that a property has been set on the Node such that
20 <Key> = <Value>.
22 TREE
23 Type(Name)
24 Type(Name)
25 Type(Name)
26 Type(Name)
27 ...
28 This comment signals that a tree of nodes matching the BUILD comment
29 symatics should exist. This is an exact match.
32 /* BUILD Implements(A) */
33 /* PROP REFERENCE=B */
34 A implements B;
36 /* ERROR Unexpected ";" after keyword "implements". */
37 A implements;
39 /* BUILD Implements(B) */
40 /* PROP REFERENCE=C */
41 B implements C;
43 /* ERROR Unexpected keyword "implements" after "]". */
44 [foo] implements B;
46 /* BUILD Implements(D) */
47 /* PROP REFERENCE=E */
48 D implements E;
50 /* ERROR Unexpected keyword "implements" after comment. */
51 implements C;