Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    r5408b59 re874605  
    234234                }
    235235                return declWithTypePostamble( decl, node );
     236        }
     237
     238        // InlineValueDecl vanish after EnumAndPointerDecay pass so no necessary to implement NewToOld
     239        const ast::DeclWithType * visit( const ast::InlineValueDecl * node ) override final {   
     240                assert( false );
     241                (void) node;
     242                return nullptr;
    236243        }
    237244
     
    18631870        }
    18641871
     1872        virtual void visit( const InlineValueDecl * old ) override final {
     1873                if ( inCache( old ) ) {
     1874                        return;
     1875                }
     1876                auto&& type = GET_ACCEPT_1(type, Type);
     1877                auto&& attr = GET_ACCEPT_V(attributes, Attribute);
     1878 
     1879                auto decl = new ast::InlineValueDecl(
     1880                        old->location,
     1881                        old->name,
     1882                        type,
     1883                        { old->get_storageClasses().val },
     1884                        { old->linkage.val },
     1885                        std::move(attr),
     1886                        { old->get_funcSpec().val }
     1887                );
     1888                cache.emplace(old, decl);
     1889                assert(cache.find( old ) != cache.end());
     1890                decl->scopeLevel = old->scopeLevel;
     1891                decl->mangleName = old->mangleName;
     1892                decl->isDeleted  = old->isDeleted;
     1893                decl->asmName    = GET_ACCEPT_1(asmName, Expr);
     1894                decl->uniqueId   = old->uniqueId;
     1895                decl->extension  = old->extension;
     1896
     1897                this->node = decl;
     1898        }
     1899
    18651900        virtual void visit( const CompoundStmt * old ) override final {
    18661901                if ( inCache( old ) ) return;
Note: See TracChangeset for help on using the changeset viewer.