| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   36 class SubsetType : 
public Type {
 
   38     SubsetType(QualifiedName 
name, QualifiedName baseTypeName, SrcLocation loc = {})
 
   39             : 
Type(std::move(
name), std::move(loc)), 
baseType(std::move(baseTypeName)) {}
 
   51     void print(std::ostream& os)
 const override {
 
   52         os << 
".type " << getQualifiedName() << 
" <: " << 
getBaseType();
 
   55     bool equal(
const Node& node)
 const override {
 
   56         const auto& other = 
static_cast<const SubsetType&
>(node);
 
   57         return getQualifiedName() == other.getQualifiedName() && 
baseType == other.baseType;
 
  
const Type & getBaseType() const
void print(std::ostream &out) const override
A type being a subset of another type.
const QualifiedName & getBaseType() const
Return base type.
auto clone(const std::vector< A * > &xs)
Type(const Type &other)=delete
Abstract class for syntactic elements in an input program.
Qualified Name class defines fully/partially qualified names to identify objects in components.
SubsetType(const TypeEnvironment &environment, const QualifiedName &name, const Type &base)