org.jruby.RubyClass.defineConstant()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.9k)|赞(0)|评价(0)|浏览(87)

本文整理了Java中org.jruby.RubyClass.defineConstant方法的一些代码示例,展示了RubyClass.defineConstant的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyClass.defineConstant方法的具体详情如下:
包路径:org.jruby.RubyClass
类名称:RubyClass
方法名:defineConstant

RubyClass.defineConstant介绍

暂无

代码示例

代码示例来源:origin: org.jruby/jruby-complete

/** rb_define_global_const
 * Define a constant on the global namespace (i.e. Object) with the given
 * name and value.
 *
 * @param name the name
 * @param value the value
 */
public void defineGlobalConstant(String name, IRubyObject value) {
  objectClass.defineConstant(name, value);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

/** rb_define_global_const
 * Define a constant on the global namespace (i.e. Object) with the given
 * name and value.
 * 
 * @param name the name
 * @param value the value
 */
public void defineGlobalConstant(String name, IRubyObject value) {
  objectClass.defineConstant(name, value);
}

代码示例来源:origin: org.jruby/jruby-core

/** rb_define_global_const
 * Define a constant on the global namespace (i.e. Object) with the given
 * name and value.
 *
 * @param name the name
 * @param value the value
 */
public void defineGlobalConstant(String name, IRubyObject value) {
  objectClass.defineConstant(name, value);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

/** rb_define_global_const
 * Define a constant on the global namespace (i.e. Object) with the given
 * name and value.
 * 
 * @param name the name
 * @param value the value
 */
public void defineGlobalConstant(String name, IRubyObject value) {
  objectClass.defineConstant(name, value);
}

代码示例来源:origin: org.jruby/jruby-complete

private static void defineLexStateConstants(Ruby runtime, RubyClass ripper) {
  for (int i = 0; i < lexStateNames.length; i++) {
    ripper.defineConstant(lexStateNames[i], runtime.newFixnum((1 << i)));
  }
}

代码示例来源:origin: org.jruby/jruby-core

private static void defineLexStateConstants(Ruby runtime, RubyClass ripper) {
  for (int i = 0; i < lexStateNames.length; i++) {
    ripper.defineConstant(lexStateNames[i], runtime.newFixnum((1 << i)));
  }
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

private void defineEncodingConstant(Ruby runtime, RubyEncoding encoding, byte[]constName,
    int constP, int constEnd) {
  runtime.getEncoding().defineConstant(new String(constName, constP , constEnd), encoding);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

private void defineEncodingConstant(Ruby runtime, RubyEncoding encoding, byte[]constName,
    int constP, int constEnd) {
  runtime.getEncoding().defineConstant(new String(constName, constP , constEnd), encoding);
}

代码示例来源:origin: org.jruby/jruby-complete

private void defineEncodingConstant(Ruby runtime, RubyEncoding encoding, String constName) {
  runtime.getEncoding().defineConstant(constName, encoding);
}

代码示例来源:origin: org.jruby/jruby-core

private void defineEncodingConstant(Ruby runtime, RubyEncoding encoding, String constName) {
  runtime.getEncoding().defineConstant(constName, encoding);
}

代码示例来源:origin: org.jruby/jruby-complete

public static RubyClass createRegexpClass(Ruby runtime) {
  RubyClass regexpClass = runtime.defineClass("Regexp", runtime.getObject(), REGEXP_ALLOCATOR);
  runtime.setRegexp(regexpClass);
  regexpClass.setClassIndex(ClassIndex.REGEXP);
  regexpClass.setReifiedClass(RubyRegexp.class);
  regexpClass.kindOf = new RubyModule.JavaClassKindOf(RubyRegexp.class);
  regexpClass.defineConstant("IGNORECASE", runtime.newFixnum(RE_OPTION_IGNORECASE));
  regexpClass.defineConstant("EXTENDED", runtime.newFixnum(RE_OPTION_EXTENDED));
  regexpClass.defineConstant("MULTILINE", runtime.newFixnum(RE_OPTION_MULTILINE));
  regexpClass.defineConstant("FIXEDENCODING", runtime.newFixnum(RE_FIXED));
  regexpClass.defineConstant("NOENCODING", runtime.newFixnum(RE_NONE));
  regexpClass.defineAnnotatedMethods(RubyRegexp.class);
  regexpClass.getSingletonClass().defineAlias("compile", "new");
  return regexpClass;
}

代码示例来源:origin: org.jruby/jruby-complete

public static void initRipper(Ruby runtime) {
  RubyClass ripper = runtime.defineClass("Ripper", runtime.getObject(), new ObjectAllocator() {
    @Override
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new RubyRipper(runtime, klazz);
    }
  });
  
  ripper.defineConstant("SCANNER_EVENT_TABLE", createScannerEventTable(runtime, ripper));
  ripper.defineConstant("PARSER_EVENT_TABLE", createParserEventTable(runtime, ripper));
  defineLexStateConstants(runtime, ripper);
  ripper.defineAnnotatedMethods(RubyRipper.class);
}

代码示例来源:origin: org.jruby/jruby-core

public static void initRipper(Ruby runtime) {
  RubyClass ripper = runtime.defineClass("Ripper", runtime.getObject(), new ObjectAllocator() {
    @Override
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new RubyRipper(runtime, klazz);
    }
  });
  
  ripper.defineConstant("SCANNER_EVENT_TABLE", createScannerEventTable(runtime, ripper));
  ripper.defineConstant("PARSER_EVENT_TABLE", createParserEventTable(runtime, ripper));
  defineLexStateConstants(runtime, ripper);
  ripper.defineAnnotatedMethods(RubyRipper.class);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public static void initPsychParser(Ruby runtime, RubyModule psych) {
  RubyClass psychParser = runtime.defineClassUnder("Parser", runtime.getObject(), new ObjectAllocator() {
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new PsychParser(runtime, klazz);
    }
  }, psych);
  RubyKernel.require(runtime.getNil(),
      runtime.newString("psych/syntax_error"), Block.NULL_BLOCK);
  psychParser.defineConstant("ANY", runtime.newFixnum(YAML_ANY_ENCODING.ordinal()));
  psychParser.defineConstant("UTF8", runtime.newFixnum(YAML_UTF8_ENCODING.ordinal()));
  psychParser.defineConstant("UTF16LE", runtime.newFixnum(YAML_UTF16LE_ENCODING.ordinal()));
  psychParser.defineConstant("UTF16BE", runtime.newFixnum(YAML_UTF16BE_ENCODING.ordinal()));
  psychParser.defineAnnotatedMethods(PsychParser.class);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public static void initPsychParser(Ruby runtime, RubyModule psych) {
  RubyClass psychParser = runtime.defineClassUnder("Parser", runtime.getObject(), new ObjectAllocator() {
    public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
      return new PsychParser(runtime, klazz);
    }
  }, psych);
  RubyKernel.require(runtime.getNil(),
      runtime.newString("psych/syntax_error"), Block.NULL_BLOCK);
  psychParser.defineConstant("ANY", runtime.newFixnum(YAML_ANY_ENCODING.ordinal()));
  psychParser.defineConstant("UTF8", runtime.newFixnum(YAML_UTF8_ENCODING.ordinal()));
  psychParser.defineConstant("UTF16LE", runtime.newFixnum(YAML_UTF16LE_ENCODING.ordinal()));
  psychParser.defineConstant("UTF16BE", runtime.newFixnum(YAML_UTF16BE_ENCODING.ordinal()));
  psychParser.defineAnnotatedMethods(PsychParser.class);
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public static RubyClass createThreadGroupClass(Ruby runtime) {
  RubyClass threadGroupClass = runtime.defineClass("ThreadGroup", runtime.getObject(), THREADGROUP_ALLOCATOR);
  runtime.setThreadGroup(threadGroupClass);
  threadGroupClass.index = ClassIndex.THREADGROUP;
  
  threadGroupClass.defineAnnotatedMethods(RubyThreadGroup.class);
  
  // create the default thread group
  RubyThreadGroup defaultThreadGroup = new RubyThreadGroup(runtime, threadGroupClass);
  runtime.setDefaultThreadGroup(defaultThreadGroup);
  threadGroupClass.defineConstant("Default", defaultThreadGroup);
  return threadGroupClass;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public static RubyClass createThreadGroupClass(Ruby runtime) {
  RubyClass threadGroupClass = runtime.defineClass("ThreadGroup", runtime.getObject(), THREADGROUP_ALLOCATOR);
  runtime.setThreadGroup(threadGroupClass);
  threadGroupClass.index = ClassIndex.THREADGROUP;
  
  threadGroupClass.defineAnnotatedMethods(RubyThreadGroup.class);
  
  // create the default thread group
  RubyThreadGroup defaultThreadGroup = new RubyThreadGroup(runtime, threadGroupClass);
  runtime.setDefaultThreadGroup(defaultThreadGroup);
  threadGroupClass.defineConstant("Default", defaultThreadGroup);
  return threadGroupClass;
}

代码示例来源:origin: org.jruby/jruby-complete

public static RubyClass createThreadGroupClass(Ruby runtime) {
  RubyClass threadGroupClass = runtime.defineClass("ThreadGroup", runtime.getObject(), THREADGROUP_ALLOCATOR);
  runtime.setThreadGroup(threadGroupClass);
  threadGroupClass.setClassIndex(ClassIndex.THREADGROUP);
  
  threadGroupClass.defineAnnotatedMethods(RubyThreadGroup.class);
  
  // create the default thread group
  RubyThreadGroup defaultThreadGroup = new RubyThreadGroup(runtime, threadGroupClass);
  runtime.setDefaultThreadGroup(defaultThreadGroup);
  threadGroupClass.defineConstant("Default", defaultThreadGroup);
  return threadGroupClass;
}

代码示例来源:origin: org.jruby/jruby-core

public static RubyClass createThreadGroupClass(Ruby runtime) {
  RubyClass threadGroupClass = runtime.defineClass("ThreadGroup", runtime.getObject(), THREADGROUP_ALLOCATOR);
  runtime.setThreadGroup(threadGroupClass);
  threadGroupClass.setClassIndex(ClassIndex.THREADGROUP);
  
  threadGroupClass.defineAnnotatedMethods(RubyThreadGroup.class);
  
  // create the default thread group
  RubyThreadGroup defaultThreadGroup = new RubyThreadGroup(runtime, threadGroupClass);
  runtime.setDefaultThreadGroup(defaultThreadGroup);
  threadGroupClass.defineConstant("Default", defaultThreadGroup);
  return threadGroupClass;
}

代码示例来源:origin: org.jruby/jruby-complete

public static RubyClass createScannerClass(final Ruby runtime) {
  RubyClass scannerClass = runtime.defineClass("StringScanner", runtime.getObject(), STRINGSCANNER_ALLOCATOR);
  scannerClass.defineAnnotatedMethods(RubyStringScanner.class);
  ThreadContext context = runtime.getCurrentContext();
  scannerClass.setConstant("Version", runtime.newString("0.7.0").freeze(context));
  scannerClass.setConstant("Id", runtime.newString("$Id: strscan.c 13506 2007-09-24 08:56:24Z nobu $").freeze(context));
  RubyClass standardError = runtime.getStandardError();
  RubyClass error = scannerClass.defineClassUnder(
      "Error", standardError, standardError.getAllocator());
  RubyClass objClass = runtime.getObject();
  if (!objClass.isConstantDefined("ScanError")) {
    objClass.defineConstant("ScanError", error);
  }
  return scannerClass;
}

相关文章

微信公众号

最新文章

更多

RubyClass类方法