+ case INTLITERAL:
+ /*@i888*/ /* hack */
+ ct = ctype_signedintegral;
+ break;
+
+ case SREF:
+ ct = sRef_getType (term->value.sref) ;
+ break;
+ default:
+ BADEXIT;
+ }
+ return ct;
+}
+
+bool constraintTerm_isConstantOnly (constraintTerm term)
+{
+ switch (term->kind)
+ {
+ case EXPRNODE:
+ if (exprNode_isNumLiteral (term->value.expr) ||
+ exprNode_isStringLiteral (term->value.expr) ||
+ exprNode_isCharLiteral (term->value.expr) )
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+
+ case INTLITERAL:
+ return TRUE;
+
+ case SREF:
+ if ( sRef_isConst (term->value.sref) )
+ {
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+ default:
+ BADEXIT;
+ }
+
+ BADEXIT;
+}