/******************************************************************************* * 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 BasicType extends AbstractAST { public BasicType(ISourceLocation src, IConstructor node) { super(src /* we forget node on purpose */); } public boolean isBag() { return false; } static public class Bag extends BasicType { // Production: sig("Bag",[],breakable=false) public Bag(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isBag() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeBag(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 Bag)) { return false; } Bag tmp = (Bag) o; return true ; } @Override public int hashCode() { return 659 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isBool() { return false; } static public class Bool extends BasicType { // Production: sig("Bool",[],breakable=false) public Bool(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isBool() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeBool(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 Bool)) { return false; } Bool tmp = (Bool) o; return true ; } @Override public int hashCode() { return 229 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isDateTime() { return false; } static public class DateTime extends BasicType { // Production: sig("DateTime",[],breakable=false) public DateTime(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isDateTime() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeDateTime(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 DateTime)) { return false; } DateTime tmp = (DateTime) o; return true ; } @Override public int hashCode() { return 827 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isInt() { return false; } static public class Int extends BasicType { // Production: sig("Int",[],breakable=false) public Int(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isInt() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeInt(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 Int)) { return false; } Int tmp = (Int) o; return true ; } @Override public int hashCode() { return 709 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isList() { return false; } static public class List extends BasicType { // Production: sig("List",[],breakable=false) public List(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isList() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeList(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 List)) { return false; } List tmp = (List) o; return true ; } @Override public int hashCode() { return 263 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isListRelation() { return false; } static public class ListRelation extends BasicType { // Production: sig("ListRelation",[],breakable=false) public ListRelation(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isListRelation() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeListRelation(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 ListRelation)) { return false; } ListRelation tmp = (ListRelation) o; return true ; } @Override public int hashCode() { return 89 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isLoc() { return false; } static public class Loc extends BasicType { // Production: sig("Loc",[],breakable=false) public Loc(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isLoc() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeLoc(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 Loc)) { return false; } Loc tmp = (Loc) o; return true ; } @Override public int hashCode() { return 43 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isMap() { return false; } static public class Map extends BasicType { // Production: sig("Map",[],breakable=false) public Map(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isMap() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeMap(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 Map)) { return false; } Map tmp = (Map) o; return true ; } @Override public int hashCode() { return 641 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isNode() { return false; } static public class Node extends BasicType { // Production: sig("Node",[],breakable=false) public Node(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isNode() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeNode(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 Node)) { return false; } Node tmp = (Node) o; return true ; } @Override public int hashCode() { return 839 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isNum() { return false; } static public class Num extends BasicType { // Production: sig("Num",[],breakable=false) public Num(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isNum() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeNum(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 Num)) { return false; } Num tmp = (Num) o; return true ; } @Override public int hashCode() { return 269 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isRational() { return false; } static public class Rational extends BasicType { // Production: sig("Rational",[],breakable=false) public Rational(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isRational() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeRational(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 Rational)) { return false; } Rational tmp = (Rational) o; return true ; } @Override public int hashCode() { return 449 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isReal() { return false; } static public class Real extends BasicType { // Production: sig("Real",[],breakable=false) public Real(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isReal() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeReal(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 Real)) { return false; } Real tmp = (Real) o; return true ; } @Override public int hashCode() { return 859 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isRelation() { return false; } static public class Relation extends BasicType { // Production: sig("Relation",[],breakable=false) public Relation(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isRelation() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeRelation(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 Relation)) { return false; } Relation tmp = (Relation) o; return true ; } @Override public int hashCode() { return 727 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isSet() { return false; } static public class Set extends BasicType { // Production: sig("Set",[],breakable=false) public Set(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isSet() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeSet(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 Set)) { return false; } Set tmp = (Set) o; return true ; } @Override public int hashCode() { return 907 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isString() { return false; } static public class String extends BasicType { // Production: sig("String",[],breakable=false) public String(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isString() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeString(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 String)) { return false; } String tmp = (String) o; return true ; } @Override public int hashCode() { return 229 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isTuple() { return false; } static public class Tuple extends BasicType { // Production: sig("Tuple",[],breakable=false) public Tuple(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isTuple() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeTuple(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 Tuple)) { return false; } Tuple tmp = (Tuple) o; return true ; } @Override public int hashCode() { return 479 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isType() { return false; } static public class Type extends BasicType { // Production: sig("Type",[],breakable=false) public Type(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isType() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeType(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 Type)) { return false; } Type tmp = (Type) o; return true ; } @Override public int hashCode() { return 821 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isValue() { return false; } static public class Value extends BasicType { // Production: sig("Value",[],breakable=false) public Value(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isValue() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeValue(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 Value)) { return false; } Value tmp = (Value) o; return true ; } @Override public int hashCode() { return 7 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } public boolean isVoid() { return false; } static public class Void extends BasicType { // Production: sig("Void",[],breakable=false) public Void(ISourceLocation src, IConstructor node ) { super(src, node); } @Override public boolean isVoid() { return true; } @Override public <T> T accept(IASTVisitor<T> visitor) { return visitor.visitBasicTypeVoid(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 Void)) { return false; } Void tmp = (Void) o; return true ; } @Override public int hashCode() { return 229 ; } @Override public Object clone() { return newInstance(getClass(), src, (IConstructor) null ); } } }