/* 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 Implements 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. */ /* BUILD Implements(A) */ /* PROP REFERENCE=B */ A implements B; /* ERROR Unexpected ";" after keyword "implements". */ A implements; /* BUILD Implements(B) */ /* PROP REFERENCE=C */ B implements C; /* ERROR Unexpected keyword "implements" after "]". */ [foo] implements B; /* BUILD Implements(D) */ /* PROP REFERENCE=E */ D implements E; /* ERROR Unexpected keyword "implements" after comment. */ implements C;