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 import com.intellij.util.SmartList;
008
009 import java.util.List;
010
011 public final class JsNew extends JsExpressionImpl.JsExpressionHasArguments {
012 private JsExpression constructorExpression;
013
014 public JsNew(JsExpression constructorExpression) {
015 this(constructorExpression, new SmartList<JsExpression>());
016 }
017
018 public JsNew(JsExpression constructorExpression, List<JsExpression> arguments) {
019 super(arguments);
020 this.constructorExpression = constructorExpression;
021 }
022
023 public JsExpression getConstructorExpression() {
024 return constructorExpression;
025 }
026
027 @Override
028 public void accept(JsVisitor v) {
029 v.visitNew(this);
030 }
031
032 @Override
033 public void acceptChildren(JsVisitor visitor) {
034 visitor.accept(constructorExpression);
035 visitor.acceptList(arguments);
036 }
037 }