import { Type } from "./Type"; export class DeclarationType extends Type { constructor(readonly declaredType: Type) { super(); } override equals(otherType: Type): boolean { return otherType instanceof DeclarationType && this.declaredType.equals(otherType.declaredType); } override isAssignableTo(otherType: Type): boolean { return false; } override toString(): string { return `declaration involving type ${this.declaredType.toString()}`; } }