| Index: tools/idl_parser/test_parser/callback.idl
|
| diff --git a/tools/idl_parser/test_parser/callback.idl b/tools/idl_parser/test_parser/callback.idl
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cdd173afd98ad477ff36edd7b3eefb0117527468
|
| --- /dev/null
|
| +++ b/tools/idl_parser/test_parser/callback.idl
|
| @@ -0,0 +1,117 @@
|
| +/* 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 Callback 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
|
| + *Callback(VoidFunc)
|
| + * Type()
|
| + * PrimitiveType(void)
|
| + * Arguments()
|
| + */
|
| +callback VoidFunc = void();
|
| +
|
| +/* ERROR Unexpected ). */
|
| +/* TREE
|
| + *Callback(VoidFuncLongErr)
|
| + * Type()
|
| + * PrimitiveType(void)
|
| + * Arguments()
|
| + * Error(Unexpected ).)
|
| + */
|
| +callback VoidFuncLongErr = void ( long );
|
| +
|
| +/* TREE
|
| + *Callback(VoidFuncLong)
|
| + * Type()
|
| + * PrimitiveType(void)
|
| + * Arguments()
|
| + * Argument(L1)
|
| + * Type()
|
| + * PrimitiveType(long)
|
| + */
|
| +callback VoidFuncLong = void ( long L1 );
|
| +
|
| +/* TREE
|
| + *Callback(VoidFuncLongArray)
|
| + * Type()
|
| + * PrimitiveType(void)
|
| + * Arguments()
|
| + * Argument(L1)
|
| + * Type()
|
| + * PrimitiveType(long)
|
| + * Array()
|
| + */
|
| +callback VoidFuncLongArray = void ( long[] L1 );
|
| +
|
| +/* TREE
|
| + *Callback(VoidFuncLongArray5)
|
| + * Type()
|
| + * PrimitiveType(void)
|
| + * Arguments()
|
| + * Argument(L1)
|
| + * Type()
|
| + * PrimitiveType(long)
|
| + * Array(5)
|
| + */
|
| +callback VoidFuncLongArray5 = void ( long[5] L1 );
|
| +
|
| +
|
| +/* TREE
|
| + *Callback(VoidFuncLongArray54)
|
| + * Type()
|
| + * PrimitiveType(void)
|
| + * Arguments()
|
| + * Argument(L1)
|
| + * Type()
|
| + * PrimitiveType(long)
|
| + * Array(5)
|
| + * Argument(L2)
|
| + * Type()
|
| + * PrimitiveType(long long)
|
| + * Array(4)
|
| + */
|
| +callback VoidFuncLongArray54 = void ( long[5] L1, long long [4] L2 );
|
| +
|
| +
|
| +/* TREE
|
| + *Callback(VoidFuncLongIdent)
|
| + * Type()
|
| + * PrimitiveType(void)
|
| + * Arguments()
|
| + * Argument(L1)
|
| + * Type()
|
| + * PrimitiveType(long)
|
| + * Array(5)
|
| + * Argument(L2)
|
| + * Type()
|
| + * Typeref(VoidFuncLongArray)
|
| + */
|
| +callback VoidFuncLongIdent = void ( long[5] L1, VoidFuncLongArray L2 );
|
|
|