Package net.hydromatic.morel.util
Class Unifier.Sequence
- java.lang.Object
-
- net.hydromatic.morel.util.Unifier.Sequence
-
- All Implemented Interfaces:
Unifier.Term
- Enclosing class:
- Unifier
public static final class Unifier.Sequence extends java.lang.Object implements Unifier.Term
A sequence of terms.A sequence [a b c] is often printed "a(b, c)", as if "a" is the type of node and "b" and "c" are its children.
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.Stringoperatorjava.util.List<Unifier.Term>terms
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R> Raccept(Unifier.TermVisitor<R> visitor)Unifier.Termapply(java.util.Map<Unifier.Variable,Unifier.Term> substitutions)voidcheckCycle(java.util.Map<Unifier.Variable,Unifier.Term> map, java.util.Map<Unifier.Variable,Unifier.Variable> active)Throws CycleException if expanding this term leads to a cycle.booleancontains(Unifier.Variable variable)booleanequals(java.lang.Object obj)inthashCode()java.lang.StringtoString()
-
-
-
Field Detail
-
operator
public final java.lang.String operator
-
terms
public final java.util.List<Unifier.Term> terms
-
-
Method Detail
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
apply
public Unifier.Term apply(java.util.Map<Unifier.Variable,Unifier.Term> substitutions)
- Specified by:
applyin interfaceUnifier.Term
-
checkCycle
public void checkCycle(java.util.Map<Unifier.Variable,Unifier.Term> map, java.util.Map<Unifier.Variable,Unifier.Variable> active) throws net.hydromatic.morel.util.Unifier.CycleException
Description copied from interface:Unifier.TermThrows CycleException if expanding this term leads to a cycle.- Specified by:
checkCyclein interfaceUnifier.Term- Throws:
net.hydromatic.morel.util.Unifier.CycleException
-
contains
public boolean contains(Unifier.Variable variable)
- Specified by:
containsin interfaceUnifier.Term
-
accept
public <R> R accept(Unifier.TermVisitor<R> visitor)
- Specified by:
acceptin interfaceUnifier.Term
-
-