def check_token(tok, stack)
i = 1
case tok
when TkCLASS
name, i = find_identifier_name(stack)
@classes<< name
when TkMODULE
name, i = find_identifier_name(stack)
@modules<< name
when TkCONSTANT
i = find_static_method_call(tok, stack)
when TkDEF
name, i = find_identifier_name(stack)
@methods<< name
when TkIDENTIFIER, TkFID
case tok.name
when "require"
@requires<< nil
when "raise"
@raises += 1
when "eval", "instance_eval", "class_eval", "module_eval"
@evals += 1
when "is_a?", "kind_of?"
@is_a_kind_ofs += 1
when "method_missing"
@method_missing += 1
when /^exit!?$/
@exits += 1
end
when TkSYMBEG
name, i = find_identifier_name(stack)
@symbols<< name
when TkCVAR
@c_vars<< tok.name
when TkIVAR
@i_vars<< tok.name
when TkGVAR
@g_vars << tok.name
when TkDO,TkfLBRACE
@blocks += 1
when TkYIELD
@yields += 1
when TkEND
when TkRESCUE
@rescues += 1
when TklBEGIN
@big_begins += 1
when TklEND
@big_ends += 1
when TkDEFINED
@defines += 1
when TkRETRY
@retries += 1
when TkREDO
@redoes += 1
when TkNEXT
@nexts += 1
when TkBREAK
@breaks += 1
when TkENSURE
@ensures += 1
when TkUNDEF
@undefs << nil
when TkCASE
@cases += 1
when TkALIAS
name, i = find_identifier_name(stack)
@aliases << name
when TkASSIGN, TkOPASGN
@assignments += 1
else
end
i
end