package mumbler.truffle.node.builtin.relational; import java.math.BigInteger; import mumbler.truffle.node.builtin.BuiltinNode; import mumbler.truffle.type.MumblerList; import com.oracle.truffle.api.dsl.GenerateNodeFactory; import com.oracle.truffle.api.dsl.Specialization; import com.oracle.truffle.api.nodes.NodeInfo; @NodeInfo(shortName = "=") @GenerateNodeFactory public abstract class EqualBuiltinNode extends BuiltinNode { @Specialization protected boolean equals(long value0, long value1) { return value0 == value1; } @Specialization protected boolean equals(BigInteger value0, BigInteger value1) { return value0.equals(value1); } @Specialization protected boolean equals(boolean value0, boolean value1) { return value0 == value1; } @Specialization protected boolean equals(MumblerList<?> value0, MumblerList<?> value1) { return value0.equals(value1); } @Specialization protected boolean equals(Object value0, boolean value1) { return value0.equals(value1); } }