Class: SyntaxTree::Visitor::JSONVisitor

Inherits:
FieldVisitor show all
Defined in:
lib/syntax_tree/visitor/json_visitor.rb

Overview

This visitor transforms the AST into a hash that contains only primitives that can be easily serialized into JSON.

Instance Attribute Summary collapse

Attributes inherited from FieldVisitor

#q

Instance Method Summary collapse

Methods inherited from FieldVisitor

#visit_BEGIN, #visit_CHAR, #visit_END, #visit___end__, #visit_alias, #visit_aref, #visit_aref_field, #visit_arg_block, #visit_arg_paren, #visit_arg_star, #visit_args, #visit_args_forward, #visit_array, #visit_aryptn, #visit_assign, #visit_assoc, #visit_assoc_splat, #visit_backref, #visit_backtick, #visit_bare_assoc_hash, #visit_begin, #visit_binary, #visit_block_var, #visit_blockarg, #visit_bodystmt, #visit_brace_block, #visit_break, #visit_call, #visit_case, #visit_class, #visit_comma, #visit_command, #visit_command_call, #visit_comment, #visit_const, #visit_const_path_field, #visit_const_path_ref, #visit_const_ref, #visit_cvar, #visit_def, #visit_def_endless, #visit_defined, #visit_defs, #visit_do_block, #visit_dot2, #visit_dot3, #visit_dyna_symbol, #visit_else, #visit_elsif, #visit_embdoc, #visit_embexpr_beg, #visit_embexpr_end, #visit_embvar, #visit_ensure, #visit_excessed_comma, #visit_fcall, #visit_field, #visit_float, #visit_fndptn, #visit_for, #visit_gvar, #visit_hash, #visit_heredoc, #visit_heredoc_beg, #visit_hshptn, #visit_ident, #visit_if, #visit_if_mod, #visit_if_op, #visit_imaginary, #visit_in, #visit_int, #visit_ivar, #visit_kw, #visit_kwrest_param, #visit_label, #visit_label_end, #visit_lambda, #visit_lbrace, #visit_lbracket, #visit_lparen, #visit_massign, #visit_method_add_block, #visit_mlhs, #visit_mlhs_paren, #visit_module, #visit_mrhs, #visit_next, #visit_not, #visit_op, #visit_opassign, #visit_params, #visit_paren, #visit_period, #visit_pinned_begin, #visit_pinned_var_ref, #visit_program, #visit_qsymbols, #visit_qsymbols_beg, #visit_qwords, #visit_qwords_beg, #visit_rassign, #visit_rational, #visit_rbrace, #visit_rbracket, #visit_redo, #visit_regexp_beg, #visit_regexp_content, #visit_regexp_end, #visit_regexp_literal, #visit_rescue, #visit_rescue_ex, #visit_rescue_mod, #visit_rest_param, #visit_retry, #visit_return, #visit_return0, #visit_rparen, #visit_sclass, #visit_statements, #visit_string_concat, #visit_string_content, #visit_string_dvar, #visit_string_embexpr, #visit_string_literal, #visit_super, #visit_symbeg, #visit_symbol_content, #visit_symbol_literal, #visit_symbols, #visit_symbols_beg, #visit_tlambda, #visit_tlambeg, #visit_top_const_field, #visit_top_const_ref, #visit_tstring_beg, #visit_tstring_content, #visit_tstring_end, #visit_unary, #visit_undef, #visit_unless, #visit_unless_mod, #visit_until, #visit_until_mod, #visit_var_alias, #visit_var_field, #visit_var_ref, #visit_vcall, #visit_void_stmt, #visit_when, #visit_while, #visit_while_mod, #visit_word, #visit_words, #visit_words_beg, #visit_xstring, #visit_xstring_literal, #visit_yield, #visit_yield0, #visit_zsuper

Methods inherited from SyntaxTree::Visitor

#visit, #visit_all, #visit_child_nodes, visit_method, visit_methods

Constructor Details

#initializeJSONVisitor

Returns a new instance of JSONVisitor.



10
11
12
# File 'lib/syntax_tree/visitor/json_visitor.rb', line 10

def initialize
  @target = nil
end

Instance Attribute Details

#targetObject (readonly)

Returns the value of attribute target.



8
9
10
# File 'lib/syntax_tree/visitor/json_visitor.rb', line 8

def target
  @target
end