blob: 59bc7eb8648698d261045711239edd4c76a4ddc7 [file] [log] [blame]
/* 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 Struct 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
*Struct(MyStruct)
* Member(x)
* Type()
* PrimitiveType(uint32_t)
* Member(y)
* Type()
* PrimitiveType(uint64_t)
* Member(string)
* ExtAttributes()
* ExtAttribute(fake_attribute)
* Type()
* PrimitiveType(str_t)
* Member(z)
* Type()
* Typeref(Promise)
* ExtAttributes()
* ExtAttribute(union)
*/
[union] struct MyStruct {
uint32_t x;
uint64_t y;
[fake_attribute] str_t string;
Promise z;
};