예제 #1
0
파일: Pointer.java 프로젝트: cthulhua/jruby
  @JRubyMethod(
      name = {"initialize"},
      visibility = PRIVATE)
  public IRubyObject initialize(ThreadContext context, IRubyObject type, IRubyObject address) {
    setMemoryIO(
        address instanceof Pointer
            ? ((Pointer) address).getMemoryIO()
            : Factory.getInstance()
                .wrapDirectMemory(context.runtime, RubyFixnum.num2long(address)));
    size = Long.MAX_VALUE;
    typeSize = calculateTypeSize(context, type);

    return this;
  }
예제 #2
0
파일: Pointer.java 프로젝트: cthulhua/jruby
 @JRubyMethod(name = "size", meta = true, visibility = PUBLIC)
 public static IRubyObject size(ThreadContext context, IRubyObject recv) {
   return RubyFixnum.newFixnum(
       context.getRuntime(), Factory.getInstance().sizeOf(NativeType.POINTER));
 }