001 package com.google.dart.compiler.backend.js.ast; 002 003 public class ChameleonJsExpression implements JsExpression { 004 private JsExpression expression; 005 006 public ChameleonJsExpression(JsExpression initialExpression) { 007 expression = initialExpression; 008 } 009 010 public ChameleonJsExpression() { 011 } 012 013 public void resolve(JsExpression expression) { 014 this.expression = expression; 015 } 016 017 @Override 018 public boolean isLeaf() { 019 return expression.isLeaf(); 020 } 021 022 @Override 023 public JsStatement makeStmt() { 024 return expression.makeStmt(); 025 } 026 027 @Override 028 public void accept(JsVisitor visitor) { 029 expression.accept(visitor); 030 } 031 032 @Override 033 public void acceptChildren(JsVisitor visitor) { 034 expression.acceptChildren(visitor); 035 } 036 037 @Override 038 public Object getSource() { 039 return expression.getSource(); 040 } 041 042 @Override 043 public void setSource(Object info) { 044 expression.setSource(info); 045 } 046 047 @Override 048 public JsExpression source(Object info) { 049 return expression.source(info); 050 } 051 }