001 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
002 // for details. All rights reserved. Use of this source code is governed by a
003 // BSD-style license that can be found in the LICENSE file.
004
005 package com.google.dart.compiler.backend.js.ast;
006
007 public interface JsNode {
008 /**
009 * Causes this object to have the visitor visit itself and its children.
010 *
011 * @param visitor the visitor that should traverse this node
012 */
013 void accept(JsVisitor visitor);
014
015 void acceptChildren(JsVisitor visitor);
016
017 /**
018 * Return the source info associated with this object.
019 */
020 Object getSource();
021
022 /**
023 * Set the source info associated with this object.
024 *
025 * @param info
026 */
027 void setSource(Object info);
028
029 JsNode source(Object info);
030 }