Class HDLBody¶
Defined in File HDLBody.h
Inheritance Relationships¶
Base Type¶
public RecursiveASTVisitor< HDLBody >
Class Documentation¶
-
class
HDLBody: public RecursiveASTVisitor<HDLBody>¶ Public Functions
-
HDLBody(CXXMethodDecl *emd, hNodep &h_top, clang::DiagnosticsEngine &diag_engine)¶ Entry point for SC_METHOD body generation
Starting with outer compount statement, generate hcode for each statement, recursively traversing expressions
-
HDLBody(Stmt *stmt, hNodep &h_top, clang::DiagnosticsEngine &diag_engine)¶
-
virtual
~HDLBody()¶
-
bool
TraverseCompoundStmt(CompoundStmt *compoundStmt)¶
-
bool
TraverseStmt(Stmt *stmt)¶
-
bool
TraverseDeclStmt(DeclStmt *declstmt)¶ Process local variable and signal declarations, promoting to module level with unique names
-
bool
ProcessVarDecl(VarDecl *vardecl)¶
-
bool
TraverseBinaryOperator(BinaryOperator *expr)¶
-
bool
TraverseUnaryOperator(UnaryOperator *expr)¶
-
bool
TraverseConditionalOperator(ConditionalOperator *expr)¶
-
bool
TraverseIntegerLiteral(IntegerLiteral *lit)¶
-
bool
TraverseCXXBoolLiteralExpr(CXXBoolLiteralExpr *b)¶
-
bool
TraverseDeclRefExpr(DeclRefExpr *expr)¶
-
bool
TraverseArraySubscriptExpr(ArraySubscriptExpr *expr)¶
-
bool
TraverseCXXMemberCallExpr(CXXMemberCallExpr *callexpr)¶
-
bool
TraverseCXXOperatorCallExpr(CXXOperatorCallExpr *opcall)¶
-
bool
TraverseCallExpr(CallExpr *callexpr)¶
-
bool
TraverseMemberExpr(MemberExpr *memberexpr)¶
-
bool
TraverseIfStmt(IfStmt *ifs)¶
-
bool
TraverseForStmt(ForStmt *fors)¶
-
bool
TraverseSwitchStmt(SwitchStmt *switchs)¶
-
bool
ProcessSwitchCase(SwitchCase *cases)¶
-
bool
TraverseWhileStmt(WhileStmt *whiles)¶
-
void
AddVnames(hNodep &hvns)¶
-