{
CheckArgument(
!elementType.isNull(), elementType, "unexpected NULL element type");
- CheckArgument(elementType.isFirstClass(),
- elementType,
- "cannot store types that are not first-class in bags. Try "
- "option --uf-ho.");
Debug("bags") << "making bags type " << elementType << std::endl;
return mkTypeNode(kind::BAG_TYPE, elementType);
}
{
CheckArgument(
!elementType.isNull(), elementType, "unexpected NULL element type");
- CheckArgument(elementType.isFirstClass(),
- elementType,
- "cannot store types that are not first-class in sequences. Try "
- "option --uf-ho.");
return mkTypeNode(kind::SEQUENCE_TYPE, elementType);
}
"unexpected NULL index type");
CheckArgument(!constituentType.isNull(), constituentType,
"unexpected NULL constituent type");
- CheckArgument(indexType.isFirstClass(),
- indexType,
- "cannot index arrays by types that are not first-class. Try "
- "option --uf-ho.");
- CheckArgument(constituentType.isFirstClass(),
- constituentType,
- "cannot store types that are not first-class in arrays. Try "
- "option --uf-ho.");
Debug("arrays") << "making array type " << indexType << " "
<< constituentType << std::endl;
return mkTypeNode(kind::ARRAY_TYPE, indexType, constituentType);
inline TypeNode NodeManager::mkSetType(TypeNode elementType) {
CheckArgument(!elementType.isNull(), elementType,
"unexpected NULL element type");
- CheckArgument(elementType.isFirstClass(),
- elementType,
- "cannot store types that are not first-class in sets. Try "
- "option --uf-ho.");
Debug("sets") << "making sets type " << elementType << std::endl;
return mkTypeNode(kind::SET_TYPE, elementType);
}