public final Type findType(Ruby runtime, RubySymbol name) { Object obj = name.getFFIHandle(); if (obj instanceof Type) { return ((Type) obj); } Type type = symbolTypeCache.get(name); if (type != null) { return type; } return lookupAndCacheType(runtime, name); }
public final Type findType(Ruby runtime, RubySymbol name) { Object obj = name.getFFIHandle(); if (obj instanceof Type) { return ((Type) obj); } Type type = symbolTypeCache.get(name); if (type != null) { return type; } return lookupAndCacheType(runtime, name); }
public final Type findType(Ruby runtime, IRubyObject name, IRubyObject typeMap) { if (name instanceof Type) { return (Type) name; } else if (name instanceof RubySymbol) { Object obj = ((RubySymbol)name).getFFIHandle(); if (obj instanceof Type) { return ((Type) obj); } if (typeMap != null && typeMap instanceof RubyHash) { Type type = (Type)((RubyHash)typeMap).get(name); if (type != null && !type.isNil()) { return type; } } Type type = symbolTypeCache.get(name); if (type != null) { return type; } return lookupAndCacheType(runtime, (RubySymbol)name, (RubyHash)typeMap); } else { return lookupType(runtime, name, typeMap); } }
public final Type findType(Ruby runtime, IRubyObject name, IRubyObject typeMap) { if (name instanceof Type) { return (Type) name; } else if (name instanceof RubySymbol) { Object obj = ((RubySymbol)name).getFFIHandle(); if (obj instanceof Type) { return ((Type) obj); } if (typeMap != null && typeMap instanceof RubyHash) { Type type = (Type)((RubyHash)typeMap).get(name); if (type != null && !type.isNil()) { return type; } } Type type = symbolTypeCache.get(name); if (type != null) { return type; } return lookupAndCacheType(runtime, (RubySymbol)name, (RubyHash)typeMap); } else { return lookupType(runtime, name, typeMap); } }