| Index: tools/idl_parser/test_parser/exception.idl
|
| diff --git a/tools/idl_parser/test_parser/exception.idl b/tools/idl_parser/test_parser/exception.idl
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fa85e7d28b696fc810e982c1d5da72f80a13a5d8
|
| --- /dev/null
|
| +++ b/tools/idl_parser/test_parser/exception.idl
|
| @@ -0,0 +1,88 @@
|
| +/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| + Use of this source code is governed by a BSD-style license that can be
|
| + found in the LICENSE file. */
|
| +
|
| +/* Test Exception productions
|
| +
|
| +Run with --test to generate an AST and verify that all comments accurately
|
| +reflect the state of the Nodes.
|
| +
|
| +BUILD Type(Name)
|
| +This comment signals that a node of type <Type> is created with the
|
| +name <Name>.
|
| +
|
| +ERROR Error String
|
| +This comment signals that a error of <Error String> is generated. The error
|
| +is not assigned to a node, but are expected in order.
|
| +
|
| +PROP Key=Value
|
| +This comment signals that a property has been set on the Node such that
|
| +<Key> = <Value>.
|
| +
|
| +TREE
|
| +Type(Name)
|
| + Type(Name)
|
| + Type(Name)
|
| + Type(Name)
|
| + ...
|
| +This comment signals that a tree of nodes matching the BUILD comment
|
| +symatics should exist. This is an exact match.
|
| +*/
|
| +
|
| +
|
| +/* TREE
|
| + *Exception(MyExc)
|
| + */
|
| +exception MyExc { };
|
| +
|
| +/* TREE
|
| + *Exception(MyExcInherit)
|
| + * Inherit(Foo)
|
| + */
|
| +exception MyExcInherit : Foo {};
|
| +
|
| +/* ERROR Unexpected keyword "exception" after keyword "partial". */
|
| +partial exception MyExcPartial { };
|
| +
|
| +/* ERROR Unexpected "=" after identifier "ErrorSetLong". */
|
| +/* TREE
|
| + *Exception(MyExcBig)
|
| + * ExceptionField(MyString)
|
| + * Type()
|
| + * PrimitiveType(DOMString)
|
| + * Error(Unexpected "=" after identifier "ErrorSetLong".)
|
| + * ExceptionField(MyLong)
|
| + * Type()
|
| + * PrimitiveType(long)
|
| + */
|
| +exception MyExcBig {
|
| + DOMString MyString;
|
| + unsigned long long ErrorSetLong = 123;
|
| + long MyLong;
|
| +};
|
| +
|
| +
|
| +/* ERROR Unexpected "{" after keyword "exception". */
|
| +exception {
|
| + DOMString? setString = null;
|
| +};
|
| +
|
| +
|
| +/* ERROR Unexpected identifier "NoColon" after identifier "ForParent". */
|
| +exception ForParent NoColon {
|
| + DOMString? setString = null;
|
| +};
|
| +
|
| +/* TREE
|
| + *Exception(MyExcConst)
|
| + * Const(setString)
|
| + * PrimitiveType(DOMString)
|
| + * Value(NULL)
|
| + */
|
| +exception MyExcConst {
|
| + const DOMString? setString = null;
|
| +};
|
| +
|
| +
|
| +
|
| +
|
|
|