if open class is not referenced from own final classes, so, define it inplace

This commit is contained in:
develar
2012-10-05 11:48:31 +04:00
parent 39b6acc695
commit 45dcb542dd
@@ -4,84 +4,91 @@ import com.google.dart.compiler.Source;
import com.google.dart.compiler.common.SourceInfo; import com.google.dart.compiler.common.SourceInfo;
public class ChameleonJsExpression implements JsExpression { public class ChameleonJsExpression implements JsExpression {
private JsExpression expression; private JsExpression expression;
public void resolve(JsExpression expression) { public ChameleonJsExpression(JsExpression initialExpression) {
this.expression = expression; expression = initialExpression;
} }
@Override public ChameleonJsExpression() {
public boolean hasSideEffects() { }
return expression.hasSideEffects();
}
@Override public void resolve(JsExpression expression) {
public boolean isDefinitelyNotNull() { this.expression = expression;
return expression.isDefinitelyNotNull(); }
}
@Override @Override
public boolean isDefinitelyNull() { public boolean hasSideEffects() {
return expression.isDefinitelyNull(); return expression.hasSideEffects();
} }
@Override @Override
public boolean isLeaf() { public boolean isDefinitelyNotNull() {
return expression.isLeaf(); return expression.isDefinitelyNotNull();
} }
@Override @Override
public JsStatement makeStmt() { public boolean isDefinitelyNull() {
return expression.makeStmt(); return expression.isDefinitelyNull();
} }
@Override @Override
public NodeKind getKind() { public boolean isLeaf() {
return expression.getKind(); return expression.isLeaf();
} }
@Override @Override
public void traverse(JsVisitor visitor, JsContext context) { public JsStatement makeStmt() {
expression.traverse(visitor, context); return expression.makeStmt();
} }
@Override @Override
public SourceInfo getSourceInfo() { public NodeKind getKind() {
return expression.getSourceInfo(); return expression.getKind();
} }
@Override @Override
public void setSourceInfo(SourceInfo info) { public void traverse(JsVisitor visitor, JsContext context) {
expression.setSourceInfo(info); expression.traverse(visitor, context);
} }
@Override @Override
public void setSourceLocation(Source source, int line, int column, int startPosition, int length) { public SourceInfo getSourceInfo() {
expression.setSourceLocation(source, line, column, startPosition, length); return expression.getSourceInfo();
} }
@Override @Override
public Source getSource() { public void setSourceInfo(SourceInfo info) {
return expression.getSource(); expression.setSourceInfo(info);
} }
@Override @Override
public int getLine() { public void setSourceLocation(Source source, int line, int column, int startPosition, int length) {
return 0; expression.setSourceLocation(source, line, column, startPosition, length);
} }
@Override @Override
public int getColumn() { public Source getSource() {
return expression.getColumn(); return expression.getSource();
} }
@Override @Override
public int getStart() { public int getLine() {
return expression.getStart(); return 0;
} }
@Override @Override
public int getLength() { public int getColumn() {
return expression.getLength(); return expression.getColumn();
} }
@Override
public int getStart() {
return expression.getStart();
}
@Override
public int getLength() {
return expression.getLength();
}
} }