Module: Fdlint::Parser::JS::Expr::LeftHand

Included in:
Expr
Defined in:
lib/fdlint/parser/js/expr/left_hand.rb

Instance Method Summary collapse

Instance Method Details

#parse_expr_lefthandObject



8
9
10
11
12
13
# File 'lib/fdlint/parser/js/expr/left_hand.rb', line 8

def parse_expr_lefthand
  log 'parse expr lefthand'
  expr = check(/new\b/) ? parse_expr_new : parse_expr_member
  expr.left_hand = true
  expr 
end

#parse_expr_memberObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/fdlint/parser/js/expr/left_hand.rb', line 25

def parse_expr_member
  log 'parse expr member'
  parse_expr_with_operate(:parse_expr_member_left) do
    if check /[.]/
      skip /[.]/
      ['.', parse_expr_identifier]
    elsif check /[\[]/
      skip /\[/
      expr = parse_expression
      skip /\]/
      ['[', expr]
    elsif check /\(/
      ['(', parse_arguments_list]
    end
  end
end

#parse_expr_newObject



15
16
17
18
19
20
21
22
23
# File 'lib/fdlint/parser/js/expr/left_hand.rb', line 15

def parse_expr_new
  log 'parse expr new'

  pos = skip /new/
  expr = check(/new\b/) ? parse_expr_new : parse_expr_member
  args = check(/\(/) ? parse_arguments_list : nil

  create_element Expression, 'new', expr, args, pos
end