/******************************************************************************* * 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 Assignment extends AbstractAST { public Assignment(ISourceLocation src, IConstructor node) { super(src /* we forget node on purpose */); } public boolean isAddition() { return false; } static public class Addition extends Assignment { // Production: sig("Addition",[],breakable=false) public Addition(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isAddition() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentAddition(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof Addition)) { return false; } Addition tmp = (Addition) o; return true ; } @Override public int hashCode() { return 431 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isAppend() { return false; } static public class Append extends Assignment { // Production: sig("Append",[],breakable=false) public Append(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isAppend() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentAppend(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof Append)) { return false; } Append tmp = (Append) o; return true ; } @Override public int hashCode() { return 751 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isDefault() { return false; } static public class Default extends Assignment { // Production: sig("Default",[],breakable=false) public Default(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isDefault() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentDefault(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof Default)) { return false; } Default tmp = (Default) o; return true ; } @Override public int hashCode() { return 449 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isDivision() { return false; } static public class Division extends Assignment { // Production: sig("Division",[],breakable=false) public Division(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isDivision() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentDivision(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof Division)) { return false; } Division tmp = (Division) o; return true ; } @Override public int hashCode() { return 557 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isIfDefined() { return false; } static public class IfDefined extends Assignment { // Production: sig("IfDefined",[],breakable=false) public IfDefined(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isIfDefined() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentIfDefined(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof IfDefined)) { return false; } IfDefined tmp = (IfDefined) o; return true ; } @Override public int hashCode() { return 61 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isIntersection() { return false; } static public class Intersection extends Assignment { // Production: sig("Intersection",[],breakable=false) public Intersection(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isIntersection() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentIntersection(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof Intersection)) { return false; } Intersection tmp = (Intersection) o; return true ; } @Override public int hashCode() { return 503 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isProduct() { return false; } static public class Product extends Assignment { // Production: sig("Product",[],breakable=false) public Product(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isProduct() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentProduct(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof Product)) { return false; } Product tmp = (Product) o; return true ; } @Override public int hashCode() { return 41 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isSubtraction() { return false; } static public class Subtraction extends Assignment { // Production: sig("Subtraction",[],breakable=false) public Subtraction(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isSubtraction() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitAssignmentSubtraction(this); } @Override protected void addForLineNumber(int $line, java.util.List<AbstractAST> $result) { if (getLocation().getBeginLine() == $line) { $result.add(this); } ISourceLocation $l; } @Override public boolean equals(Object o) { if (!(o instanceof Subtraction)) { return false; } Subtraction tmp = (Subtraction) o; return true ; } @Override public int hashCode() { return 293 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } }