Ignore:
Timestamp:
Sep 30, 2014, 2:44:40 PM (5 years ago)
Author:
nmedfort
Message:

Replaced dynamic_cast with llvm::dyn_cast in pablo code; implemented make functions for pablo constructors. Disabled RTTI.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/pe_or.h

    r4199 r4200  
    1313
    1414class Or : public PabloE {
     15    friend PabloE * make_or(PabloE *, PabloE *);
    1516public:
    16     Or(PabloE * expr1, PabloE * expr2)
    17     : PabloE(ClassTypeId::MatchStar)
    18     , mExpr1(expr1)
    19     , mExpr2(expr2)
    20     {
    21 
     17    static inline bool classof(const PabloE * e) {
     18        return e->getClassTypeId() == ClassTypeId::Or;
    2219    }
    23 
     20    static inline bool classof(const void *) {
     21        return false;
     22    }
    2423    virtual ~Or() {
    2524        delete mExpr1;
     
    3433        return mExpr2;
    3534    }
     35protected:
     36    Or(PabloE * expr1, PabloE * expr2)
     37    : PabloE(ClassTypeId::Or)
     38    , mExpr1(expr1)
     39    , mExpr2(expr2)
     40    {
     41
     42    }
    3643private:
    37     PabloE* mExpr1;
    38     PabloE* mExpr2;
     44    PabloE * const mExpr1;
     45    PabloE * const mExpr2;
    3946};
     47
     48PabloE * make_or(PabloE * expr1, PabloE * expr2);
    4049
    4150}
Note: See TracChangeset for help on using the changeset viewer.