org.jruby.RubyModule.isClassVarDefined()方法的使用及代码示例

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

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

RubyModule.isClassVarDefined介绍

[英]Is class var defined? Ruby C equivalent = "rb_cvar_defined"
[中]是否定义了类变量?Ruby C equired=“rb_cvar_defined”

代码示例

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

@Deprecated
public boolean fastIsClassVarDefined(String internedName) {
  return isClassVarDefined(internedName);
}

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

@Deprecated
public boolean fastIsClassVarDefined(String internedName) {
  return isClassVarDefined(internedName);
}

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

@Deprecated
public boolean fastIsClassVarDefined(String internedName) {
  return isClassVarDefined(internedName);
}

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

@Deprecated
public boolean fastIsClassVarDefined(String internedName) {
  return isClassVarDefined(internedName);
}

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

@JIT @Interp
public static IRubyObject isDefinedClassVar(ThreadContext context, RubyModule receiver, String name, IRubyObject definedMessage) {
  boolean defined = receiver.isClassVarDefined(name);
  if (!defined && receiver.isSingleton()) { // Look for class var in singleton if it is one.
    IRubyObject attached = ((MetaClass) receiver).getAttached();
    if (attached instanceof RubyModule) defined = ((RubyModule) attached).isClassVarDefined(name);
  }
  return defined ? definedMessage : context.nil;
}

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

@JIT @Interp
public static IRubyObject isDefinedClassVar(ThreadContext context, RubyModule receiver, String name, IRubyObject definedMessage) {
  boolean defined = receiver.isClassVarDefined(name);
  if (!defined && receiver.isSingleton()) { // Look for class var in singleton if it is one.
    IRubyObject attached = ((MetaClass) receiver).getAttached();
    if (attached instanceof RubyModule) defined = ((RubyModule) attached).isClassVarDefined(name);
  }
  return defined ? definedMessage : context.nil;
}

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

@Override
public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) {
  Ruby runtime = context.runtime;
  RubyModule cm = (RubyModule) getObject().retrieve(context, self, currDynScope, temp);
  String name = getName().string;
  boolean defined = cm.isClassVarDefined(name);
  if (!defined && cm.isSingleton()) { // Not found look for cvar on singleton
    IRubyObject attached = ((MetaClass)cm).getAttached();
    if (attached instanceof RubyModule) defined = ((RubyModule)attached).isClassVarDefined(name);
  }
  return runtime.newBoolean(defined);
}

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

@Override
public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) {
  Ruby runtime = context.runtime;
  RubyModule cm = (RubyModule) getObject().retrieve(context, self, currDynScope, temp);
  String name = getName().string;
  boolean defined = cm.isClassVarDefined(name);
  if (!defined && cm.isSingleton()) { // Not found look for cvar on singleton
    IRubyObject attached = ((MetaClass)cm).getAttached();
    if (attached instanceof RubyModule) defined = ((RubyModule)attached).isClassVarDefined(name);
  }
  return runtime.newBoolean(defined);
}

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

public IRubyObject removeClassVariable(String name) {
  String javaName = validateClassVariable(name);
  IRubyObject value;
  if ((value = deleteClassVariable(javaName)) != null) {
    return value;
  }
  if (isClassVarDefined(javaName)) {
    throw cannotRemoveError(javaName);
  }
  throw getRuntime().newNameError("class variable " + javaName + " not defined for " + getName(), javaName);
}

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

@Override
  public RubyString definition(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock) {
    RubyModule module = context.getCurrentScope().getStaticScope().getModule();
    
    if (module == null && self.getMetaClass().isClassVarDefined(name)) {
      return runtime.getDefinedMessage(DefinedMessage.CLASS_VARIABLE);
    } else if (module.isClassVarDefined(name)) {
      return runtime.getDefinedMessage(DefinedMessage.CLASS_VARIABLE);
    }

    IRubyObject attached = module.isSingleton() ? ((MetaClass)module).getAttached() : null;
    
    if (attached instanceof RubyModule && ((RubyModule) attached).isClassVarDefined(name)) {
      return runtime.getDefinedMessage(DefinedMessage.CLASS_VARIABLE);
    }

    return null;
  }
}

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

@Override
  public RubyString definition(Ruby runtime, ThreadContext context, IRubyObject self, Block aBlock) {
    RubyModule module = context.getCurrentScope().getStaticScope().getModule();
    
    if (module == null && self.getMetaClass().isClassVarDefined(name)) {
      return runtime.getDefinedMessage(DefinedMessage.CLASS_VARIABLE);
    } else if (module.isClassVarDefined(name)) {
      return runtime.getDefinedMessage(DefinedMessage.CLASS_VARIABLE);
    }

    IRubyObject attached = module.isSingleton() ? ((MetaClass)module).getAttached() : null;
    
    if (attached instanceof RubyModule && ((RubyModule) attached).isClassVarDefined(name)) {
      return runtime.getDefinedMessage(DefinedMessage.CLASS_VARIABLE);
    }

    return null;
  }
}

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

public IRubyObject removeClassVariable(String name) {
  String javaName = validateClassVariable(name);
  IRubyObject value;
  if ((value = deleteClassVariable(javaName)) != null) {
    return value;
  }
  if (isClassVarDefined(javaName)) {
    throw cannotRemoveError(javaName);
  }
  throw getRuntime().newNameError("class variable " + javaName + " not defined for " + getName(), javaName);
}

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

public IRubyObject removeClassVariable(String name) {
  String javaName = validateClassVariable(name);
  IRubyObject value;
  if ((value = deleteClassVariable(javaName)) != null) {
    return value;
  }
  if (isClassVarDefined(javaName)) {
    throw cannotRemoveError(javaName);
  }
  throw getRuntime().newNameError("class variable " + javaName + " not defined for " + getName(), javaName);
}

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

public IRubyObject removeClassVariable(String name) {
  String javaName = validateClassVariable(name);
  IRubyObject value;
  if ((value = deleteClassVariable(javaName)) != null) {
    return value;
  }
  if (isClassVarDefined(javaName)) {
    throw cannotRemoveError(javaName);
  }
  throw getRuntime().newNameError("class variable " + javaName + " not defined for " + getName(), javaName);
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法