1)core dump in regex for big strings 2) Boolean Var bugs 3) adding support for other...
[satune.git] / src / AlloyEnc / signature.cc
index 7201dc2a9a996155bb68b573314b2111ece598ed..ad7d2e700fe9b81bbf2f3268c5340e07718c66bf 100644 (file)
@@ -5,15 +5,20 @@ bool BooleanSig::encodeAbs = true;
 bool SetSig::encodeAbs = true;
 bool ElementSig::encodeAbs = true;
 
-BooleanSig::BooleanSig(uint id):
-       Signature(id),
-       value(-1)
+ValuedSignature::ValuedSignature(uint id): 
+       Signature(id), 
+       value(-1) 
 {
 }
 
-bool BooleanSig::getValue(){
+int ValuedSignature::getValue(){
        ASSERT(value != -1);
-       return (bool) value;
+       return value;
+}
+
+BooleanSig::BooleanSig(uint id):
+       ValuedSignature(id)
+{
 }
 
 string BooleanSig::toString() const{
@@ -50,9 +55,8 @@ string BooleanSig::getAbsSignature() const{
 }
 
 ElementSig::ElementSig(uint id, SetSig *_ssig): 
-       Signature(id),
-       ssig(_ssig),
-       value(0)
+       ValuedSignature(id),
+       ssig(_ssig)
 {
 }