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 /** 008 * Represents a javascript expression for array access. 009 */ 010 public final class JsArrayAccess extends JsExpressionImpl { 011 private JsExpression arrayExpression; 012 private JsExpression indexExpression; 013 014 public JsArrayAccess() { 015 super(); 016 } 017 018 public JsArrayAccess(JsExpression arrayExpression, JsExpression indexExpression) { 019 this.arrayExpression = arrayExpression; 020 this.indexExpression = indexExpression; 021 } 022 023 public JsExpression getArrayExpression() { 024 return arrayExpression; 025 } 026 027 public JsExpression getIndexExpression() { 028 return indexExpression; 029 } 030 031 public void setArrayExpression(JsExpression arrayExpression) { 032 this.arrayExpression = arrayExpression; 033 } 034 035 public void setIndexExpression(JsExpression indexExpression) { 036 this.indexExpression = indexExpression; 037 } 038 039 @Override 040 public void accept(JsVisitor v) { 041 v.visitArrayAccess(this); 042 } 043 044 @Override 045 public void acceptChildren(JsVisitor visitor) { 046 visitor.accept(arrayExpression); 047 visitor.accept(indexExpression); 048 } 049 }