org.duelengine.duel.codedom.CodeArrayCreateExpression Maven / Gradle / Ivy
package org.duelengine.duel.codedom;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CodeArrayCreateExpression extends CodeExpression {
private Class> type;
private int size;
private final List initializers = new ArrayList();
public CodeArrayCreateExpression() {
setType(null);
}
public CodeArrayCreateExpression(Class> type, int size) {
setType(type);
this.size = size;
}
public CodeArrayCreateExpression(Class> type, CodeExpression... initializerExpressions) {
setType(type);
if (initializerExpressions != null) {
initializers.addAll(Arrays.asList(initializerExpressions));
}
}
public Class> getType() {
return type;
}
public void setType(Class> value) {
type = (value != null) ? value : Object.class;
}
public int getSize() {
return size;
}
public void setSize(int value) {
size = value;
}
public List getInitializers() {
return initializers;
}
@Override
public Class> getResultType() {
return List.class;
}
@Override
public void visit(CodeVisitor visitor) {
if (visitor.visit(this)) {
for (CodeExpression expression : initializers) {
if (expression != null) {
expression.visit(visitor);
}
}
}
}
@Override
public boolean equals(Object arg) {
if (!(arg instanceof CodeArrayCreateExpression)) {
// includes null
return false;
}
CodeArrayCreateExpression that = (CodeArrayCreateExpression)arg;
if (size != that.size) {
return false;
}
if (type == null ? that.type != null : !type.equals(that.type)) {
return false;
}
int length = initializers.size();
if (length != that.initializers.size()) {
return false;
}
for (int i=0; i © 2015 - 2025 Weber Informatics LLC | Privacy Policy