Module: CodeMiner::MethodProcessor

Included in:
Parser
Defined in:
lib/codeminer/processors/method_processor.rb

Instance Method Summary collapse

Instance Method Details

#on_arg_paren(args) ⇒ Object



27
28
29
30
31
# File 'lib/codeminer/processors/method_processor.rb', line 27

def on_arg_paren(args)
  args ||= ArgumentsExpression.new
  args.src = extract_src_by_token(@parens_begin.pop)
  args
end

#on_blockarg(token) ⇒ Object



45
46
47
48
# File 'lib/codeminer/processors/method_processor.rb', line 45

def on_blockarg(token)
  token.column -= 1
  BlockParamExpression.new(token, extract_src_by_tokens(token))
end

#on_brace_block(params, body) ⇒ Object



33
34
35
# File 'lib/codeminer/processors/method_processor.rb', line 33

def on_brace_block(params, body)
  BlockExpression.new(body, params, extract_src_by_token(@lbrace.pop))
end

#on_def(token, params, body) ⇒ Object



9
10
11
# File 'lib/codeminer/processors/method_processor.rb', line 9

def on_def(token, params, body)
  DefnExpression.new(token.value, params, body, extract_src_by_token(pop_keyword('def')))
end

#on_defs(receiver, delimiter, token, params, body) ⇒ Object



5
6
7
# File 'lib/codeminer/processors/method_processor.rb', line 5

def on_defs(receiver, delimiter, token, params, body)
  DefsExpression.new(receiver, token, params, body, extract_src_by_token(pop_keyword('def')))
end

#on_do_block(params, body) ⇒ Object



37
38
39
# File 'lib/codeminer/processors/method_processor.rb', line 37

def on_do_block(params, body)
  BlockExpression.new(body, params, extract_src_by_token(pop_keyword('do')))
end

#on_lambda(args, body) ⇒ Object



41
42
43
# File 'lib/codeminer/processors/method_processor.rb', line 41

def on_lambda(args, body)
  LambdaExpression.new(args, body, extract_src_by_token(@lambda.pop))
end

#on_method_add_arg(exp, args) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/codeminer/processors/method_processor.rb', line 19

def on_method_add_arg(exp, args)
  if args
    exp.args = args
    exp.adjust_src(extract_src_by_tokens(exp, args))
  end
  exp
end

#on_method_add_block(exp, block) ⇒ Object



13
14
15
16
17
# File 'lib/codeminer/processors/method_processor.rb', line 13

def on_method_add_block(exp, block)
  exp.block = block
  exp.adjust_src(block.src_extract)
  exp
end

#on_tlambdaObject



50
51
52
53
54
# File 'lib/codeminer/processors/method_processor.rb', line 50

def on_tlambda(*)
  super.tap do |token|
    @lambda << token
  end
end