137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti/* 237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * Copyright (C) 2007-2010 Júlio Vilmar Gesser. 337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * Copyright (C) 2011, 2013-2015 The JavaParser Team. 437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * 537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * This file is part of JavaParser. 637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * 737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * JavaParser can be used either under the terms of 837f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * a) the GNU Lesser General Public License as published by 937f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * the Free Software Foundation, either version 3 of the License, or 1037f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * (at your option) any later version. 1137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * b) the terms of the Apache License 1237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * 1337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * You should have received a copy of both licenses in LICENCE.LGPL and 1437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * LICENCE.APACHE. Please refer to those files for details. 1537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * 1637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * JavaParser is distributed in the hope that it will be useful, 1737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * but WITHOUT ANY WARRANTY; without even the implied warranty of 1837f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1937f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * GNU Lesser General Public License for more details. 2037f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti */ 2137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 2237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassettipackage com.github.javaparser.ast.expr; 2337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 2437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassettiimport com.github.javaparser.ast.visitor.GenericVisitor; 2537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassettiimport com.github.javaparser.ast.visitor.VoidVisitor; 2637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 2737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti/** 2837f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti * @author Julio Vilmar Gesser 2937f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti */ 3037f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassettipublic final class ArrayAccessExpr extends Expression { 3137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 3237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti private Expression name; 3337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 3437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti private Expression index; 3537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 3637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public ArrayAccessExpr() { 3737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 3837f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 3937f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public ArrayAccessExpr(Expression name, Expression index) { 4037f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti setName(name); 4137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti setIndex(index); 4237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 4337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 4437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public ArrayAccessExpr(int beginLine, int beginColumn, int endLine, int endColumn, Expression name, Expression index) { 4537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti super(beginLine, beginColumn, endLine, endColumn); 4637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti setName(name); 4737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti setIndex(index); 4837f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 4937f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 5037f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti @Override 5137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public <R, A> R accept(GenericVisitor<R, A> v, A arg) { 5237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti return v.visit(this, arg); 5337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 5437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 5537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti @Override 5637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public <A> void accept(VoidVisitor<A> v, A arg) { 5737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti v.visit(this, arg); 5837f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 5937f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 6037f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public Expression getIndex() { 6137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti return index; 6237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 6337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 6437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public Expression getName() { 6537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti return name; 6637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 6737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 6837f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public void setIndex(Expression index) { 6937f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti this.index = index; 7037f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti setAsParentNodeOf(this.index); 7137f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 7237f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti 7337f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti public void setName(Expression name) { 7437f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti this.name = name; 7537f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti setAsParentNodeOf(this.name); 7637f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti } 7737f93be6476b00be051173d0cde614fc8a3677e5Federico Tomassetti} 78