Spec-Zone.ru › Ruby 3.4
  1. Prism::
  2. DesugarCompiler

class Prism::DesugarCompiler

DesugarCompiler — это компилятор, который преобразует код Ruby в более примитивную форму. Это полезно для тех, кто хочет работать с меньшим количеством типов узлов.

Открытые методы экземпляра

visit_class_variable_and_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 262
def visit_class_variable_and_write_node(node)
  node.desugar
end

@@foo &&= bar

превращается в

@@foo && @@foo = bar

visit_class_variable_operator_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 280
def visit_class_variable_operator_write_node(node)
  node.desugar
end

@@foo += bar

превращается в

@@foo = @@foo + bar

visit_class_variable_or_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 271
def visit_class_variable_or_write_node(node)
  node.desugar
end

@@foo ||= bar

превращается в

defined?(@@foo) ? @@foo : @@foo = bar

visit_constant_and_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 289
def visit_constant_and_write_node(node)
  node.desugar
end

Foo &&= bar

превращается в

Foo && Foo = bar

visit_constant_operator_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 307
def visit_constant_operator_write_node(node)
  node.desugar
end

Foo += bar

превращается в

Foo = Foo + bar

visit_constant_or_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 298
def visit_constant_or_write_node(node)
  node.desugar
end

Foo ||= bar

превращается в

defined?(Foo) ? Foo : Foo = bar

visit_global_variable_and_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 316
def visit_global_variable_and_write_node(node)
  node.desugar
end

$foo &&= bar

превращается в

$foo && $foo = bar

visit_global_variable_operator_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 334
def visit_global_variable_operator_write_node(node)
  node.desugar
end

$foo += bar

превращается в

$foo = $foo + bar

visit_global_variable_or_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 325
def visit_global_variable_or_write_node(node)
  node.desugar
end

$foo ||= bar

превращается в

defined?($foo) ? $foo : $foo = bar

visit_instance_variable_and_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 343
def visit_instance_variable_and_write_node(node)
  node.desugar
end

@foo &&= bar

превращается в

@foo && @foo = bar

visit_instance_variable_operator_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 361
def visit_instance_variable_operator_write_node(node)
  node.desugar
end

@foo += bar

превращается в

@foo = @foo + bar

visit_instance_variable_or_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 352
def visit_instance_variable_or_write_node(node)
  node.desugar
end

@foo ||= bar

превращается в

@foo || @foo = bar

visit_local_variable_and_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 370
def visit_local_variable_and_write_node(node)
  node.desugar
end

foo &&= bar

превращается в

foo && foo = bar

visit_local_variable_operator_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 388
def visit_local_variable_operator_write_node(node)
  node.desugar
end

foo += bar

превращается в

foo = foo + bar

visit_local_variable_or_write_node (node) Показать исходный код
# File lib/prism/desugar_compiler.rb, line 379
def visit_local_variable_or_write_node(node)
  node.desugar
end

foo ||= bar

превращается в

foo || foo = bar

Ruby Core © 1993–2025 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API