PATH:
opt
/
alt
/
ruby33
/
share
/
ruby
# frozen_string_literal: true # The Prism Ruby parser. # # "Parsing Ruby is suddenly manageable!" # - You, hopefully # module Prism # There are many files in prism that are templated to handle every node type, # which means the files can end up being quite large. We autoload them to make # our require speed faster since consuming libraries are unlikely to use all # of these features. autoload :BasicVisitor, "prism/visitor" autoload :Compiler, "prism/compiler" autoload :Debug, "prism/debug" autoload :DesugarCompiler, "prism/desugar_compiler" autoload :Dispatcher, "prism/dispatcher" autoload :DotVisitor, "prism/dot_visitor" autoload :DSL, "prism/dsl" autoload :LexCompat, "prism/lex_compat" autoload :LexRipper, "prism/lex_compat" autoload :MutationCompiler, "prism/mutation_compiler" autoload :NodeInspector, "prism/node_inspector" autoload :RipperCompat, "prism/ripper_compat" autoload :Pack, "prism/pack" autoload :Pattern, "prism/pattern" autoload :Serialize, "prism/serialize" autoload :Visitor, "prism/visitor" # Some of these constants are not meant to be exposed, so marking them as # private here. private_constant :Debug private_constant :LexCompat private_constant :LexRipper # :call-seq: # Prism::lex_compat(source, **options) -> ParseResult # # Returns a parse result whose value is an array of tokens that closely # resembles the return value of Ripper::lex. The main difference is that the # `:on_sp` token is not emitted. # # For supported options, see Prism::parse. def self.lex_compat(source, **options) LexCompat.new(source, **options).result end # :call-seq: # Prism::lex_ripper(source) -> Array # # This lexes with the Ripper lex. It drops any space events but otherwise # returns the same tokens. Raises SyntaxError if the syntax in source is # invalid. def self.lex_ripper(source) LexRipper.new(source).result end # :call-seq: # Prism::load(source, serialized) -> ParseResult # # Load the serialized AST using the source as a reference into a tree. def self.load(source, serialized) Serialize.load(source, serialized) end # :call-seq: # Prism::parse_failure?(source, **options) -> bool # # Returns true if the source parses with errors. def self.parse_failure?(source, **options) !parse_success?(source, **options) end # :call-seq: # Prism::parse_file_failure?(filepath, **options) -> bool # # Returns true if the file at filepath parses with errors. def self.parse_file_failure?(filepath, **options) !parse_file_success?(filepath, **options) end end require_relative "prism/node" require_relative "prism/node_ext" require_relative "prism/parse_result" require_relative "prism/parse_result/comments" require_relative "prism/parse_result/newlines" # This is a Ruby implementation of the prism parser. If we're running on CRuby # and we haven't explicitly set the PRISM_FFI_BACKEND environment variable, then # it's going to require the built library. Otherwise, it's going to require a # module that uses FFI to call into the library. if RUBY_ENGINE == "ruby" and !ENV["PRISM_FFI_BACKEND"] require "prism/prism" else require_relative "prism/ffi" end
[-] pstore.rb
[open]
[-] ripper.rb
[open]
[-] optparse.rb
[open]
[-] singleton.rb
[open]
[+]
..
[-] tempfile.rb
[open]
[+]
csv
[-] time.rb
[open]
[-] delegate.rb
[open]
[-] forwardable.rb
[open]
[-] json.rb
[open]
[-] abbrev.rb
[open]
[-] fileutils.rb
[open]
[-] set.rb
[open]
[-] csv.rb
[open]
[-] coverage.rb
[open]
[-] yaml.rb
[open]
[-] socket.rb
[open]
[-] error_highlight.rb
[open]
[+]
reline
[+]
optparse
[-] kconv.rb
[open]
[-] psych.rb
[open]
[-] monitor.rb
[open]
[-] date.rb
[open]
[-] pp.rb
[open]
[-] readline.rb
[open]
[-] English.rb
[open]
[-] cgi.rb
[open]
[-] benchmark.rb
[open]
[+]
syslog
[-] logger.rb
[open]
[+]
openssl
[-] find.rb
[open]
[+]
random
[-] resolv-replace.rb
[open]
[-] erb.rb
[open]
[-] tmpdir.rb
[open]
[+]
yaml
[-] drb.rb
[open]
[+]
io
[+]
syntax_suggest
[+]
rinda
[-] expect.rb
[open]
[-] mutex_m.rb
[open]
[+]
ruby_vm
[-] base64.rb
[open]
[-] openssl.rb
[open]
[-] fiddle.rb
[open]
[-] ostruct.rb
[open]
[+]
error_highlight
[-] reline.rb
[open]
[+]
vendor_ruby
[-] prism.rb
[open]
[+]
did_you_mean
[-] shellwords.rb
[open]
[-] uri.rb
[open]
[+]
fiddle
[+]
net
[+]
digest
[+]
cgi
[-] ipaddr.rb
[open]
[-] syntax_suggest.rb
[open]
[+]
set
[+]
json
[+]
psych
[+]
forwardable
[+]
open3
[+]
ripper
[-] bundled_gems.rb
[open]
[-] un.rb
[open]
[-] optionparser.rb
[open]
[-] getoptlong.rb
[open]
[-] pathname.rb
[open]
[-] observer.rb
[open]
[+]
drb
[-] weakref.rb
[open]
[-] resolv.rb
[open]
[-] open3.rb
[open]
[+]
logger
[-] did_you_mean.rb
[open]
[-] objspace.rb
[open]
[+]
prism
[-] mkmf.rb
[open]
[+]
objspace
[+]
erb
[-] securerandom.rb
[open]
[-] open-uri.rb
[open]
[-] prettyprint.rb
[open]
[-] tsort.rb
[open]
[-] timeout.rb
[open]
[-] digest.rb
[open]
[+]
unicode_normalize
[+]
uri