Method: BiteScript::ASM::ClassMirror.load

Defined in:
lib/bitescript/mirror.rb,
lib/bitescript/asm3/mirror.rb

.load(name_or_bytes) ⇒ Object



182
183
184
185
186
187
188
189
190
191
192
193
# File 'lib/bitescript/mirror.rb', line 182

def self.load(name_or_bytes)
  builder = BiteScript::ASM::ClassMirror::Builder.new
  if name_or_bytes.kind_of?(String)
    classname = name_or_bytes.tr('.', '/') + ".class"
    stream = JRuby.runtime.jruby_class_loader.getResourceAsStream(
        classname)
    raise NameError, "Class '#{name_or_bytes}' not found." unless stream
    name_or_bytes = stream
  end
  BiteScript::ASM::ClassReader.new(name_or_bytes).accept(builder, 3)
  builder.mirror
end