1/* Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 Use of this source code is governed by a BSD-style license that can be 3 found in the LICENSE file. */ 4 5/* Test Implements productions 6 7Run with --test to generate an AST and verify that all comments accurately 8reflect the state of the Nodes. 9 10BUILD Type(Name) 11This comment signals that a node of type <Type> is created with the 12name <Name>. 13 14ERROR Error String 15This comment signals that a error of <Error String> is generated. The error 16is not assigned to a node, but are expected in order. 17 18PROP Key=Value 19This comment signals that a property has been set on the Node such that 20<Key> = <Value>. 21 22TREE 23Type(Name) 24 Type(Name) 25 Type(Name) 26 Type(Name) 27 ... 28This comment signals that a tree of nodes matching the BUILD comment 29symatics should exist. This is an exact match. 30*/ 31 32/* BUILD Implements(A) */ 33/* PROP REFERENCE=B */ 34A implements B; 35 36/* ERROR Unexpected ";" after keyword "implements". */ 37A implements; 38 39/* BUILD Implements(B) */ 40/* PROP REFERENCE=C */ 41B implements C; 42 43/* ERROR Unexpected keyword "implements" after "]". */ 44[foo] implements B; 45 46/* BUILD Implements(D) */ 47/* PROP REFERENCE=E */ 48D implements E; 49 50/* ERROR Unexpected keyword "implements" after comment. */ 51implements C; 52 53