1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* Copyright (c) 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) found in the LICENSE file. */ 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* Test Callback productions 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)Run with --test to generate an AST and verify that all comments accurately 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)reflect the state of the Nodes. 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)BUILD Type(Name) 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)This comment signals that a node of type <Type> is created with the 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)name <Name>. 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)ERROR Error String 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)This comment signals that a error of <Error String> is generated. The error 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)is not assigned to a node, but are expected in order. 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)PROP Key=Value 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)This comment signals that a property has been set on the Node such that 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)<Key> = <Value>. 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)TREE 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)Type(Name) 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Type(Name) 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Type(Name) 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) Type(Name) 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ... 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)This comment signals that a tree of nodes matching the BUILD comment 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)symatics should exist. This is an exact match. 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)*/ 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* TREE 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) *Callback(VoidFunc) 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(void) 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Arguments() 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)callback VoidFunc = void(); 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* TREE 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) *Callback(VoidFuncLongErr) 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(void) 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Arguments() 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Error(Unexpected ).) 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)callback VoidFuncLongErr = void ( long ); 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* TREE 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) *Callback(VoidFuncLong) 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(void) 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Arguments() 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Argument(L1) 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(long) 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)callback VoidFuncLong = void ( long L1 ); 60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* TREE 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) *Callback(VoidFuncLongArray) 63c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 64c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(void) 65c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Arguments() 66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Argument(L1) 67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(long) 69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Array() 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)callback VoidFuncLongArray = void ( long[] L1 ); 72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* TREE 74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) *Callback(VoidFuncLongArray5) 75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 76c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(void) 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Arguments() 78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Argument(L1) 79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(long) 81c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Array(5) 82c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 83c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)callback VoidFuncLongArray5 = void ( long[5] L1 ); 84c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 85c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 86c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* TREE 87c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) *Callback(VoidFuncLongArray54) 88c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 89c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(void) 90c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Arguments() 91c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Argument(L1) 92c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 93c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(long) 94c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Array(5) 95c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Argument(L2) 96c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 97c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(long long) 98c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Array(4) 99c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 100c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)callback VoidFuncLongArray54 = void ( long[5] L1, long long [4] L2 ); 101c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 102c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 103c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)/* TREE 104c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) *Callback(VoidFuncLongIdent) 105c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 106c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(void) 107c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Arguments() 108c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Argument(L1) 109c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * PrimitiveType(long) 111c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Array(5) 112c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Argument(L2) 113c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Type() 114c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) * Typeref(VoidFuncLongArray) 115c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) */ 116c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)callback VoidFuncLongIdent = void ( long[5] L1, VoidFuncLongArray L2 ); 117