Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / tools / idl_parser / test_parser / exception_web.idl
blob3801a4aa7dcf6a121b20a10d92c579e1a9c50e3a
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 Exception 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.
33 /* TREE
34 *Exception(MyExc)
36 exception MyExc { };
38 /* TREE
39 *Exception(MyExcInherit)
40 * Inherit(Foo)
42 exception MyExcInherit : Foo {};
44 /* ERROR Unexpected keyword "exception" after keyword "partial". */
45 partial exception MyExcPartial { };
47 /* TREE
48 *Exception(MyExcBig)
49 * ExceptionField(MyString)
50 * Type()
51 * PrimitiveType(DOMString)
52 * Error(Unexpected "=" after identifier "ErrorSetLong".)
53 * ExceptionField(MyLong)
54 * Type()
55 * PrimitiveType(long)
57 exception MyExcBig {
58 DOMString MyString;
59 unsigned long long ErrorSetLong = 123;
60 long MyLong;
64 /* ERROR Unexpected "{" after keyword "exception". */
65 exception {
66 DOMString? setString = null;
70 /* ERROR Unexpected identifier "NoColon" after identifier "ForParent". */
71 exception ForParent NoColon {
72 DOMString? setString = null;
75 /* TREE
76 *Exception(MyExcConst)
77 * Const(setString)
78 * PrimitiveType(DOMString)
79 * Value(NULL)
81 exception MyExcConst {
82 const DOMString? setString = null;