Changeset 1531ef5 for src/AST/Decl.cpp


Ignore:
Timestamp:
May 10, 2019, 3:26:26 PM (3 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
arm-eh, cleanup-dtors, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr
Children:
18d4dbd, 4ab0669, b78129a
Parents:
cdcd53dc (diff), 7e89526 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Decl.cpp

    rcdcd53dc r1531ef5  
    1414//
    1515
    16 #include <cassert>        // for assert, strict_dynamic_cast
     16#include "Decl.hpp"
     17
     18#include <cassert>             // for assert, strict_dynamic_cast
     19#include <string>
    1720#include <unordered_map>
    1821
    19 #include "Decl.hpp"
    20 
    21 #include "Fwd.hpp"        // for UniqueId
     22#include "Fwd.hpp"             // for UniqueId
    2223#include "Init.hpp"
    23 #include "Node.hpp"       // for readonly
     24#include "Node.hpp"            // for readonly
     25#include "Parser/ParseNode.h"  // for DeclarationNode
    2426
    2527namespace ast {
     
    4143        if ( i != idMap.end() ) return i->second;
    4244        return {};
     45}
     46
     47// --- TypeDecl
     48
     49std::string TypeDecl::typeString() const {
     50        static const std::string kindNames[] = { "object type", "function type", "tuple type" };
     51        assertf( sizeof(kindNames)/sizeof(kindNames[0]) == DeclarationNode::NoTypeClass-1,
     52                "typeString: kindNames is out of sync." );
     53        assertf( kind < sizeof(kindNames)/sizeof(kindNames[0]), "TypeDecl's kind is out of bounds." );
     54        return (sized ? "sized " : "") + kindNames[ kind ];
     55}
     56
     57std::string TypeDecl::genTypeString() const {
     58        static const std::string kindNames[] = { "dtype", "ftype", "ttype" };
     59        assertf( sizeof(kindNames)/sizeof(kindNames[0]) == DeclarationNode::NoTypeClass-1, "genTypeString: kindNames is out of sync." );
     60        assertf( kind < sizeof(kindNames)/sizeof(kindNames[0]), "TypeDecl's kind is out of bounds." );
     61        return kindNames[ kind ];
    4362}
    4463
Note: See TracChangeset for help on using the changeset viewer.