Top Description Inners Fields Constructors Methods
org.jruby.internal.runtime.methods

public abstract Class DynamicMethod

extends Object
Class Inheritance
Known Direct Subclasses
org.jruby.internal.runtime.methods.HandleMethod, org.jruby.internal.runtime.methods.JavaMethod, org.jruby.internal.runtime.methods.MethodMethod, org.jruby.internal.runtime.methods.NullMethod, org.jruby.internal.runtime.methods.PartialDelegatingMethod, org.jruby.internal.runtime.methods.ProcMethod, org.jruby.internal.runtime.methods.RefinedMarker, org.jruby.internal.runtime.methods.RefinedWrapper, org.jruby.internal.runtime.methods.UndefinedMethod, org.jruby.javasupport.Java.ProcToInterface, org.jruby.javasupport.JavaPackage.BlankSlateWrapper.MethodValue, org.jruby.runtime.Helpers.MethodMissingWrapper, org.jruby.RubyStruct.Accessor, org.jruby.RubyStruct.Mutator, org.jruby.ext.ffi.Pointer.NilToPointerMethod, org.jruby.ext.ffi.jffi.DefaultMethod, org.jruby.ext.ffi.jffi.NativeInvoker, org.jruby.internal.runtime.AbstractIRMethod, org.jruby.internal.runtime.methods.AliasMethod, org.jruby.internal.runtime.methods.DelegatingDynamicMethod
Imports
java.lang.annotation.Retention, .RetentionPolicy, java.lang.invoke.MethodHandle, .MethodHandles, java.lang.reflect.Method, java.util.Collection, .Collections, org.jruby.MetaClass, .PrependedModule, .Ruby, .RubyModule, .RubySymbol, org.jruby.runtime.Arity, .Block, .CallType, .Signature, .ThreadContext, .Visibility, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.ivars.MethodData, org.jruby.util.CodegenUtils

DynamicMethod represents a method handle in JRuby, to provide both entry points into AST and bytecode interpreters, but also to provide handles to JIT-compiled and hand-implemented Java methods. All methods invokable from Ruby code are referenced by method handles, either directly or through delegation or callback mechanisms.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
public static @interface

Field Summary

Modifier and TypeField and Description
protected int
aliasCount

How many times has this method been aliased.

private static final int
protected RubyModule
definedClass

The module or class that originally defined this method.

protected byte
flags

Flags for builtin, notimpl, etc

protected Object
handle

An arbitrarily-typed "method handle" for use by compilers and call sites

protected RubyModule
implementationClass

The Ruby module or class from which this method should `super`.

protected final String
name

The simple, base name this method was defined under.

private static final int
protected RubyModule
protectedClass

The "protected class" used for calculating protected access.

private static final int
protected long
serialNumber

The serial number for this method object, to globally identify it

private byte
visibility

The visibility of this method.

Constructor Summary

AccessConstructor and Description
protected
DynamicMethod(RubyModule
The class to which this method will be immediately bound
implementationClass
,
Visibility
The visibility assigned to this method
visibility
,
String
The simple name of this method
name
)

Base constructor for dynamic method handles with names.

protected
DynamicMethod(String
the name of the method
name
)

A no-arg constructor used only by the UndefinedMethod subclass and CompiledMethod handles.

protected
DynamicMethod(RubyModule implementationClass, Visibility visibility, CallConfiguration callConfig)
Deprecated

protected
DynamicMethod(RubyModule implementationClass, Visibility visibility, CallConfiguration callConfig, String name)
Deprecated

protected
DynamicMethod(RubyModule
of the method
implementationClass
,
Visibility
of the method
visibility
)

Method Summary

Modifier and TypeMethod and Description
public void
adjustAliasCount(int delta)

protected static RubyModule

Returns:

The class to be used for protected access checking.
calculateProtectedClass
(RubyModule
The class from which to calculate
cls
)

Calculate, based on given RubyModule, which class in its hierarchy should be used to determine protected access.

public abstract IRubyObject

Returns:

The result of the call
call
(ThreadContext
The thread context for the currently executing thread
context
,
IRubyObject
The 'self' or 'receiver' object to use for this call
self
,
RubyModule
The Ruby class against which this method is binding
clazz
,
String
The incoming name used to invoke this method
name
,
IRubyObject[]
The argument list to this invocation
args
,
Block
The block passed to this invocation
block
)

The minimum 'call' method required for a dynamic method handle.

public IRubyObject

Returns:

The result of the call
call
(ThreadContext
The thread context for the currently executing thread
context
,
IRubyObject
The 'self' or 'receiver' object to use for this call
self
,
RubyModule
The Ruby class against which this method is binding
clazz
,
String
The incoming name used to invoke this method
name
,
IRubyObject[]
The first argument to this invocation
args
)

A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, Block block)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, Block block)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, Block block)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)

public IRubyObject
call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)

public boolean
callRespondTo(ThreadContext context, IRubyObject self, String respondToMethodName, RubyModule klazz, RubySymbol name)

public abstract DynamicMethod

Returns:

An identical DynamicMethod object to the target.
dup
()

Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes.

public int
public Arity

Returns:

The arity of the method, as reported to Ruby consumers.
getArity
()
Deprecated

Retrieve the arity of this method, used for reporting arity to Ruby code.

public CallConfiguration
getCallConfig()
Deprecated

public RubyModule

Returns:

the module method was defined in
getDefinedClass
()

Get the original owner of this method/

public Object

Returns:

the handle
getHandle
()

Get the "handle" associated with this DynamicMethod.

public RubyModule

Returns:

The class on which this method is implemented
getImplementationClass
()

Retrieve the class or module on which this method is implemented, used for 'super' logic among others.

public Collection<String>
public MethodData

Returns:

method data (defined in sub classes)
getMethodData
()

Additional metadata about this method.

public String

Returns:

the base name for the method
getName
()

Get the base name this method was defined as.

protected RubyModule

Returns:

The "protected class" for access checks.
getProtectedClass
()

Retrieve the pre-calculated "protected class" used for access checks.

public DynamicMethod

Returns:

The "real" method associated with this one
getRealMethod
()

Get the "real" method contained within this method.

public long

Returns:

This method object's serial number
getSerialNumber
()

Get the global serial number for this method object

public Signature

Returns:

the signature
getSignature
()

Retrieve the signature of this method.

public Visibility

Returns:

The visibility of this method
getVisibility
()

Get the visibility of this method.

protected void
init(RubyModule implementationClass, Visibility visibility)

protected void
init(RubyModule implementationClass, Visibility visibility, CallConfiguration callConfig)
Deprecated

public boolean

Returns:

true if this is a core built-in method, false otherwise
isBuiltin
()

Whether this method is a builtin method, i.e. a method built-in to JRuby and loaded during its core boot process.

public boolean

Returns:

true if the call would not violate visibility; false otherwise
isCallableFrom
(IRubyObject
The calling object
caller
,
CallType
The type of call
callType
)

Determine whether this method is callable from the given object using the given call type.

public boolean
public boolean

Returns:

true If backed by Java code or JVM bytecode; false otherwise
isNative
()

Returns true if this method is backed by native (i.e. Java) code.

public boolean

Returns:

is this a method which is marked as not implemented
isNotImplemented
()

Whether this method is "not implemented".

public final boolean

Returns:

true if this method is the undefined method; false otherwise
isNull
()

Whether this method is the "null" method, used to stop method name resolution loops.

public boolean
public final boolean

Returns:

true if this method is the undefined method; false otherwise
isUndefined
()

Whether this method is the "undefined" method, used to represent a missing or undef'ed method.

private boolean

Returns:

true if the calling object can call protected methods; false otherwise
protectedAccessOk
(IRubyObject
The calling object
caller
)

Determine whether the given object can safely invoke protected methods on the class this method is bound to.

public void
setCallConfig(CallConfiguration callConfig)
Deprecated

public void
setDefinedClass(RubyModule
that method was defined in
definedClass
)

Set the defining class for this method, as when restructuring hierarchy for prepend.

public void
setHandle(Object
the handle
handle
)

Set the "handle" associated with this DynamicMethod.

public void
setImplementationClass(RubyModule
The class on which this method is implemented
implClass
)

Set the class on which this method is implemented, used for 'super' logic, among others.

public void
setIsBuiltin(boolean
true if this is a core built-in method, false otherwise
isBuiltin
)

Force this method to be treated as a core built-in method if true, or as a normal non-core method otherwise.

public void
setNotImplemented(boolean
is this not implement or not
setNotImplemented
)

Set whether this method is "not implemented".

public void
setRuby2Keywords()

Indicates the method will behave like a ruby2 keywords accepting method.

public void
setVisibility(Visibility
The visibility of this method
visibility
)

Set the visibility of this method.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

aliasCountback to summary
protected int aliasCount

How many times has this method been aliased.

BUILTIN_FLAGback to summary
private static final int BUILTIN_FLAG
definedClassback to summary
protected RubyModule definedClass

The module or class that originally defined this method. Referred to as the `defined_class` in C Ruby.

flagsback to summary
protected byte flags

Flags for builtin, notimpl, etc

handleback to summary
protected Object handle

An arbitrarily-typed "method handle" for use by compilers and call sites

implementationClassback to summary
protected RubyModule implementationClass

The Ruby module or class from which this method should `super`. Referred to as the `owner` in C Ruby.

nameback to summary
protected final String name

The simple, base name this method was defined under. May be null.

NOTIMPL_FLAGback to summary
private static final int NOTIMPL_FLAG
protectedClassback to summary
protected RubyModule protectedClass

The "protected class" used for calculating protected access.

REFINED_FLAGback to summary
private static final int REFINED_FLAG
serialNumberback to summary
protected long serialNumber

The serial number for this method object, to globally identify it

visibilityback to summary
private byte visibility

The visibility of this method. This is the ordinal of the Visibility enum value.

Constructor Detail

DynamicMethodback to summary
protected DynamicMethod(RubyModule implementationClass, Visibility visibility, String name)

Base constructor for dynamic method handles with names.

Parameters
implementationClass:RubyModule

The class to which this method will be immediately bound

visibility:Visibility

The visibility assigned to this method

name:String

The simple name of this method

DynamicMethodback to summary
protected DynamicMethod(String name)

A no-arg constructor used only by the UndefinedMethod subclass and CompiledMethod handles. instanceof assertions make sure this is so.

Parameters
name:String

the name of the method

DynamicMethodback to summary
protected DynamicMethod(RubyModule implementationClass, Visibility visibility, CallConfiguration callConfig)

Deprecated

Annotations
@Deprecated
DynamicMethodback to summary
protected DynamicMethod(RubyModule implementationClass, Visibility visibility, CallConfiguration callConfig, String name)

Deprecated

Annotations
@Deprecated
DynamicMethodback to summary
protected DynamicMethod(RubyModule implementationClass, Visibility visibility)
Parameters
implementationClass:RubyModule

of the method

visibility:Visibility

of the method

Annotations
@Deprecated

Method Detail

adjustAliasCountback to summary
public void adjustAliasCount(int delta)
calculateProtectedClassback to summary
protected static RubyModule calculateProtectedClass(RubyModule cls)

Calculate, based on given RubyModule, which class in its hierarchy should be used to determine protected access.

Parameters
cls:RubyModule

The class from which to calculate

Returns:RubyModule

The class to be used for protected access checking.

callback to summary
public abstract IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args, Block block)

The minimum 'call' method required for a dynamic method handle. Subclasses must implement this method, but may implement the other signatures to provide faster, non-boxing call paths. Typically subclasses will implement this method to check variable arity calls, then performing a specific-arity invocation to the appropriate method or performing variable-arity logic in-line.

Parameters
context:ThreadContext

The thread context for the currently executing thread

self:IRubyObject

The 'self' or 'receiver' object to use for this call

clazz:RubyModule

The Ruby class against which this method is binding

name:String

The incoming name used to invoke this method

args:IRubyObject[]

The argument list to this invocation

block:Block

The block passed to this invocation

Returns:IRubyObject

The result of the call

callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule clazz, String name, IRubyObject[] args)

A default implementation of n-arity, non-block 'call' method, which simply calls the n-arity, block-receiving version with the arg list and Block.NULL_BLOCK.

Parameters
context:ThreadContext

The thread context for the currently executing thread

self:IRubyObject

The 'self' or 'receiver' object to use for this call

clazz:RubyModule

The Ruby class against which this method is binding

name:String

The incoming name used to invoke this method

args:IRubyObject[]

The first argument to this invocation

Returns:IRubyObject

The result of the call

callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, Block block)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, Block block)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, Block block)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
callback to summary
public IRubyObject call(ThreadContext context, IRubyObject self, RubyModule klazz, String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
callRespondToback to summary
public boolean callRespondTo(ThreadContext context, IRubyObject self, String respondToMethodName, RubyModule klazz, RubySymbol name)
dupback to summary
public abstract DynamicMethod dup()

Duplicate this method, returning DynamicMethod referencing the same code and with the same attributes. It is not required that this method produce a new object if the semantics of the DynamicMethod subtype do not require such.

Returns:DynamicMethod

An identical DynamicMethod object to the target.

getAliasCountback to summary
public int getAliasCount()
getArityback to summary
public Arity getArity()

Deprecated

Retrieve the arity of this method, used for reporting arity to Ruby code. This arity may or may not reflect the actual specific or variable arities of the referenced method.

Returns:Arity

The arity of the method, as reported to Ruby consumers.

Annotations
@Deprecated
getCallConfigback to summary
public CallConfiguration getCallConfig()

Deprecated

Annotations
@Deprecated
getDefinedClassback to summary
public RubyModule getDefinedClass()

Get the original owner of this method/

Returns:RubyModule

the module method was defined in

getHandleback to summary
public Object getHandle()

Get the "handle" associated with this DynamicMethod.

Returns:Object

the handle

getImplementationClassback to summary
public RubyModule getImplementationClass()

Retrieve the class or module on which this method is implemented, used for 'super' logic among others.

Returns:RubyModule

The class on which this method is implemented

getInstanceVariableNamesback to summary
public Collection<String> getInstanceVariableNames()
getMethodDataback to summary
public MethodData getMethodData()

Additional metadata about this method.

Returns:MethodData

method data (defined in sub classes)

getNameback to summary
public String getName()

Get the base name this method was defined as.

Returns:String

the base name for the method

getProtectedClassback to summary
protected RubyModule getProtectedClass()

Retrieve the pre-calculated "protected class" used for access checks.

Returns:RubyModule

The "protected class" for access checks.

getRealMethodback to summary
public DynamicMethod getRealMethod()

Get the "real" method contained within this method. This simply returns self except in cases where a method is wrapped to give it a new name or new implementation class (AliasMethod, PartialDelegatingMethod, ...).

Returns:DynamicMethod

The "real" method associated with this one

getSerialNumberback to summary
public long getSerialNumber()

Get the global serial number for this method object

Returns:long

This method object's serial number

getSignatureback to summary
public Signature getSignature()

Retrieve the signature of this method.

Returns:Signature

the signature

getVisibilityback to summary
public Visibility getVisibility()

Get the visibility of this method.

Returns:Visibility

The visibility of this method

initback to summary
protected void init(RubyModule implementationClass, Visibility visibility)
initback to summary
protected void init(RubyModule implementationClass, Visibility visibility, CallConfiguration callConfig)

Deprecated

Annotations
@Deprecated
isBuiltinback to summary
public boolean isBuiltin()

Whether this method is a builtin method, i.e. a method built-in to JRuby and loaded during its core boot process.

Returns:boolean

true if this is a core built-in method, false otherwise

isCallableFromback to summary
public boolean isCallableFrom(IRubyObject caller, CallType callType)

Determine whether this method is callable from the given object using the given call type.

Parameters
caller:IRubyObject

The calling object

callType:CallType

The type of call

Returns:boolean

true if the call would not violate visibility; false otherwise

isImplementedByback to summary
public boolean isImplementedBy(RubyModule other)
isNativeback to summary
public boolean isNative()

Returns true if this method is backed by native (i.e. Java) code.

Returns:boolean

true If backed by Java code or JVM bytecode; false otherwise

isNotImplementedback to summary
public boolean isNotImplemented()

Whether this method is "not implemented". This is primarily to support Ruby 1.9's behavior of respond_to? yielding false if the feature in question is unsupported (but still having the method defined).

Returns:boolean

is this a method which is marked as not implemented

isNullback to summary
public final boolean isNull()

Whether this method is the "null" method, used to stop method name resolution loops. Only returns true for NullMethod instances, of which there should be only one (a singleton).

Returns:boolean

true if this method is the undefined method; false otherwise

isRefinedback to summary
public boolean isRefined()
isUndefinedback to summary
public final boolean isUndefined()

Whether this method is the "undefined" method, used to represent a missing or undef'ed method. Only returns true for UndefinedMethod instances, of which there should be only one (a singleton).

Returns:boolean

true if this method is the undefined method; false otherwise

protectedAccessOkback to summary
private boolean protectedAccessOk(IRubyObject caller)

Determine whether the given object can safely invoke protected methods on the class this method is bound to.

Parameters
caller:IRubyObject

The calling object

Returns:boolean

true if the calling object can call protected methods; false otherwise

setCallConfigback to summary
public void setCallConfig(CallConfiguration callConfig)

Deprecated

Annotations
@Deprecated
setDefinedClassback to summary
public void setDefinedClass(RubyModule definedClass)

Set the defining class for this method, as when restructuring hierarchy for prepend.

Parameters
definedClass:RubyModule

that method was defined in

setHandleback to summary
public void setHandle(Object handle)

Set the "handle" associated with this DynamicMethod.

Parameters
handle:Object

the handle

setImplementationClassback to summary
public void setImplementationClass(RubyModule implClass)

Set the class on which this method is implemented, used for 'super' logic, among others.

Parameters
implClass:RubyModule

The class on which this method is implemented

setIsBuiltinback to summary
public void setIsBuiltin(boolean isBuiltin)

Force this method to be treated as a core built-in method if true, or as a normal non-core method otherwise.

Parameters
isBuiltin:boolean

true if this is a core built-in method, false otherwise

setNotImplementedback to summary
public void setNotImplemented(boolean setNotImplemented)

Set whether this method is "not implemented".

Parameters
setNotImplemented:boolean

is this not implement or not

setRuby2Keywordsback to summary
public void setRuby2Keywords()

Indicates the method will behave like a ruby2 keywords accepting method. This must be a Ruby implementation to work. See Module#ruby2_keywords for information on the semantics of a method which is marked this way.

setVisibilityback to summary
public void setVisibility(Visibility visibility)

Set the visibility of this method.

Parameters
visibility:Visibility

The visibility of this method

org.jruby.internal.runtime.methods back to summary

public Class DynamicMethod.NativeCall

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private MethodHandle
private final boolean
private final String
private final Class<T>
private final Class<T>[]
private final Class<T>
private boolean
private Method
private final boolean

Constructor Summary

AccessConstructor and Description
public
NativeCall(Class<T> nativeTarget, String nativeName, Class<T> nativeReturn, Class<T>[] nativeSignature, boolean statik)

public
NativeCall(Class<T> nativeTarget, String nativeName, Class<T> nativeReturn, Class<T>[] nativeSignature, boolean statik, boolean java)

Method Summary

Modifier and TypeMethod and Description
public MethodHandle

Returns:

the reflected method corresponding to this NativeCall, or null if it could not be found
getHandleQuiet
(MethodHandles.Lookup lookup)

Get the java.lang.reflect.Method for this NativeCall quietly.

public Method

Returns:

the reflected method corresponding to this NativeCall
getMethod
()

Get the java.lang.reflect.Method for this NativeCall

public Method

Returns:

the reflected method corresponding to this NativeCall, or null if it could not be found
getMethodQuiet
()

Get the java.lang.reflect.Method for this NativeCall quietly.

public String
public Class<T>
public Class<T>[]
public Class<T>
public boolean
public boolean
public boolean
public boolean
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

handleback to summary
private MethodHandle handle
javaback to summary
private final boolean java
nativeNameback to summary
private final String nativeName
nativeReturnback to summary
private final Class<T> nativeReturn
nativeSignatureback to summary
private final Class<T>[] nativeSignature
nativeTargetback to summary
private final Class<T> nativeTarget
notFoundback to summary
private boolean notFound
reflectedback to summary
private Method reflected
statikback to summary
private final boolean statik

Constructor Detail

NativeCallback to summary
public NativeCall(Class<T> nativeTarget, String nativeName, Class<T> nativeReturn, Class<T>[] nativeSignature, boolean statik)
NativeCallback to summary
public NativeCall(Class<T> nativeTarget, String nativeName, Class<T> nativeReturn, Class<T>[] nativeSignature, boolean statik, boolean java)

Method Detail

getHandleQuietback to summary
public MethodHandle getHandleQuiet(MethodHandles.Lookup lookup)

Get the java.lang.reflect.Method for this NativeCall quietly. If an error is raised, this method will return null;

Returns:MethodHandle

the reflected method corresponding to this NativeCall, or null if it could not be found

getMethodback to summary
public Method getMethod()

Get the java.lang.reflect.Method for this NativeCall

Returns:Method

the reflected method corresponding to this NativeCall

getMethodQuietback to summary
public Method getMethodQuiet()

Get the java.lang.reflect.Method for this NativeCall quietly. If an error is raised, this method will return null;

Returns:Method

the reflected method corresponding to this NativeCall, or null if it could not be found

getNativeNameback to summary
public String getNativeName()
getNativeReturnback to summary
public Class<T> getNativeReturn()
getNativeSignatureback to summary
public Class<T>[] getNativeSignature()
getNativeTargetback to summary
public Class<T> getNativeTarget()
hasBlockback to summary
public boolean hasBlock()
hasContextback to summary
public boolean hasContext()
isJavaback to summary
public boolean isJava()
isStaticback to summary
public boolean isStatic()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
org.jruby.internal.runtime.methods back to summary

public @Interface DynamicMethod.Version

extends Annotation
Annotations
@Retention:RUNTIME

Method Summary

Modifier and TypeMethod and Description
public int
Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

versionback to summary
public int version()