method
skip_optional_do_after_expression
v1_9_1_378 -
Show latest stable
- Class:
RDoc::Parser::Ruby
skip_optional_do_after_expression()public
while, until, and for have an optional do
# File lib/rdoc/parser/ruby.rb, line 2734
def skip_optional_do_after_expression
skip_tkspace(false)
tk = get_tk
case tk
when TkLPAREN, TkfLPAREN
end_token = TkRPAREN
else
end_token = TkNL
end
nest = 0
@scanner.instance_eval{@continue = false}
loop do
case tk
when TkSEMICOLON
break
when TkLPAREN, TkfLPAREN
nest += 1
when TkDO
break if nest.zero?
when end_token
if end_token == TkRPAREN
nest -= 1
break if @scanner.lex_state == EXPR_END and nest.zero?
else
break unless @scanner.continue
end
end
tk = get_tk
end
skip_tkspace(false)
get_tk if TkDO === peek_tk
end Related methods
- Instance methods
- add_token_listener
- collect_first_comment
- error
- extract_call_seq
- get_bool
- get_class_or_module
- get_class_specification
- get_constant
- get_constant_with_optional_parens
- get_symbol_or_name
- get_tk
- get_tkread
- look_for_directives_in
- make_message
- parse_alias
- parse_attr
- parse_attr_accessor
- parse_call_parameters
- parse_class
- parse_comment
- parse_constant
- parse_include
- parse_meta_method
- parse_method
- parse_method_or_yield_parameters
- parse_method_parameters
- parse_module
- parse_require
- parse_statements
- parse_symbol_arg
- parse_symbol_in_arg
- parse_toplevel_statements
- parse_visibility
- parse_yield
- parse_yield_parameters
- peek_read
- peek_tk
- read_directive
- read_documentation_modifiers
- remove_private_comments
- remove_token_listener
- reset
- scan
- skip_for_variable
- skip_method
- skip_optional_do_after_expression
- skip_tkspace
- skip_tkspace_comment
- unget_tk
- warn
- Class methods
- new