public int CompareTo(object obj) { if(obj is AsmLiteral) { AsmLiteral t = (AsmLiteral) obj; return offset.CompareTo(t.offset); } throw new ArgumentException("object is not a AsmLiteral"); }
public override bool Equals(AsmLiteral v) { if (v.ConstantType() != AsmLiteralKind.INT) return false; IntLiteral iv = v as IntLiteral; return ival == iv.IntValue; }
//public abstract void AddTo(AsmFileInfo fileInfo); public abstract bool Equals(AsmLiteral v);
//public override void AddTo(AsmFileInfo fileInfo) { fileInfo.Add(this); } public override bool Equals(AsmLiteral v) { return false; }
public override bool Equals(AsmLiteral v) { if (v.ConstantType() != AsmLiteralKind.STRING) return false; StringLiteral sv = v as StringLiteral; return sval == sv.StringValue; }
//public override void AddTo(AsmFileInfo fileInfo) { fileInfo.Add(this); } public override bool Equals(AsmLiteral v) { if (v.ConstantType() != AsmLiteralKind.DOUBLE) return false; DoubleLiteral dv = v as DoubleLiteral; return dval == dv.DoubleValue; }
//public override void AddTo(AsmFileInfo fileInfo) { fileInfo.Add(this); } public override bool Equals(AsmLiteral v) { if (v.ConstantType() != AsmLiteralKind.FLOAT) return false; FloatLiteral fv = v as FloatLiteral; return fval == fv.FloatValue; }