User Guide
nmodl::visitor::JSONVisitor Class Reference

Visitor for printing AST in JSON format More...

Detailed Description

Visitor for printing AST in JSON format

Convert AST into JSON form form using AST visitor. This is used for debugging or visualization purpose.

Definition at line 37 of file json_visitor.hpp.

#include <json_visitor.hpp>

Inheritance diagram for nmodl::visitor::JSONVisitor:
nmodl::visitor::ConstAstVisitor nmodl::visitor::ConstVisitor

Public Member Functions

 JSONVisitor ()
 
 JSONVisitor (std::string filename)
 
 JSONVisitor (std::ostream &ss)
 
JSONVisitorwrite (const ast::Program &program)
 
JSONVisitorflush ()
 
JSONVisitorcompact_json (bool flag)
 
JSONVisitoradd_nmodl (bool flag)
 
JSONVisitorexpand_keys (bool flag)
 
- Public Member Functions inherited from nmodl::visitor::ConstVisitor
virtual ~ConstVisitor ()=default
 

Protected Member Functions

void visit_node (const ast::Node &node) override
 visit node of type ast::Node More...
 
void visit_statement (const ast::Statement &node) override
 visit node of type ast::Statement More...
 
void visit_expression (const ast::Expression &node) override
 visit node of type ast::Expression More...
 
void visit_block (const ast::Block &node) override
 visit node of type ast::Block More...
 
void visit_identifier (const ast::Identifier &node) override
 visit node of type ast::Identifier More...
 
void visit_number (const ast::Number &node) override
 visit node of type ast::Number More...
 
void visit_string (const ast::String &node) override
 visit node of type ast::String More...
 
void visit_integer (const ast::Integer &node) override
 visit node of type ast::Integer More...
 
void visit_float (const ast::Float &node) override
 visit node of type ast::Float More...
 
void visit_double (const ast::Double &node) override
 visit node of type ast::Double More...
 
void visit_boolean (const ast::Boolean &node) override
 visit node of type ast::Boolean More...
 
void visit_name (const ast::Name &node) override
 visit node of type ast::Name More...
 
void visit_prime_name (const ast::PrimeName &node) override
 visit node of type ast::PrimeName More...
 
void visit_indexed_name (const ast::IndexedName &node) override
 visit node of type ast::IndexedName More...
 
void visit_var_name (const ast::VarName &node) override
 visit node of type ast::VarName More...
 
void visit_argument (const ast::Argument &node) override
 visit node of type ast::Argument More...
 
void visit_react_var_name (const ast::ReactVarName &node) override
 visit node of type ast::ReactVarName More...
 
void visit_read_ion_var (const ast::ReadIonVar &node) override
 visit node of type ast::ReadIonVar More...
 
void visit_write_ion_var (const ast::WriteIonVar &node) override
 visit node of type ast::WriteIonVar More...
 
void visit_nonspecific_cur_var (const ast::NonspecificCurVar &node) override
 visit node of type ast::NonspecificCurVar More...
 
void visit_electrode_cur_var (const ast::ElectrodeCurVar &node) override
 visit node of type ast::ElectrodeCurVar More...
 
void visit_range_var (const ast::RangeVar &node) override
 visit node of type ast::RangeVar More...
 
void visit_global_var (const ast::GlobalVar &node) override
 visit node of type ast::GlobalVar More...
 
void visit_pointer_var (const ast::PointerVar &node) override
 visit node of type ast::PointerVar More...
 
void visit_random_var (const ast::RandomVar &node) override
 visit node of type ast::RandomVar More...
 
void visit_bbcore_pointer_var (const ast::BbcorePointerVar &node) override
 visit node of type ast::BbcorePointerVar More...
 
void visit_extern_var (const ast::ExternVar &node) override
 visit node of type ast::ExternVar More...
 
void visit_param_block (const ast::ParamBlock &node) override
 visit node of type ast::ParamBlock More...
 
void visit_independent_block (const ast::IndependentBlock &node) override
 visit node of type ast::IndependentBlock More...
 
void visit_assigned_block (const ast::AssignedBlock &node) override
 visit node of type ast::AssignedBlock More...
 
void visit_state_block (const ast::StateBlock &node) override
 visit node of type ast::StateBlock More...
 
void visit_initial_block (const ast::InitialBlock &node) override
 visit node of type ast::InitialBlock More...
 
void visit_constructor_block (const ast::ConstructorBlock &node) override
 visit node of type ast::ConstructorBlock More...
 
void visit_destructor_block (const ast::DestructorBlock &node) override
 visit node of type ast::DestructorBlock More...
 
void visit_statement_block (const ast::StatementBlock &node) override
 visit node of type ast::StatementBlock More...
 
void visit_derivative_block (const ast::DerivativeBlock &node) override
 visit node of type ast::DerivativeBlock More...
 
void visit_linear_block (const ast::LinearBlock &node) override
 visit node of type ast::LinearBlock More...
 
void visit_non_linear_block (const ast::NonLinearBlock &node) override
 visit node of type ast::NonLinearBlock More...
 
void visit_discrete_block (const ast::DiscreteBlock &node) override
 visit node of type ast::DiscreteBlock More...
 
void visit_function_table_block (const ast::FunctionTableBlock &node) override
 visit node of type ast::FunctionTableBlock More...
 
void visit_function_block (const ast::FunctionBlock &node) override
 visit node of type ast::FunctionBlock More...
 
void visit_procedure_block (const ast::ProcedureBlock &node) override
 visit node of type ast::ProcedureBlock More...
 
void visit_net_receive_block (const ast::NetReceiveBlock &node) override
 visit node of type ast::NetReceiveBlock More...
 
void visit_solve_block (const ast::SolveBlock &node) override
 visit node of type ast::SolveBlock More...
 
void visit_breakpoint_block (const ast::BreakpointBlock &node) override
 visit node of type ast::BreakpointBlock More...
 
void visit_before_block (const ast::BeforeBlock &node) override
 visit node of type ast::BeforeBlock More...
 
void visit_after_block (const ast::AfterBlock &node) override
 visit node of type ast::AfterBlock More...
 
void visit_ba_block (const ast::BABlock &node) override
 visit node of type ast::BABlock More...
 
void visit_for_netcon (const ast::ForNetcon &node) override
 visit node of type ast::ForNetcon More...
 
void visit_kinetic_block (const ast::KineticBlock &node) override
 visit node of type ast::KineticBlock More...
 
void visit_unit_block (const ast::UnitBlock &node) override
 visit node of type ast::UnitBlock More...
 
void visit_constant_block (const ast::ConstantBlock &node) override
 visit node of type ast::ConstantBlock More...
 
void visit_neuron_block (const ast::NeuronBlock &node) override
 visit node of type ast::NeuronBlock More...
 
void visit_unit (const ast::Unit &node) override
 visit node of type ast::Unit More...
 
void visit_double_unit (const ast::DoubleUnit &node) override
 visit node of type ast::DoubleUnit More...
 
void visit_local_var (const ast::LocalVar &node) override
 visit node of type ast::LocalVar More...
 
void visit_limits (const ast::Limits &node) override
 visit node of type ast::Limits More...
 
void visit_number_range (const ast::NumberRange &node) override
 visit node of type ast::NumberRange More...
 
void visit_constant_var (const ast::ConstantVar &node) override
 visit node of type ast::ConstantVar More...
 
void visit_binary_operator (const ast::BinaryOperator &node) override
 visit node of type ast::BinaryOperator More...
 
void visit_unary_operator (const ast::UnaryOperator &node) override
 visit node of type ast::UnaryOperator More...
 
void visit_reaction_operator (const ast::ReactionOperator &node) override
 visit node of type ast::ReactionOperator More...
 
void visit_paren_expression (const ast::ParenExpression &node) override
 visit node of type ast::ParenExpression More...
 
void visit_binary_expression (const ast::BinaryExpression &node) override
 visit node of type ast::BinaryExpression More...
 
void visit_diff_eq_expression (const ast::DiffEqExpression &node) override
 visit node of type ast::DiffEqExpression More...
 
void visit_unary_expression (const ast::UnaryExpression &node) override
 visit node of type ast::UnaryExpression More...
 
void visit_non_lin_equation (const ast::NonLinEquation &node) override
 visit node of type ast::NonLinEquation More...
 
void visit_lin_equation (const ast::LinEquation &node) override
 visit node of type ast::LinEquation More...
 
void visit_function_call (const ast::FunctionCall &node) override
 visit node of type ast::FunctionCall More...
 
void visit_watch (const ast::Watch &node) override
 visit node of type ast::Watch More...
 
void visit_ba_block_type (const ast::BABlockType &node) override
 visit node of type ast::BABlockType More...
 
void visit_unit_def (const ast::UnitDef &node) override
 visit node of type ast::UnitDef More...
 
void visit_factor_def (const ast::FactorDef &node) override
 visit node of type ast::FactorDef More...
 
void visit_valence (const ast::Valence &node) override
 visit node of type ast::Valence More...
 
void visit_unit_state (const ast::UnitState &node) override
 visit node of type ast::UnitState More...
 
void visit_local_list_statement (const ast::LocalListStatement &node) override
 visit node of type ast::LocalListStatement More...
 
void visit_model (const ast::Model &node) override
 visit node of type ast::Model More...
 
void visit_define (const ast::Define &node) override
 visit node of type ast::Define More...
 
void visit_include (const ast::Include &node) override
 visit node of type ast::Include More...
 
void visit_param_assign (const ast::ParamAssign &node) override
 visit node of type ast::ParamAssign More...
 
void visit_assigned_definition (const ast::AssignedDefinition &node) override
 visit node of type ast::AssignedDefinition More...
 
void visit_conductance_hint (const ast::ConductanceHint &node) override
 visit node of type ast::ConductanceHint More...
 
void visit_expression_statement (const ast::ExpressionStatement &node) override
 visit node of type ast::ExpressionStatement More...
 
void visit_protect_statement (const ast::ProtectStatement &node) override
 visit node of type ast::ProtectStatement More...
 
void visit_from_statement (const ast::FromStatement &node) override
 visit node of type ast::FromStatement More...
 
void visit_while_statement (const ast::WhileStatement &node) override
 visit node of type ast::WhileStatement More...
 
void visit_if_statement (const ast::IfStatement &node) override
 visit node of type ast::IfStatement More...
 
void visit_else_if_statement (const ast::ElseIfStatement &node) override
 visit node of type ast::ElseIfStatement More...
 
void visit_else_statement (const ast::ElseStatement &node) override
 visit node of type ast::ElseStatement More...
 
void visit_watch_statement (const ast::WatchStatement &node) override
 visit node of type ast::WatchStatement More...
 
void visit_mutex_lock (const ast::MutexLock &node) override
 visit node of type ast::MutexLock More...
 
void visit_mutex_unlock (const ast::MutexUnlock &node) override
 visit node of type ast::MutexUnlock More...
 
void visit_conserve (const ast::Conserve &node) override
 visit node of type ast::Conserve More...
 
void visit_compartment (const ast::Compartment &node) override
 visit node of type ast::Compartment More...
 
void visit_lon_difuse (const ast::LonDifuse &node) override
 visit node of type ast::LonDifuse More...
 
void visit_reaction_statement (const ast::ReactionStatement &node) override
 visit node of type ast::ReactionStatement More...
 
void visit_lag_statement (const ast::LagStatement &node) override
 visit node of type ast::LagStatement More...
 
void visit_constant_statement (const ast::ConstantStatement &node) override
 visit node of type ast::ConstantStatement More...
 
void visit_table_statement (const ast::TableStatement &node) override
 visit node of type ast::TableStatement More...
 
void visit_suffix (const ast::Suffix &node) override
 visit node of type ast::Suffix More...
 
void visit_useion (const ast::Useion &node) override
 visit node of type ast::Useion More...
 
void visit_nonspecific (const ast::Nonspecific &node) override
 visit node of type ast::Nonspecific More...
 
void visit_electrode_current (const ast::ElectrodeCurrent &node) override
 visit node of type ast::ElectrodeCurrent More...
 
void visit_range (const ast::Range &node) override
 visit node of type ast::Range More...
 
void visit_global (const ast::Global &node) override
 visit node of type ast::Global More...
 
void visit_random_var_list (const ast::RandomVarList &node) override
 visit node of type ast::RandomVarList More...
 
void visit_pointer (const ast::Pointer &node) override
 visit node of type ast::Pointer More...
 
void visit_bbcore_pointer (const ast::BbcorePointer &node) override
 visit node of type ast::BbcorePointer More...
 
void visit_external (const ast::External &node) override
 visit node of type ast::External More...
 
void visit_thread_safe (const ast::ThreadSafe &node) override
 visit node of type ast::ThreadSafe More...
 
void visit_verbatim (const ast::Verbatim &node) override
 visit node of type ast::Verbatim More...
 
void visit_line_comment (const ast::LineComment &node) override
 visit node of type ast::LineComment More...
 
void visit_block_comment (const ast::BlockComment &node) override
 visit node of type ast::BlockComment More...
 
void visit_ontology_statement (const ast::OntologyStatement &node) override
 visit node of type ast::OntologyStatement More...
 
void visit_program (const ast::Program &node) override
 visit node of type ast::Program More...
 
void visit_nrn_state_block (const ast::NrnStateBlock &node) override
 visit node of type ast::NrnStateBlock More...
 
void visit_eigen_newton_solver_block (const ast::EigenNewtonSolverBlock &node) override
 visit node of type ast::EigenNewtonSolverBlock More...
 
void visit_eigen_linear_solver_block (const ast::EigenLinearSolverBlock &node) override
 visit node of type ast::EigenLinearSolverBlock More...
 
void visit_wrapped_expression (const ast::WrappedExpression &node) override
 visit node of type ast::WrappedExpression More...
 
void visit_derivimplicit_callback (const ast::DerivimplicitCallback &node) override
 visit node of type ast::DerivimplicitCallback More...
 
void visit_solution_expression (const ast::SolutionExpression &node) override
 visit node of type ast::SolutionExpression More...
 
void visit_update_dt (const ast::UpdateDt &node) override
 visit node of type ast::UpdateDt More...
 

Private Attributes

std::unique_ptr< printer::JSONPrinterprinter
 json printer More...
 
bool embed_nmodl = false
 true if nmodl corresponding to ast node should be added to json More...
 

Constructor & Destructor Documentation

◆ JSONVisitor() [1/3]

nmodl::visitor::JSONVisitor::JSONVisitor ( )
inline

Definition at line 46 of file json_visitor.hpp.

◆ JSONVisitor() [2/3]

nmodl::visitor::JSONVisitor::JSONVisitor ( std::string  filename)
inline

Definition at line 49 of file json_visitor.hpp.

◆ JSONVisitor() [3/3]

nmodl::visitor::JSONVisitor::JSONVisitor ( std::ostream &  ss)
inline

Definition at line 52 of file json_visitor.hpp.

Member Function Documentation

◆ add_nmodl()

JSONVisitor& nmodl::visitor::JSONVisitor::add_nmodl ( bool  flag)
inline

Definition at line 70 of file json_visitor.hpp.

◆ compact_json()

JSONVisitor& nmodl::visitor::JSONVisitor::compact_json ( bool  flag)
inline

Definition at line 65 of file json_visitor.hpp.

◆ expand_keys()

JSONVisitor& nmodl::visitor::JSONVisitor::expand_keys ( bool  flag)
inline

Definition at line 75 of file json_visitor.hpp.

◆ flush()

JSONVisitor& nmodl::visitor::JSONVisitor::flush ( )
inline

Definition at line 60 of file json_visitor.hpp.

◆ visit_after_block()

void nmodl::visitor::JSONVisitor::visit_after_block ( const ast::AfterBlock node)
overrideprotectedvirtual

visit node of type ast::AfterBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 429 of file json_visitor.cpp.

◆ visit_argument()

void nmodl::visitor::JSONVisitor::visit_argument ( const ast::Argument node)
overrideprotectedvirtual

visit node of type ast::Argument

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 150 of file json_visitor.cpp.

◆ visit_assigned_block()

void nmodl::visitor::JSONVisitor::visit_assigned_block ( const ast::AssignedBlock node)
overrideprotectedvirtual

visit node of type ast::AssignedBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 276 of file json_visitor.cpp.

◆ visit_assigned_definition()

void nmodl::visitor::JSONVisitor::visit_assigned_definition ( const ast::AssignedDefinition node)
overrideprotectedvirtual

visit node of type ast::AssignedDefinition

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 750 of file json_visitor.cpp.

◆ visit_ba_block()

void nmodl::visitor::JSONVisitor::visit_ba_block ( const ast::BABlock node)
overrideprotectedvirtual

visit node of type ast::BABlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 438 of file json_visitor.cpp.

◆ visit_ba_block_type()

void nmodl::visitor::JSONVisitor::visit_ba_block_type ( const ast::BABlockType node)
overrideprotectedvirtual

visit node of type ast::BABlockType

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 654 of file json_visitor.cpp.

◆ visit_bbcore_pointer()

void nmodl::visitor::JSONVisitor::visit_bbcore_pointer ( const ast::BbcorePointer node)
overrideprotectedvirtual

visit node of type ast::BbcorePointer

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 985 of file json_visitor.cpp.

◆ visit_bbcore_pointer_var()

void nmodl::visitor::JSONVisitor::visit_bbcore_pointer_var ( const ast::BbcorePointerVar node)
overrideprotectedvirtual

visit node of type ast::BbcorePointerVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 240 of file json_visitor.cpp.

◆ visit_before_block()

void nmodl::visitor::JSONVisitor::visit_before_block ( const ast::BeforeBlock node)
overrideprotectedvirtual

visit node of type ast::BeforeBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 420 of file json_visitor.cpp.

◆ visit_binary_expression()

void nmodl::visitor::JSONVisitor::visit_binary_expression ( const ast::BinaryExpression node)
overrideprotectedvirtual

visit node of type ast::BinaryExpression

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 591 of file json_visitor.cpp.

◆ visit_binary_operator()

void nmodl::visitor::JSONVisitor::visit_binary_operator ( const ast::BinaryOperator node)
overrideprotectedvirtual

visit node of type ast::BinaryOperator

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 546 of file json_visitor.cpp.

◆ visit_block()

void nmodl::visitor::JSONVisitor::visit_block ( const ast::Block node)
overrideprotectedvirtual

visit node of type ast::Block

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 37 of file json_visitor.cpp.

◆ visit_block_comment()

void nmodl::visitor::JSONVisitor::visit_block_comment ( const ast::BlockComment node)
overrideprotectedvirtual

visit node of type ast::BlockComment

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1026 of file json_visitor.cpp.

◆ visit_boolean()

void nmodl::visitor::JSONVisitor::visit_boolean ( const ast::Boolean node)
overrideprotectedvirtual

visit node of type ast::Boolean

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 102 of file json_visitor.cpp.

◆ visit_breakpoint_block()

void nmodl::visitor::JSONVisitor::visit_breakpoint_block ( const ast::BreakpointBlock node)
overrideprotectedvirtual

visit node of type ast::BreakpointBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 411 of file json_visitor.cpp.

◆ visit_compartment()

void nmodl::visitor::JSONVisitor::visit_compartment ( const ast::Compartment node)
overrideprotectedvirtual

visit node of type ast::Compartment

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 859 of file json_visitor.cpp.

◆ visit_conductance_hint()

void nmodl::visitor::JSONVisitor::visit_conductance_hint ( const ast::ConductanceHint node)
overrideprotectedvirtual

visit node of type ast::ConductanceHint

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 759 of file json_visitor.cpp.

◆ visit_conserve()

void nmodl::visitor::JSONVisitor::visit_conserve ( const ast::Conserve node)
overrideprotectedvirtual

visit node of type ast::Conserve

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 850 of file json_visitor.cpp.

◆ visit_constant_block()

void nmodl::visitor::JSONVisitor::visit_constant_block ( const ast::ConstantBlock node)
overrideprotectedvirtual

visit node of type ast::ConstantBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 474 of file json_visitor.cpp.

◆ visit_constant_statement()

void nmodl::visitor::JSONVisitor::visit_constant_statement ( const ast::ConstantStatement node)
overrideprotectedvirtual

visit node of type ast::ConstantStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 895 of file json_visitor.cpp.

◆ visit_constant_var()

void nmodl::visitor::JSONVisitor::visit_constant_var ( const ast::ConstantVar node)
overrideprotectedvirtual

visit node of type ast::ConstantVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 537 of file json_visitor.cpp.

◆ visit_constructor_block()

void nmodl::visitor::JSONVisitor::visit_constructor_block ( const ast::ConstructorBlock node)
overrideprotectedvirtual

visit node of type ast::ConstructorBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 303 of file json_visitor.cpp.

◆ visit_define()

void nmodl::visitor::JSONVisitor::visit_define ( const ast::Define node)
overrideprotectedvirtual

visit node of type ast::Define

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 723 of file json_visitor.cpp.

◆ visit_derivative_block()

void nmodl::visitor::JSONVisitor::visit_derivative_block ( const ast::DerivativeBlock node)
overrideprotectedvirtual

visit node of type ast::DerivativeBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 330 of file json_visitor.cpp.

◆ visit_derivimplicit_callback()

void nmodl::visitor::JSONVisitor::visit_derivimplicit_callback ( const ast::DerivimplicitCallback node)
overrideprotectedvirtual

visit node of type ast::DerivimplicitCallback

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1092 of file json_visitor.cpp.

◆ visit_destructor_block()

void nmodl::visitor::JSONVisitor::visit_destructor_block ( const ast::DestructorBlock node)
overrideprotectedvirtual

visit node of type ast::DestructorBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 312 of file json_visitor.cpp.

◆ visit_diff_eq_expression()

void nmodl::visitor::JSONVisitor::visit_diff_eq_expression ( const ast::DiffEqExpression node)
overrideprotectedvirtual

visit node of type ast::DiffEqExpression

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 600 of file json_visitor.cpp.

◆ visit_discrete_block()

void nmodl::visitor::JSONVisitor::visit_discrete_block ( const ast::DiscreteBlock node)
overrideprotectedvirtual

visit node of type ast::DiscreteBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 357 of file json_visitor.cpp.

◆ visit_double()

void nmodl::visitor::JSONVisitor::visit_double ( const ast::Double node)
overrideprotectedvirtual

visit node of type ast::Double

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 90 of file json_visitor.cpp.

◆ visit_double_unit()

void nmodl::visitor::JSONVisitor::visit_double_unit ( const ast::DoubleUnit node)
overrideprotectedvirtual

visit node of type ast::DoubleUnit

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 501 of file json_visitor.cpp.

◆ visit_eigen_linear_solver_block()

void nmodl::visitor::JSONVisitor::visit_eigen_linear_solver_block ( const ast::EigenLinearSolverBlock node)
overrideprotectedvirtual

visit node of type ast::EigenLinearSolverBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1074 of file json_visitor.cpp.

◆ visit_eigen_newton_solver_block()

void nmodl::visitor::JSONVisitor::visit_eigen_newton_solver_block ( const ast::EigenNewtonSolverBlock node)
overrideprotectedvirtual

visit node of type ast::EigenNewtonSolverBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1065 of file json_visitor.cpp.

◆ visit_electrode_cur_var()

void nmodl::visitor::JSONVisitor::visit_electrode_cur_var ( const ast::ElectrodeCurVar node)
overrideprotectedvirtual

visit node of type ast::ElectrodeCurVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 195 of file json_visitor.cpp.

◆ visit_electrode_current()

void nmodl::visitor::JSONVisitor::visit_electrode_current ( const ast::ElectrodeCurrent node)
overrideprotectedvirtual

visit node of type ast::ElectrodeCurrent

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 940 of file json_visitor.cpp.

◆ visit_else_if_statement()

void nmodl::visitor::JSONVisitor::visit_else_if_statement ( const ast::ElseIfStatement node)
overrideprotectedvirtual

visit node of type ast::ElseIfStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 813 of file json_visitor.cpp.

◆ visit_else_statement()

void nmodl::visitor::JSONVisitor::visit_else_statement ( const ast::ElseStatement node)
overrideprotectedvirtual

visit node of type ast::ElseStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 822 of file json_visitor.cpp.

◆ visit_expression()

void nmodl::visitor::JSONVisitor::visit_expression ( const ast::Expression node)
overrideprotectedvirtual

visit node of type ast::Expression

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 32 of file json_visitor.cpp.

◆ visit_expression_statement()

void nmodl::visitor::JSONVisitor::visit_expression_statement ( const ast::ExpressionStatement node)
overrideprotectedvirtual

visit node of type ast::ExpressionStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 768 of file json_visitor.cpp.

◆ visit_extern_var()

void nmodl::visitor::JSONVisitor::visit_extern_var ( const ast::ExternVar node)
overrideprotectedvirtual

visit node of type ast::ExternVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 249 of file json_visitor.cpp.

◆ visit_external()

void nmodl::visitor::JSONVisitor::visit_external ( const ast::External node)
overrideprotectedvirtual

visit node of type ast::External

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 994 of file json_visitor.cpp.

◆ visit_factor_def()

void nmodl::visitor::JSONVisitor::visit_factor_def ( const ast::FactorDef node)
overrideprotectedvirtual

visit node of type ast::FactorDef

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 675 of file json_visitor.cpp.

◆ visit_float()

void nmodl::visitor::JSONVisitor::visit_float ( const ast::Float node)
overrideprotectedvirtual

visit node of type ast::Float

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 78 of file json_visitor.cpp.

◆ visit_for_netcon()

void nmodl::visitor::JSONVisitor::visit_for_netcon ( const ast::ForNetcon node)
overrideprotectedvirtual

visit node of type ast::ForNetcon

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 447 of file json_visitor.cpp.

◆ visit_from_statement()

void nmodl::visitor::JSONVisitor::visit_from_statement ( const ast::FromStatement node)
overrideprotectedvirtual

visit node of type ast::FromStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 786 of file json_visitor.cpp.

◆ visit_function_block()

void nmodl::visitor::JSONVisitor::visit_function_block ( const ast::FunctionBlock node)
overrideprotectedvirtual

visit node of type ast::FunctionBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 375 of file json_visitor.cpp.

◆ visit_function_call()

void nmodl::visitor::JSONVisitor::visit_function_call ( const ast::FunctionCall node)
overrideprotectedvirtual

visit node of type ast::FunctionCall

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 636 of file json_visitor.cpp.

◆ visit_function_table_block()

void nmodl::visitor::JSONVisitor::visit_function_table_block ( const ast::FunctionTableBlock node)
overrideprotectedvirtual

visit node of type ast::FunctionTableBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 366 of file json_visitor.cpp.

◆ visit_global()

void nmodl::visitor::JSONVisitor::visit_global ( const ast::Global node)
overrideprotectedvirtual

visit node of type ast::Global

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 958 of file json_visitor.cpp.

◆ visit_global_var()

void nmodl::visitor::JSONVisitor::visit_global_var ( const ast::GlobalVar node)
overrideprotectedvirtual

visit node of type ast::GlobalVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 213 of file json_visitor.cpp.

◆ visit_identifier()

void nmodl::visitor::JSONVisitor::visit_identifier ( const ast::Identifier node)
overrideprotectedvirtual

visit node of type ast::Identifier

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 42 of file json_visitor.cpp.

◆ visit_if_statement()

void nmodl::visitor::JSONVisitor::visit_if_statement ( const ast::IfStatement node)
overrideprotectedvirtual

visit node of type ast::IfStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 804 of file json_visitor.cpp.

◆ visit_include()

void nmodl::visitor::JSONVisitor::visit_include ( const ast::Include node)
overrideprotectedvirtual

visit node of type ast::Include

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 732 of file json_visitor.cpp.

◆ visit_independent_block()

void nmodl::visitor::JSONVisitor::visit_independent_block ( const ast::IndependentBlock node)
overrideprotectedvirtual

visit node of type ast::IndependentBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 267 of file json_visitor.cpp.

◆ visit_indexed_name()

void nmodl::visitor::JSONVisitor::visit_indexed_name ( const ast::IndexedName node)
overrideprotectedvirtual

visit node of type ast::IndexedName

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 132 of file json_visitor.cpp.

◆ visit_initial_block()

void nmodl::visitor::JSONVisitor::visit_initial_block ( const ast::InitialBlock node)
overrideprotectedvirtual

visit node of type ast::InitialBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 294 of file json_visitor.cpp.

◆ visit_integer()

void nmodl::visitor::JSONVisitor::visit_integer ( const ast::Integer node)
overrideprotectedvirtual

visit node of type ast::Integer

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 64 of file json_visitor.cpp.

◆ visit_kinetic_block()

void nmodl::visitor::JSONVisitor::visit_kinetic_block ( const ast::KineticBlock node)
overrideprotectedvirtual

visit node of type ast::KineticBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 456 of file json_visitor.cpp.

◆ visit_lag_statement()

void nmodl::visitor::JSONVisitor::visit_lag_statement ( const ast::LagStatement node)
overrideprotectedvirtual

visit node of type ast::LagStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 886 of file json_visitor.cpp.

◆ visit_limits()

void nmodl::visitor::JSONVisitor::visit_limits ( const ast::Limits node)
overrideprotectedvirtual

visit node of type ast::Limits

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 519 of file json_visitor.cpp.

◆ visit_lin_equation()

void nmodl::visitor::JSONVisitor::visit_lin_equation ( const ast::LinEquation node)
overrideprotectedvirtual

visit node of type ast::LinEquation

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 627 of file json_visitor.cpp.

◆ visit_line_comment()

void nmodl::visitor::JSONVisitor::visit_line_comment ( const ast::LineComment node)
overrideprotectedvirtual

visit node of type ast::LineComment

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1017 of file json_visitor.cpp.

◆ visit_linear_block()

void nmodl::visitor::JSONVisitor::visit_linear_block ( const ast::LinearBlock node)
overrideprotectedvirtual

visit node of type ast::LinearBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 339 of file json_visitor.cpp.

◆ visit_local_list_statement()

void nmodl::visitor::JSONVisitor::visit_local_list_statement ( const ast::LocalListStatement node)
overrideprotectedvirtual

visit node of type ast::LocalListStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 705 of file json_visitor.cpp.

◆ visit_local_var()

void nmodl::visitor::JSONVisitor::visit_local_var ( const ast::LocalVar node)
overrideprotectedvirtual

visit node of type ast::LocalVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 510 of file json_visitor.cpp.

◆ visit_lon_difuse()

void nmodl::visitor::JSONVisitor::visit_lon_difuse ( const ast::LonDifuse node)
overrideprotectedvirtual

visit node of type ast::LonDifuse

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 868 of file json_visitor.cpp.

◆ visit_model()

void nmodl::visitor::JSONVisitor::visit_model ( const ast::Model node)
overrideprotectedvirtual

visit node of type ast::Model

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 714 of file json_visitor.cpp.

◆ visit_mutex_lock()

void nmodl::visitor::JSONVisitor::visit_mutex_lock ( const ast::MutexLock node)
overrideprotectedvirtual

visit node of type ast::MutexLock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 840 of file json_visitor.cpp.

◆ visit_mutex_unlock()

void nmodl::visitor::JSONVisitor::visit_mutex_unlock ( const ast::MutexUnlock node)
overrideprotectedvirtual

visit node of type ast::MutexUnlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 845 of file json_visitor.cpp.

◆ visit_name()

void nmodl::visitor::JSONVisitor::visit_name ( const ast::Name node)
overrideprotectedvirtual

visit node of type ast::Name

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 114 of file json_visitor.cpp.

◆ visit_net_receive_block()

void nmodl::visitor::JSONVisitor::visit_net_receive_block ( const ast::NetReceiveBlock node)
overrideprotectedvirtual

visit node of type ast::NetReceiveBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 393 of file json_visitor.cpp.

◆ visit_neuron_block()

void nmodl::visitor::JSONVisitor::visit_neuron_block ( const ast::NeuronBlock node)
overrideprotectedvirtual

visit node of type ast::NeuronBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 483 of file json_visitor.cpp.

◆ visit_node()

void nmodl::visitor::JSONVisitor::visit_node ( const ast::Node node)
overrideprotectedvirtual

visit node of type ast::Node

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 22 of file json_visitor.cpp.

◆ visit_non_lin_equation()

void nmodl::visitor::JSONVisitor::visit_non_lin_equation ( const ast::NonLinEquation node)
overrideprotectedvirtual

visit node of type ast::NonLinEquation

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 618 of file json_visitor.cpp.

◆ visit_non_linear_block()

void nmodl::visitor::JSONVisitor::visit_non_linear_block ( const ast::NonLinearBlock node)
overrideprotectedvirtual

visit node of type ast::NonLinearBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 348 of file json_visitor.cpp.

◆ visit_nonspecific()

void nmodl::visitor::JSONVisitor::visit_nonspecific ( const ast::Nonspecific node)
overrideprotectedvirtual

visit node of type ast::Nonspecific

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 931 of file json_visitor.cpp.

◆ visit_nonspecific_cur_var()

void nmodl::visitor::JSONVisitor::visit_nonspecific_cur_var ( const ast::NonspecificCurVar node)
overrideprotectedvirtual

visit node of type ast::NonspecificCurVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 186 of file json_visitor.cpp.

◆ visit_nrn_state_block()

void nmodl::visitor::JSONVisitor::visit_nrn_state_block ( const ast::NrnStateBlock node)
overrideprotectedvirtual

visit node of type ast::NrnStateBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1056 of file json_visitor.cpp.

◆ visit_number()

void nmodl::visitor::JSONVisitor::visit_number ( const ast::Number node)
overrideprotectedvirtual

visit node of type ast::Number

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 47 of file json_visitor.cpp.

◆ visit_number_range()

void nmodl::visitor::JSONVisitor::visit_number_range ( const ast::NumberRange node)
overrideprotectedvirtual

visit node of type ast::NumberRange

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 528 of file json_visitor.cpp.

◆ visit_ontology_statement()

void nmodl::visitor::JSONVisitor::visit_ontology_statement ( const ast::OntologyStatement node)
overrideprotectedvirtual

visit node of type ast::OntologyStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1035 of file json_visitor.cpp.

◆ visit_param_assign()

void nmodl::visitor::JSONVisitor::visit_param_assign ( const ast::ParamAssign node)
overrideprotectedvirtual

visit node of type ast::ParamAssign

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 741 of file json_visitor.cpp.

◆ visit_param_block()

void nmodl::visitor::JSONVisitor::visit_param_block ( const ast::ParamBlock node)
overrideprotectedvirtual

visit node of type ast::ParamBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 258 of file json_visitor.cpp.

◆ visit_paren_expression()

void nmodl::visitor::JSONVisitor::visit_paren_expression ( const ast::ParenExpression node)
overrideprotectedvirtual

visit node of type ast::ParenExpression

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 582 of file json_visitor.cpp.

◆ visit_pointer()

void nmodl::visitor::JSONVisitor::visit_pointer ( const ast::Pointer node)
overrideprotectedvirtual

visit node of type ast::Pointer

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 976 of file json_visitor.cpp.

◆ visit_pointer_var()

void nmodl::visitor::JSONVisitor::visit_pointer_var ( const ast::PointerVar node)
overrideprotectedvirtual

visit node of type ast::PointerVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 222 of file json_visitor.cpp.

◆ visit_prime_name()

void nmodl::visitor::JSONVisitor::visit_prime_name ( const ast::PrimeName node)
overrideprotectedvirtual

visit node of type ast::PrimeName

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 123 of file json_visitor.cpp.

◆ visit_procedure_block()

void nmodl::visitor::JSONVisitor::visit_procedure_block ( const ast::ProcedureBlock node)
overrideprotectedvirtual

visit node of type ast::ProcedureBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 384 of file json_visitor.cpp.

◆ visit_program()

void nmodl::visitor::JSONVisitor::visit_program ( const ast::Program node)
overrideprotectedvirtual

visit node of type ast::Program

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1044 of file json_visitor.cpp.

◆ visit_protect_statement()

void nmodl::visitor::JSONVisitor::visit_protect_statement ( const ast::ProtectStatement node)
overrideprotectedvirtual

visit node of type ast::ProtectStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 777 of file json_visitor.cpp.

◆ visit_random_var()

void nmodl::visitor::JSONVisitor::visit_random_var ( const ast::RandomVar node)
overrideprotectedvirtual

visit node of type ast::RandomVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 231 of file json_visitor.cpp.

◆ visit_random_var_list()

void nmodl::visitor::JSONVisitor::visit_random_var_list ( const ast::RandomVarList node)
overrideprotectedvirtual

visit node of type ast::RandomVarList

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 967 of file json_visitor.cpp.

◆ visit_range()

void nmodl::visitor::JSONVisitor::visit_range ( const ast::Range node)
overrideprotectedvirtual

visit node of type ast::Range

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 949 of file json_visitor.cpp.

◆ visit_range_var()

void nmodl::visitor::JSONVisitor::visit_range_var ( const ast::RangeVar node)
overrideprotectedvirtual

visit node of type ast::RangeVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 204 of file json_visitor.cpp.

◆ visit_react_var_name()

void nmodl::visitor::JSONVisitor::visit_react_var_name ( const ast::ReactVarName node)
overrideprotectedvirtual

visit node of type ast::ReactVarName

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 159 of file json_visitor.cpp.

◆ visit_reaction_operator()

void nmodl::visitor::JSONVisitor::visit_reaction_operator ( const ast::ReactionOperator node)
overrideprotectedvirtual

visit node of type ast::ReactionOperator

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 570 of file json_visitor.cpp.

◆ visit_reaction_statement()

void nmodl::visitor::JSONVisitor::visit_reaction_statement ( const ast::ReactionStatement node)
overrideprotectedvirtual

visit node of type ast::ReactionStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 877 of file json_visitor.cpp.

◆ visit_read_ion_var()

void nmodl::visitor::JSONVisitor::visit_read_ion_var ( const ast::ReadIonVar node)
overrideprotectedvirtual

visit node of type ast::ReadIonVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 168 of file json_visitor.cpp.

◆ visit_solution_expression()

void nmodl::visitor::JSONVisitor::visit_solution_expression ( const ast::SolutionExpression node)
overrideprotectedvirtual

visit node of type ast::SolutionExpression

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1101 of file json_visitor.cpp.

◆ visit_solve_block()

void nmodl::visitor::JSONVisitor::visit_solve_block ( const ast::SolveBlock node)
overrideprotectedvirtual

visit node of type ast::SolveBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 402 of file json_visitor.cpp.

◆ visit_state_block()

void nmodl::visitor::JSONVisitor::visit_state_block ( const ast::StateBlock node)
overrideprotectedvirtual

visit node of type ast::StateBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 285 of file json_visitor.cpp.

◆ visit_statement()

void nmodl::visitor::JSONVisitor::visit_statement ( const ast::Statement node)
overrideprotectedvirtual

visit node of type ast::Statement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 27 of file json_visitor.cpp.

◆ visit_statement_block()

void nmodl::visitor::JSONVisitor::visit_statement_block ( const ast::StatementBlock node)
overrideprotectedvirtual

visit node of type ast::StatementBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 321 of file json_visitor.cpp.

◆ visit_string()

void nmodl::visitor::JSONVisitor::visit_string ( const ast::String node)
overrideprotectedvirtual

visit node of type ast::String

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 52 of file json_visitor.cpp.

◆ visit_suffix()

void nmodl::visitor::JSONVisitor::visit_suffix ( const ast::Suffix node)
overrideprotectedvirtual

visit node of type ast::Suffix

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 913 of file json_visitor.cpp.

◆ visit_table_statement()

void nmodl::visitor::JSONVisitor::visit_table_statement ( const ast::TableStatement node)
overrideprotectedvirtual

visit node of type ast::TableStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 904 of file json_visitor.cpp.

◆ visit_thread_safe()

void nmodl::visitor::JSONVisitor::visit_thread_safe ( const ast::ThreadSafe node)
overrideprotectedvirtual

visit node of type ast::ThreadSafe

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1003 of file json_visitor.cpp.

◆ visit_unary_expression()

void nmodl::visitor::JSONVisitor::visit_unary_expression ( const ast::UnaryExpression node)
overrideprotectedvirtual

visit node of type ast::UnaryExpression

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 609 of file json_visitor.cpp.

◆ visit_unary_operator()

void nmodl::visitor::JSONVisitor::visit_unary_operator ( const ast::UnaryOperator node)
overrideprotectedvirtual

visit node of type ast::UnaryOperator

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 558 of file json_visitor.cpp.

◆ visit_unit()

void nmodl::visitor::JSONVisitor::visit_unit ( const ast::Unit node)
overrideprotectedvirtual

visit node of type ast::Unit

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 492 of file json_visitor.cpp.

◆ visit_unit_block()

void nmodl::visitor::JSONVisitor::visit_unit_block ( const ast::UnitBlock node)
overrideprotectedvirtual

visit node of type ast::UnitBlock

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 465 of file json_visitor.cpp.

◆ visit_unit_def()

void nmodl::visitor::JSONVisitor::visit_unit_def ( const ast::UnitDef node)
overrideprotectedvirtual

visit node of type ast::UnitDef

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 666 of file json_visitor.cpp.

◆ visit_unit_state()

void nmodl::visitor::JSONVisitor::visit_unit_state ( const ast::UnitState node)
overrideprotectedvirtual

visit node of type ast::UnitState

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 693 of file json_visitor.cpp.

◆ visit_update_dt()

void nmodl::visitor::JSONVisitor::visit_update_dt ( const ast::UpdateDt node)
overrideprotectedvirtual

visit node of type ast::UpdateDt

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1110 of file json_visitor.cpp.

◆ visit_useion()

void nmodl::visitor::JSONVisitor::visit_useion ( const ast::Useion node)
overrideprotectedvirtual

visit node of type ast::Useion

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 922 of file json_visitor.cpp.

◆ visit_valence()

void nmodl::visitor::JSONVisitor::visit_valence ( const ast::Valence node)
overrideprotectedvirtual

visit node of type ast::Valence

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 684 of file json_visitor.cpp.

◆ visit_var_name()

void nmodl::visitor::JSONVisitor::visit_var_name ( const ast::VarName node)
overrideprotectedvirtual

visit node of type ast::VarName

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 141 of file json_visitor.cpp.

◆ visit_verbatim()

void nmodl::visitor::JSONVisitor::visit_verbatim ( const ast::Verbatim node)
overrideprotectedvirtual

visit node of type ast::Verbatim

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1008 of file json_visitor.cpp.

◆ visit_watch()

void nmodl::visitor::JSONVisitor::visit_watch ( const ast::Watch node)
overrideprotectedvirtual

visit node of type ast::Watch

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 645 of file json_visitor.cpp.

◆ visit_watch_statement()

void nmodl::visitor::JSONVisitor::visit_watch_statement ( const ast::WatchStatement node)
overrideprotectedvirtual

visit node of type ast::WatchStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 831 of file json_visitor.cpp.

◆ visit_while_statement()

void nmodl::visitor::JSONVisitor::visit_while_statement ( const ast::WhileStatement node)
overrideprotectedvirtual

visit node of type ast::WhileStatement

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 795 of file json_visitor.cpp.

◆ visit_wrapped_expression()

void nmodl::visitor::JSONVisitor::visit_wrapped_expression ( const ast::WrappedExpression node)
overrideprotectedvirtual

visit node of type ast::WrappedExpression

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 1083 of file json_visitor.cpp.

◆ visit_write_ion_var()

void nmodl::visitor::JSONVisitor::visit_write_ion_var ( const ast::WriteIonVar node)
overrideprotectedvirtual

visit node of type ast::WriteIonVar

Reimplemented from nmodl::visitor::ConstAstVisitor.

Definition at line 177 of file json_visitor.cpp.

◆ write()

JSONVisitor& nmodl::visitor::JSONVisitor::write ( const ast::Program program)
inline

Definition at line 55 of file json_visitor.hpp.

Member Data Documentation

◆ embed_nmodl

bool nmodl::visitor::JSONVisitor::embed_nmodl = false
private

true if nmodl corresponding to ast node should be added to json

Definition at line 43 of file json_visitor.hpp.

◆ printer

std::unique_ptr<printer::JSONPrinter> nmodl::visitor::JSONVisitor::printer
private

json printer

Definition at line 40 of file json_visitor.hpp.


The documentation for this class was generated from the following files: