Sha256: 4b8be3fa0d2ecf4b3c19f5d314d1a75a469d00639d3fc051c8b7ac488ab9672c

Contents?: true

Size: 1.67 KB

Versions: 16

Compression:

Stored size: 1.67 KB

Contents

module Rsense
  module Server
    module Command

    end
  end
end

class Rsense::Server::Command::AliasNativeMethod < Java::org.cx4a.rsense.typing.runtime::SpecialMethod
  attr_accessor :context

  def initialize
    super
  end

  def call(runtime, receivers, args, blcck, result)
    callNextMethod = true
    if args
      receivers.each do |receiver|
        callNextMethod = false
        new_name = Java::org.cx4a.rsense.typing.vertex::Vertex.getStringOrSymbol(args[0])
        if args.size > 1
          old_name = Java::org.cx4a.rsense.typing.vertex::Vertex.getStringOrSymbol(args[1])
        end
        rsense_module = receiver
        visibility = Java::org.cx4a.rsense.ruby::Visibility::PUBLIC
        if old_name && new_name
          rcbase, rname, rbodyNode, rargsNode, rvisibility, rlocation = Rsense::Server::Command::RsenseMethod.make_method(rsense_module, old_name, visibility, args.first.node.parent)
          rsense_method = Rsense::Server::Command::RsenseMethod.new(rcbase, rname, rbodyNode, rargsNode, rvisibility, rlocation)
          rsense_module.addMethod(old_name, rsense_method)
          rsense_module.addMethod(new_name, Java::org.cx4a.rsense.typing.runtime::AliasMethod.new(new_name, rsense_method))
        else
          rcbase, rname, rbodyNode, rargsNode, rvisibility, rlocation = Rsense::Server::Command::RsenseMethod.make_method(rsense_module, new_name, visibility, args.first.node.closest_module)
          rsense_method = Rsense::Server::Command::RsenseMethod.new(rcbase, rname, rbodyNode, rargsNode, rvisibility, rlocation)
          rsense_module.addMethod(new_name, rsense_method)
        end
      end
    end
    result.setCallNextMethod(callNextMethod)
  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
rsense-server-0.5.18 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.17 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.16 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.15 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.14 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.13 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.12 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.11 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.10 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.9 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.8 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.7 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.6 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.5 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.4 lib/rsense/server/command/alias_native_method.rb
rsense-server-0.5.2 lib/rsense/server/command/alias_native_method.rb