User Guide
inline.cpp File Reference
#include <catch2/catch_test_macros.hpp>
#include <catch2/matchers/catch_matchers_string.hpp>
#include "ast/program.hpp"
#include "parser/nmodl_driver.hpp"
#include "test/unit/utils/test_utils.hpp"
#include "visitors/checkparent_visitor.hpp"
#include "visitors/inline_visitor.hpp"
#include "visitors/nmodl_visitor.hpp"
#include "visitors/symtab_visitor.hpp"

Go to the source code of this file.

Functions

std::string run_inline_visitor (const std::string &text)
 
 SCENARIO ("Inlining of external procedure calls", "[visitor][inline]")
 
 SCENARIO ("Inlining of function call as argument in external function", "[visitor][inline]")
 
 SCENARIO ("Inlining of simple, one level procedure call", "[visitor][inline]")
 
 SCENARIO ("Inlining of nested procedure call", "[visitor][inline]")
 
 SCENARIO ("Inline function call in procedure", "[visitor][inline]")
 
 SCENARIO ("Inling function call within conditional statement", "[visitor][inline]")
 
 SCENARIO ("Inline multiple function calls in same statement", "[visitor][inline]")
 
 SCENARIO ("Inline nested function calls withing arguments", "[visitor][inline]")
 
 SCENARIO ("Inline function call in non-binary expression", "[visitor][inline]")
 
 SCENARIO ("Inline function call as standalone expression", "[visitor][inline]")
 
 SCENARIO ("Inline procedure call as standalone statement as well as part of expression", "[visitor][inline]")
 
 SCENARIO ("Inlining pass handles local-global name conflict", "[visitor][inline]")
 
 SCENARIO ("Trying to inline a function with VERBATIM block")
 

Function Documentation

◆ run_inline_visitor()

std::string run_inline_visitor ( const std::string &  text)

Definition at line 32 of file inline.cpp.

◆ SCENARIO() [1/13]

SCENARIO ( "Inline function call as standalone expression"  ,
""  [visitor][inline] 
)

Definition at line 529 of file inline.cpp.

◆ SCENARIO() [2/13]

SCENARIO ( "Inline function call in non-binary expression"  ,
""  [visitor][inline] 
)

Definition at line 452 of file inline.cpp.

◆ SCENARIO() [3/13]

SCENARIO ( "Inline function call in procedure"  ,
""  [visitor][inline] 
)

Definition at line 208 of file inline.cpp.

◆ SCENARIO() [4/13]

SCENARIO ( "Inline multiple function calls in same statement"  ,
""  [visitor][inline] 
)

Definition at line 292 of file inline.cpp.

◆ SCENARIO() [5/13]

SCENARIO ( "Inline nested function calls withing arguments"  ,
""  [visitor][inline] 
)

Definition at line 374 of file inline.cpp.

◆ SCENARIO() [6/13]

SCENARIO ( "Inline procedure call as standalone statement as well as part of expression"  ,
""  [visitor][inline] 
)

Definition at line 565 of file inline.cpp.

◆ SCENARIO() [7/13]

SCENARIO ( "Inling function call within conditional statement"  ,
""  [visitor][inline] 
)

Definition at line 249 of file inline.cpp.

◆ SCENARIO() [8/13]

SCENARIO ( "Inlining of external procedure calls"  ,
""  [visitor][inline] 
)

Definition at line 48 of file inline.cpp.

◆ SCENARIO() [9/13]

SCENARIO ( "Inlining of function call as argument in external function"  ,
""  [visitor][inline] 
)

Definition at line 68 of file inline.cpp.

◆ SCENARIO() [10/13]

SCENARIO ( "Inlining of nested procedure call"  ,
""  [visitor][inline] 
)

Definition at line 140 of file inline.cpp.

◆ SCENARIO() [11/13]

SCENARIO ( "Inlining of  simple,
one level procedure call"  ,
""  [visitor][inline] 
)

Definition at line 102 of file inline.cpp.

◆ SCENARIO() [12/13]

SCENARIO ( "Inlining pass handles local-global name conflict"  ,
""  [visitor][inline] 
)

note that x in rates_2 should still update global x after inlining

Definition at line 602 of file inline.cpp.

◆ SCENARIO() [13/13]

SCENARIO ( "Trying to inline a function with VERBATIM block"  )

Definition at line 652 of file inline.cpp.