Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
opt /
alt /
ruby33 /
share /
ruby /
prism /
[ HOME SHELL ]
Name
Size
Permission
Action
parse_result
[ DIR ]
drwxr-xr-x
compiler.rb
14.88
KB
-rw-r--r--
debug.rb
6.12
KB
-rw-r--r--
desugar_compiler.rb
5.71
KB
-rw-r--r--
dispatcher.rb
108.9
KB
-rw-r--r--
dsl.rb
31.99
KB
-rw-r--r--
ffi.rb
10.27
KB
-rw-r--r--
lex_compat.rb
31.04
KB
-rw-r--r--
mutation_compiler.rb
20.81
KB
-rw-r--r--
node.rb
575.41
KB
-rw-r--r--
node_ext.rb
5.01
KB
-rw-r--r--
node_inspector.rb
2.06
KB
-rw-r--r--
pack.rb
5.77
KB
-rw-r--r--
parse_result.rb
13.43
KB
-rw-r--r--
pattern.rb
7.56
KB
-rw-r--r--
ripper_compat.rb
5.95
KB
-rw-r--r--
serialize.rb
56.71
KB
-rw-r--r--
visitor.rb
15.02
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : desugar_compiler.rb
# frozen_string_literal: true module Prism # DesugarCompiler is a compiler that desugars Ruby code into a more primitive # form. This is useful for consumers that want to deal with fewer node types. class DesugarCompiler < MutationCompiler # @@foo &&= bar # # becomes # # @@foo && @@foo = bar def visit_class_variable_and_write_node(node) desugar_and_write_node(node, ClassVariableReadNode, ClassVariableWriteNode, node.name) end # @@foo ||= bar # # becomes # # defined?(@@foo) ? @@foo : @@foo = bar def visit_class_variable_or_write_node(node) desugar_or_write_defined_node(node, ClassVariableReadNode, ClassVariableWriteNode, node.name) end # @@foo += bar # # becomes # # @@foo = @@foo + bar def visit_class_variable_operator_write_node(node) desugar_operator_write_node(node, ClassVariableReadNode, ClassVariableWriteNode, node.name) end # Foo &&= bar # # becomes # # Foo && Foo = bar def visit_constant_and_write_node(node) desugar_and_write_node(node, ConstantReadNode, ConstantWriteNode, node.name) end # Foo ||= bar # # becomes # # defined?(Foo) ? Foo : Foo = bar def visit_constant_or_write_node(node) desugar_or_write_defined_node(node, ConstantReadNode, ConstantWriteNode, node.name) end # Foo += bar # # becomes # # Foo = Foo + bar def visit_constant_operator_write_node(node) desugar_operator_write_node(node, ConstantReadNode, ConstantWriteNode, node.name) end # $foo &&= bar # # becomes # # $foo && $foo = bar def visit_global_variable_and_write_node(node) desugar_and_write_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, node.name) end # $foo ||= bar # # becomes # # defined?($foo) ? $foo : $foo = bar def visit_global_variable_or_write_node(node) desugar_or_write_defined_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, node.name) end # $foo += bar # # becomes # # $foo = $foo + bar def visit_global_variable_operator_write_node(node) desugar_operator_write_node(node, GlobalVariableReadNode, GlobalVariableWriteNode, node.name) end # @foo &&= bar # # becomes # # @foo && @foo = bar def visit_instance_variable_and_write_node(node) desugar_and_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, node.name) end # @foo ||= bar # # becomes # # @foo || @foo = bar def visit_instance_variable_or_write_node(node) desugar_or_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, node.name) end # @foo += bar # # becomes # # @foo = @foo + bar def visit_instance_variable_operator_write_node(node) desugar_operator_write_node(node, InstanceVariableReadNode, InstanceVariableWriteNode, node.name) end # foo &&= bar # # becomes # # foo && foo = bar def visit_local_variable_and_write_node(node) desugar_and_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, node.name, node.depth) end # foo ||= bar # # becomes # # foo || foo = bar def visit_local_variable_or_write_node(node) desugar_or_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, node.name, node.depth) end # foo += bar # # becomes # # foo = foo + bar def visit_local_variable_operator_write_node(node) desugar_operator_write_node(node, LocalVariableReadNode, LocalVariableWriteNode, node.name, node.depth) end private # Desugar `x &&= y` to `x && x = y` def desugar_and_write_node(node, read_class, write_class, *arguments) AndNode.new( read_class.new(*arguments, node.name_loc), write_class.new(*arguments, node.name_loc, node.value, node.operator_loc, node.location), node.operator_loc, node.location ) end # Desugar `x += y` to `x = x + y` def desugar_operator_write_node(node, read_class, write_class, *arguments) write_class.new( *arguments, node.name_loc, CallNode.new( 0, read_class.new(*arguments, node.name_loc), nil, node.operator_loc.slice.chomp("="), node.operator_loc.copy(length: node.operator_loc.length - 1), nil, ArgumentsNode.new(0, [node.value], node.value.location), nil, nil, node.location ), node.operator_loc.copy(start_offset: node.operator_loc.end_offset - 1, length: 1), node.location ) end # Desugar `x ||= y` to `x || x = y` def desugar_or_write_node(node, read_class, write_class, *arguments) OrNode.new( read_class.new(*arguments, node.name_loc), write_class.new(*arguments, node.name_loc, node.value, node.operator_loc, node.location), node.operator_loc, node.location ) end # Desugar `x ||= y` to `defined?(x) ? x : x = y` def desugar_or_write_defined_node(node, read_class, write_class, *arguments) IfNode.new( node.operator_loc, DefinedNode.new(nil, read_class.new(*arguments, node.name_loc), nil, node.operator_loc, node.name_loc), node.operator_loc, StatementsNode.new([read_class.new(*arguments, node.name_loc)], node.location), ElseNode.new( node.operator_loc, StatementsNode.new( [write_class.new(*arguments, node.name_loc, node.value, node.operator_loc, node.location)], node.location ), node.operator_loc, node.location ), node.operator_loc, node.location ) end end end
Close