package org.overture.codegen.ir; public class IrNodeInfo { private INode node; private String reason; public IrNodeInfo(INode node) { super(); this.node = node; this.reason = null; } public IrNodeInfo(INode node, String reason) { super(); this.node = node; this.reason = reason; } public INode getNode() { return node; } public String getReason() { return reason; } @Override public int hashCode() { int hash = 0; if (node != null) { hash += node.hashCode(); } if (reason != null) { hash += reason.hashCode(); } return hash; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (!(obj instanceof IrNodeInfo)) { return false; } IrNodeInfo other = (IrNodeInfo) obj; if (this.node == null && other.node != null || this.node != null && !this.node.equals(other.node)) { return false; } if (this.reason == null && other.reason != null || this.reason != null && !this.reason.equals(other.reason)) { return false; } return true; } @Override public String toString() { return node.getClass().getSimpleName() + ". Reason: " + reason; } }