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 }