/*******************************************************************************
* Copyright (c) 2009-2015 CWI
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* * Jurgen J. Vinju - Jurgen.Vinju@cwi.nl - CWI
* * Tijs van der Storm - Tijs.van.der.Storm@cwi.nl
* * Paul Klint - Paul.Klint@cwi.nl - CWI
* * Mark Hills - Mark.Hills@cwi.nl (CWI)
* * Arnold Lankamp - Arnold.Lankamp@cwi.nl
* * Michael Steindorfer - Michael.Steindorfer@cwi.nl - CWI
*******************************************************************************/
package org.rascalmpl.ast;
import org.rascalmpl.value.IConstructor;
import org.rascalmpl.value.ISourceLocation;
public abstract class Assignable extends AbstractAST {
public Assignable(ISourceLocation src, IConstructor node) {
super(src /* we forget node on purpose */);
}
public boolean hasArguments() {
return false;
}
public java.util.List<org.rascalmpl.ast.Assignable> getArguments() {
throw new UnsupportedOperationException();
}
public boolean hasElements() {
return false;
}
public java.util.List<org.rascalmpl.ast.Assignable> getElements() {
throw new UnsupportedOperationException();
}
public boolean hasArg() {
return false;
}
public org.rascalmpl.ast.Assignable getArg() {
throw new UnsupportedOperationException();
}
public boolean hasReceiver() {
return false;
}
public org.rascalmpl.ast.Assignable getReceiver() {
throw new UnsupportedOperationException();
}
public boolean hasDefaultExpression() {
return false;
}
public org.rascalmpl.ast.Expression getDefaultExpression() {
throw new UnsupportedOperationException();
}
public boolean hasSecond() {
return false;
}
public org.rascalmpl.ast.Expression getSecond() {
throw new UnsupportedOperationException();
}
public boolean hasSubscript() {
return false;
}
public org.rascalmpl.ast.Expression getSubscript() {
throw new UnsupportedOperationException();
}
public boolean hasAnnotation() {
return false;
}
public org.rascalmpl.ast.Name getAnnotation() {
throw new UnsupportedOperationException();
}
public boolean hasField() {
return false;
}
public org.rascalmpl.ast.Name getField() {
throw new UnsupportedOperationException();
}
public boolean hasName() {
return false;
}
public org.rascalmpl.ast.Name getName() {
throw new UnsupportedOperationException();
}
public boolean hasOptFirst() {
return false;
}
public org.rascalmpl.ast.OptionalExpression getOptFirst() {
throw new UnsupportedOperationException();
}
public boolean hasOptLast() {
return false;
}
public org.rascalmpl.ast.OptionalExpression getOptLast() {
throw new UnsupportedOperationException();
}
public boolean hasQualifiedName() {
return false;
}
public org.rascalmpl.ast.QualifiedName getQualifiedName() {
throw new UnsupportedOperationException();
}
public boolean isAnnotation() {
return false;
}
static public class Annotation extends Assignable {
// Production: sig("Annotation",[arg("org.rascalmpl.ast.Assignable","receiver"),arg("org.rascalmpl.ast.Name","annotation")],breakable=false)
private final org.rascalmpl.ast.Assignable receiver;
private final org.rascalmpl.ast.Name annotation;
public Annotation(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Assignable receiver, org.rascalmpl.ast.Name annotation) {
super(src, node);
this.receiver = receiver;
this.annotation = annotation;
}
@Override
public boolean isAnnotation() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableAnnotation(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = receiver.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
receiver.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = annotation.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
annotation.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Annotation)) {
return false;
}
Annotation tmp = (Annotation) o;
return true && tmp.receiver.equals(this.receiver) && tmp.annotation.equals(this.annotation) ;
}
@Override
public int hashCode() {
return 233 + 383 * receiver.hashCode() + 227 * annotation.hashCode() ;
}
@Override
public org.rascalmpl.ast.Assignable getReceiver() {
return this.receiver;
}
@Override
public boolean hasReceiver() {
return true;
}
@Override
public org.rascalmpl.ast.Name getAnnotation() {
return this.annotation;
}
@Override
public boolean hasAnnotation() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(receiver), clone(annotation));
}
}
public boolean isBracket() {
return false;
}
static public class Bracket extends Assignable {
// Production: sig("Bracket",[arg("org.rascalmpl.ast.Assignable","arg")],breakable=false)
private final org.rascalmpl.ast.Assignable arg;
public Bracket(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Assignable arg) {
super(src, node);
this.arg = arg;
}
@Override
public boolean isBracket() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableBracket(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = arg.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
arg.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Bracket)) {
return false;
}
Bracket tmp = (Bracket) o;
return true && tmp.arg.equals(this.arg) ;
}
@Override
public int hashCode() {
return 977 + 797 * arg.hashCode() ;
}
@Override
public org.rascalmpl.ast.Assignable getArg() {
return this.arg;
}
@Override
public boolean hasArg() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(arg));
}
}
public boolean isConstructor() {
return false;
}
static public class Constructor extends Assignable {
// Production: sig("Constructor",[arg("org.rascalmpl.ast.Name","name"),arg("java.util.List\<org.rascalmpl.ast.Assignable\>","arguments")],breakable=false)
private final org.rascalmpl.ast.Name name;
private final java.util.List<org.rascalmpl.ast.Assignable> arguments;
public Constructor(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Name name, java.util.List<org.rascalmpl.ast.Assignable> arguments) {
super(src, node);
this.name = name;
this.arguments = arguments;
}
@Override
public boolean isConstructor() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableConstructor(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = name.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
name.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
for (AbstractAST $elem : arguments) {
$l = $elem.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
$elem.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Constructor)) {
return false;
}
Constructor tmp = (Constructor) o;
return true && tmp.name.equals(this.name) && tmp.arguments.equals(this.arguments) ;
}
@Override
public int hashCode() {
return 601 + 619 * name.hashCode() + 167 * arguments.hashCode() ;
}
@Override
public org.rascalmpl.ast.Name getName() {
return this.name;
}
@Override
public boolean hasName() {
return true;
}
@Override
public java.util.List<org.rascalmpl.ast.Assignable> getArguments() {
return this.arguments;
}
@Override
public boolean hasArguments() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(name), clone(arguments));
}
}
public boolean isFieldAccess() {
return false;
}
static public class FieldAccess extends Assignable {
// Production: sig("FieldAccess",[arg("org.rascalmpl.ast.Assignable","receiver"),arg("org.rascalmpl.ast.Name","field")],breakable=false)
private final org.rascalmpl.ast.Assignable receiver;
private final org.rascalmpl.ast.Name field;
public FieldAccess(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Assignable receiver, org.rascalmpl.ast.Name field) {
super(src, node);
this.receiver = receiver;
this.field = field;
}
@Override
public boolean isFieldAccess() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableFieldAccess(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = receiver.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
receiver.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = field.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
field.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof FieldAccess)) {
return false;
}
FieldAccess tmp = (FieldAccess) o;
return true && tmp.receiver.equals(this.receiver) && tmp.field.equals(this.field) ;
}
@Override
public int hashCode() {
return 263 + 557 * receiver.hashCode() + 167 * field.hashCode() ;
}
@Override
public org.rascalmpl.ast.Assignable getReceiver() {
return this.receiver;
}
@Override
public boolean hasReceiver() {
return true;
}
@Override
public org.rascalmpl.ast.Name getField() {
return this.field;
}
@Override
public boolean hasField() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(receiver), clone(field));
}
}
public boolean isIfDefinedOrDefault() {
return false;
}
static public class IfDefinedOrDefault extends Assignable {
// Production: sig("IfDefinedOrDefault",[arg("org.rascalmpl.ast.Assignable","receiver"),arg("org.rascalmpl.ast.Expression","defaultExpression")],breakable=false)
private final org.rascalmpl.ast.Assignable receiver;
private final org.rascalmpl.ast.Expression defaultExpression;
public IfDefinedOrDefault(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Assignable receiver, org.rascalmpl.ast.Expression defaultExpression) {
super(src, node);
this.receiver = receiver;
this.defaultExpression = defaultExpression;
}
@Override
public boolean isIfDefinedOrDefault() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableIfDefinedOrDefault(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = receiver.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
receiver.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = defaultExpression.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
defaultExpression.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof IfDefinedOrDefault)) {
return false;
}
IfDefinedOrDefault tmp = (IfDefinedOrDefault) o;
return true && tmp.receiver.equals(this.receiver) && tmp.defaultExpression.equals(this.defaultExpression) ;
}
@Override
public int hashCode() {
return 937 + 439 * receiver.hashCode() + 439 * defaultExpression.hashCode() ;
}
@Override
public org.rascalmpl.ast.Assignable getReceiver() {
return this.receiver;
}
@Override
public boolean hasReceiver() {
return true;
}
@Override
public org.rascalmpl.ast.Expression getDefaultExpression() {
return this.defaultExpression;
}
@Override
public boolean hasDefaultExpression() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(receiver), clone(defaultExpression));
}
}
public boolean isSlice() {
return false;
}
static public class Slice extends Assignable {
// Production: sig("Slice",[arg("org.rascalmpl.ast.Assignable","receiver"),arg("org.rascalmpl.ast.OptionalExpression","optFirst"),arg("org.rascalmpl.ast.OptionalExpression","optLast")],breakable=false)
private final org.rascalmpl.ast.Assignable receiver;
private final org.rascalmpl.ast.OptionalExpression optFirst;
private final org.rascalmpl.ast.OptionalExpression optLast;
public Slice(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Assignable receiver, org.rascalmpl.ast.OptionalExpression optFirst, org.rascalmpl.ast.OptionalExpression optLast) {
super(src, node);
this.receiver = receiver;
this.optFirst = optFirst;
this.optLast = optLast;
}
@Override
public boolean isSlice() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableSlice(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = receiver.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
receiver.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = optFirst.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
optFirst.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = optLast.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
optLast.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Slice)) {
return false;
}
Slice tmp = (Slice) o;
return true && tmp.receiver.equals(this.receiver) && tmp.optFirst.equals(this.optFirst) && tmp.optLast.equals(this.optLast) ;
}
@Override
public int hashCode() {
return 487 + 419 * receiver.hashCode() + 2 * optFirst.hashCode() + 797 * optLast.hashCode() ;
}
@Override
public org.rascalmpl.ast.Assignable getReceiver() {
return this.receiver;
}
@Override
public boolean hasReceiver() {
return true;
}
@Override
public org.rascalmpl.ast.OptionalExpression getOptFirst() {
return this.optFirst;
}
@Override
public boolean hasOptFirst() {
return true;
}
@Override
public org.rascalmpl.ast.OptionalExpression getOptLast() {
return this.optLast;
}
@Override
public boolean hasOptLast() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(receiver), clone(optFirst), clone(optLast));
}
}
public boolean isSliceStep() {
return false;
}
static public class SliceStep extends Assignable {
// Production: sig("SliceStep",[arg("org.rascalmpl.ast.Assignable","receiver"),arg("org.rascalmpl.ast.OptionalExpression","optFirst"),arg("org.rascalmpl.ast.Expression","second"),arg("org.rascalmpl.ast.OptionalExpression","optLast")],breakable=false)
private final org.rascalmpl.ast.Assignable receiver;
private final org.rascalmpl.ast.OptionalExpression optFirst;
private final org.rascalmpl.ast.Expression second;
private final org.rascalmpl.ast.OptionalExpression optLast;
public SliceStep(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Assignable receiver, org.rascalmpl.ast.OptionalExpression optFirst, org.rascalmpl.ast.Expression second, org.rascalmpl.ast.OptionalExpression optLast) {
super(src, node);
this.receiver = receiver;
this.optFirst = optFirst;
this.second = second;
this.optLast = optLast;
}
@Override
public boolean isSliceStep() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableSliceStep(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = receiver.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
receiver.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = optFirst.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
optFirst.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = second.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
second.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = optLast.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
optLast.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof SliceStep)) {
return false;
}
SliceStep tmp = (SliceStep) o;
return true && tmp.receiver.equals(this.receiver) && tmp.optFirst.equals(this.optFirst) && tmp.second.equals(this.second) && tmp.optLast.equals(this.optLast) ;
}
@Override
public int hashCode() {
return 19 + 317 * receiver.hashCode() + 883 * optFirst.hashCode() + 719 * second.hashCode() + 233 * optLast.hashCode() ;
}
@Override
public org.rascalmpl.ast.Assignable getReceiver() {
return this.receiver;
}
@Override
public boolean hasReceiver() {
return true;
}
@Override
public org.rascalmpl.ast.OptionalExpression getOptFirst() {
return this.optFirst;
}
@Override
public boolean hasOptFirst() {
return true;
}
@Override
public org.rascalmpl.ast.Expression getSecond() {
return this.second;
}
@Override
public boolean hasSecond() {
return true;
}
@Override
public org.rascalmpl.ast.OptionalExpression getOptLast() {
return this.optLast;
}
@Override
public boolean hasOptLast() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(receiver), clone(optFirst), clone(second), clone(optLast));
}
}
public boolean isSubscript() {
return false;
}
static public class Subscript extends Assignable {
// Production: sig("Subscript",[arg("org.rascalmpl.ast.Assignable","receiver"),arg("org.rascalmpl.ast.Expression","subscript")],breakable=false)
private final org.rascalmpl.ast.Assignable receiver;
private final org.rascalmpl.ast.Expression subscript;
public Subscript(ISourceLocation src, IConstructor node , org.rascalmpl.ast.Assignable receiver, org.rascalmpl.ast.Expression subscript) {
super(src, node);
this.receiver = receiver;
this.subscript = subscript;
}
@Override
public boolean isSubscript() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableSubscript(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = receiver.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
receiver.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
$l = subscript.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
subscript.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Subscript)) {
return false;
}
Subscript tmp = (Subscript) o;
return true && tmp.receiver.equals(this.receiver) && tmp.subscript.equals(this.subscript) ;
}
@Override
public int hashCode() {
return 29 + 151 * receiver.hashCode() + 29 * subscript.hashCode() ;
}
@Override
public org.rascalmpl.ast.Assignable getReceiver() {
return this.receiver;
}
@Override
public boolean hasReceiver() {
return true;
}
@Override
public org.rascalmpl.ast.Expression getSubscript() {
return this.subscript;
}
@Override
public boolean hasSubscript() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(receiver), clone(subscript));
}
}
public boolean isTuple() {
return false;
}
static public class Tuple extends Assignable {
// Production: sig("Tuple",[arg("java.util.List\<org.rascalmpl.ast.Assignable\>","elements")],breakable=false)
private final java.util.List<org.rascalmpl.ast.Assignable> elements;
public Tuple(ISourceLocation src, IConstructor node , java.util.List<org.rascalmpl.ast.Assignable> elements) {
super(src, node);
this.elements = elements;
}
@Override
public boolean isTuple() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableTuple(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
for (AbstractAST $elem : elements) {
$l = $elem.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
$elem.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Tuple)) {
return false;
}
Tuple tmp = (Tuple) o;
return true && tmp.elements.equals(this.elements) ;
}
@Override
public int hashCode() {
return 353 + 31 * elements.hashCode() ;
}
@Override
public java.util.List<org.rascalmpl.ast.Assignable> getElements() {
return this.elements;
}
@Override
public boolean hasElements() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(elements));
}
}
public boolean isVariable() {
return false;
}
static public class Variable extends Assignable {
// Production: sig("Variable",[arg("org.rascalmpl.ast.QualifiedName","qualifiedName")],breakable=false)
private final org.rascalmpl.ast.QualifiedName qualifiedName;
public Variable(ISourceLocation src, IConstructor node , org.rascalmpl.ast.QualifiedName qualifiedName) {
super(src, node);
this.qualifiedName = qualifiedName;
}
@Override
public boolean isVariable() {
return true;
}
@Override
public <T> T accept(IASTVisitor<T> visitor) {
return visitor.visitAssignableVariable(this);
}
@Override
protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) {
if (getLocation().getBeginLine() == $line) {
$result.add(this);
}
ISourceLocation $l;
$l = qualifiedName.getLocation();
if ($l.hasLineColumn() && $l.getBeginLine() <= $line && $l.getEndLine() >= $line) {
qualifiedName.addForLineNumber($line, $result);
}
if ($l.getBeginLine() > $line) {
return;
}
}
@Override
public boolean equals(Object o) {
if (!(o instanceof Variable)) {
return false;
}
Variable tmp = (Variable) o;
return true && tmp.qualifiedName.equals(this.qualifiedName) ;
}
@Override
public int hashCode() {
return 337 + 257 * qualifiedName.hashCode() ;
}
@Override
public org.rascalmpl.ast.QualifiedName getQualifiedName() {
return this.qualifiedName;
}
@Override
public boolean hasQualifiedName() {
return true;
}
@Override
public Object clone() {
return newInstance(getClass(), src, (IConstructor) null , clone(qualifiedName));
}
}
}