public abstract class AbstractIRMethod extends DynamicMethod implements IRMethodArgs, PositionAware, java.lang.Cloneable
DynamicMethod.NativeCall, DynamicMethod.Version| Modifier and Type | Field and Description |
|---|---|
protected int |
callCount |
protected InterpreterContext |
interpreterContext |
protected int |
line |
protected IRScope |
method |
protected Signature |
signature |
protected StaticScope |
staticScope |
definedClass, flags, handle, implementationClass, name, protectedClass, serialNumber| Constructor and Description |
|---|
AbstractIRMethod(IRScope method,
Visibility visibility,
RubyModule implementationClass) |
AbstractIRMethod(StaticScope scope,
java.lang.String id,
int line,
Visibility visibility,
RubyModule implementationClass) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
clone() |
DynamicMethod |
dup()
Duplicate this method, returning DynamicMethod referencing the same code
and with the same attributes.
|
InterpreterContext |
ensureInstrsReady() |
abstract void |
finishSplitCall(SplitSuperState state) |
ArgumentDescriptor[] |
getArgumentDescriptors()
Get the array of ArgumentDescriptors that represent the arguments to this method.
|
Arity |
getArity()
Deprecated.
|
java.lang.String |
getFile()
Get the filename for the method.
|
java.util.Collection<java.lang.String> |
getInstanceVariableNames() |
IRScope |
getIRScope() |
int |
getLine()
Get the line number for the method.
|
MethodData |
getMethodData()
Additional metadata about this method.
|
Signature |
getSignature()
Retrieve the signature of this method.
|
StaticScope |
getStaticScope() |
boolean |
needsToFindImplementer() |
protected abstract void |
printMethodIR() |
void |
setCallCount(int callCount) |
abstract SplitSuperState |
startSplitSuperCall(ThreadContext context,
IRubyObject self,
RubyModule klazz,
java.lang.String name,
IRubyObject[] args,
Block block)
Calls a split method (java constructor-invoked initialize) and returns the paused state.
|
java.lang.String |
toString() |
static <T extends AbstractIRMethod & Compilable> |
tryJit(ThreadContext context,
T self) |
calculateProtectedClass, call, call, call, call, call, call, call, call, call, call, callRespondTo, getCallConfig, getDefinedClass, getHandle, getImplementationClass, getName, getProtectedClass, getRealMethod, getSerialNumber, getVisibility, init, init, isBuiltin, isCallableFrom, isImplementedBy, isNative, isNotImplemented, isNull, isRefined, isUndefined, setCallConfig, setDefinedClass, setHandle, setImplementationClass, setIsBuiltin, setNotImplemented, setVisibilityprotected final Signature signature
protected IRScope method
protected final int line
protected final StaticScope staticScope
protected int callCount
protected transient InterpreterContext interpreterContext
public AbstractIRMethod(IRScope method, Visibility visibility, RubyModule implementationClass)
public AbstractIRMethod(StaticScope scope, java.lang.String id, int line, Visibility visibility, RubyModule implementationClass)
public static <T extends AbstractIRMethod & Compilable> void tryJit(ThreadContext context, T self)
public final void setCallCount(int callCount)
public IRScope getIRScope()
public StaticScope getStaticScope()
public ArgumentDescriptor[] getArgumentDescriptors()
IRMethodArgsgetArgumentDescriptors in interface IRMethodArgspublic InterpreterContext ensureInstrsReady()
protected abstract void printMethodIR()
public Signature getSignature()
DynamicMethodgetSignature in interface IRMethodArgsgetSignature in class DynamicMethod@Deprecated public Arity getArity()
DynamicMethodgetArity in class DynamicMethodpublic DynamicMethod dup()
DynamicMethoddup in class DynamicMethodpublic java.lang.Object clone()
clone in class java.lang.Objectpublic java.lang.String getFile()
PositionAwaregetFile in interface PositionAwarepublic int getLine()
PositionAwaregetLine in interface PositionAwarepublic MethodData getMethodData()
getMethodData in class DynamicMethodpublic java.util.Collection<java.lang.String> getInstanceVariableNames()
getInstanceVariableNames in class DynamicMethodpublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean needsToFindImplementer()
public abstract SplitSuperState startSplitSuperCall(ThreadContext context, IRubyObject self, RubyModule klazz, java.lang.String name, IRubyObject[] args, Block block)
public abstract void finishSplitCall(SplitSuperState state)
Copyright © 2001-2022 JRuby. All Rights Reserved.