std::string TypeAnnotation::fullName() const { std::string name; if (m_soft) { name += '@'; } if (m_nullable) { name += '?'; } if (m_function) { functionTypeName(name); } else if (m_typeaccess) { accessTypeName(name); } else if (m_xhp) { xhpTypeName(name); } else if (m_tuple) { tupleTypeName(name); } else if (m_shape) { shapeTypeName(name); } else if (m_typeArgs) { genericTypeName(name); } else { name += m_name; } return name; }
std::string petabricks::MatrixDef::genericAllocateStr() const{ return genericTypeName()+"::allocate("+_size.toString()+")"; }