class Parser::Context

Context of parsing that is represented by a stack of scopes.

Supported states: + :class - in the class body (class A; end) + :module - in the module body (module M; end) + :sclass - in the singleton class body (class << obj; end) + :def - in the method body (def m; end) + :defs - in the singleton method body (def self.m; end) + :def_open_args - in the arglist of the method definition

keep in mind that it's set **only** after reducing the first argument,
if you need to handle the first argument check `lex_state == expr_fname`

+ :block - in the block body (tap {}) + :lambda - in the lambda body (-> {})