Ignore:
Timestamp:
May 17, 2023, 4:27:25 PM (13 months ago)
Author:
JiadaL <j82liang@…>
Branches:
ADT
Children:
3a513d89
Parents:
d6c464d
Message:

Save progress

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Common/PassVisitor.proto.h

    rd6c464d rf4e01f1  
    252252
    253253template<typename pass_type>
     254static inline auto indexer_impl_addAdtFwd( pass_type & pass, int, const AdtDecl * decl ) -> decltype( pass.indexer.addAdt( decl ), void() ) {
     255        AdtDecl * fwd = new AdtDecl( decl->name );
     256        cloneAll( decl->parameters, fwd->parameters );
     257
     258        // Experimental
     259        for ( const StructDecl * ctor : fwd->data_constructors ) {
     260                indexer_impl_addStructFwd( pass, 0, ctor );
     261        }
     262
     263        pass.indexer.addAdt( fwd );
     264}
     265
     266template<typename pass_type>
     267static inline auto indexer_impl_addAdtFwd( pass_type &, long, const AdtDecl * ) {}
     268
     269template<typename pass_type>
    254270static inline auto indexer_impl_addUnionFwd( pass_type & pass, int, const UnionDecl * decl ) -> decltype( pass.indexer.addUnion( decl ), void() ) {
    255271        UnionDecl * fwd = new UnionDecl( decl->name );
Note: See TracChangeset for help on using the changeset viewer.