module T::Props::Private::Parse

def parse(source)

def parse(source)
  @current_ruby ||= require_parser(:CurrentRuby)
  @current_ruby.parse(source)
end

def require_parser(*constants)

def require_parser(*constants)
 is an optional dependency for sorbet-runtime in general,
is required here
e 'parser/current'
 to work around the static checker thinking the constant is
fined
Kernel.const_get(:Parser, true)
(const = constants.shift)
= cls.const_get(const, false)

def s(type, *children)

def s(type, *children)
  @node ||= require_parser(:AST, :Node)
  @node.new(type, children)
end