/* 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 is created with the name . ERROR Error String This comment signals that a error of 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 = . 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) * ExtAttributes() * ExtAttribute(union) */ [union] struct MyStruct { uint32_t x; uint64_t y; [fake_attribute] str_t string; };