// Autogenerated AST node package org.python.pydev.parser.jython.ast; import org.python.pydev.parser.jython.SimpleNode; import java.util.Arrays; public final class Attribute extends exprType implements expr_contextType { public exprType value; public NameTokType attr; public int ctx; public Attribute(exprType value, NameTokType attr, int ctx) { this.value = value; this.attr = attr; this.ctx = ctx; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((value == null) ? 0 : value.hashCode()); result = prime * result + ((attr == null) ? 0 : attr.hashCode()); result = prime * result + ctx; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Attribute other = (Attribute) obj; if (value == null) { if (other.value != null) return false;} else if (!value.equals(other.value)) return false; if (attr == null) { if (other.attr != null) return false;} else if (!attr.equals(other.attr)) return false; if(this.ctx != other.ctx) return false; return true; } @Override public Attribute createCopy() { return createCopy(true); } @Override public Attribute createCopy(boolean copyComments) { Attribute temp = new Attribute(value!=null?(exprType)value.createCopy(copyComments):null, attr!=null?(NameTokType)attr.createCopy(copyComments):null, ctx); temp.beginLine = this.beginLine; temp.beginColumn = this.beginColumn; if(this.specialsBefore != null && copyComments){ for(Object o:this.specialsBefore){ if(o instanceof commentType){ commentType commentType = (commentType) o; temp.getSpecialsBefore().add(commentType.createCopy(copyComments)); } } } if(this.specialsAfter != null && copyComments){ for(Object o:this.specialsAfter){ if(o instanceof commentType){ commentType commentType = (commentType) o; temp.getSpecialsAfter().add(commentType.createCopy(copyComments)); } } } return temp; } @Override public String toString() { StringBuffer sb = new StringBuffer("Attribute["); sb.append("value="); sb.append(dumpThis(this.value)); sb.append(", "); sb.append("attr="); sb.append(dumpThis(this.attr)); sb.append(", "); sb.append("ctx="); sb.append(dumpThis(this.ctx, expr_contextType.expr_contextTypeNames)); sb.append("]"); return sb.toString(); } @Override public Object accept(VisitorIF visitor) throws Exception { return visitor.visitAttribute(this); } @Override public void traverse(VisitorIF visitor) throws Exception { if (value != null) { value.accept(visitor); } if (attr != null) { attr.accept(visitor); } } }