Changeset ce36b55 for src/AST


Ignore:
Timestamp:
Nov 15, 2021, 2:51:44 PM (4 years ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
Children:
1387ea0
Parents:
5dcb881
Message:

Translation of Validate F; and some improvements in some helpers.

Location:
src/AST
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Copy.cpp

    r5dcb881 rce36b55  
    105105}
    106106
    107 Node * deepCopyNode( const Node * localRoot ) {
     107template<>
     108Node * deepCopy<Node>( const Node * localRoot ) {
    108109        Pass< DeepCopyCore > dc;
    109110        Node const * newRoot = localRoot->accept( dc );
  • src/AST/Copy.hpp

    r5dcb881 rce36b55  
    4444}
    4545
    46 Node * deepCopyNode( const Node * node );
    47 
    4846template<typename node_t>
    4947node_t * deepCopy( const node_t * localRoot ) {
    50         return strict_dynamic_cast<node_t *>( deepCopyNode( localRoot ) );
     48        return strict_dynamic_cast<node_t *>( deepCopy<Node>( localRoot ) );
    5149}
     50
     51template<>
     52Node * deepCopy<Node>( const Node * localRoot );
    5253
    5354}
  • src/AST/Init.hpp

    r5dcb881 rce36b55  
    9898        const_iterator begin() const { return initializers.begin(); }
    9999        const_iterator end() const { return initializers.end(); }
     100        size_t size() const { return initializers.size(); }
    100101
    101102        const Init * accept( Visitor & v ) const override { return v.visit( this ); }
  • src/AST/Pass.hpp

    r5dcb881 rce36b55  
    109109        static auto read( node_type const * node, Args&&... args ) {
    110110                Pass<core_t> visitor( std::forward<Args>( args )... );
    111                 node_type const * temp = node->accept( visitor );
     111                auto const * temp = node->accept( visitor );
    112112                assert( temp == node );
    113113                return visitor.get_result();
     
    124124        static auto read( node_type const * node ) {
    125125                Pass<core_t> visitor;
    126                 node_type const * temp = node->accept( visitor );
     126                auto const * temp = node->accept( visitor );
    127127                assert( temp == node );
    128128                return visitor.get_result();
Note: See TracChangeset for help on using the changeset viewer.