package st.gravel.support.compiler.ast;
/*
This file is automatically generated from typed smalltalk source. Do not edit by hand.
(C) AG5.com
*/
import java.math.BigInteger;
import st.gravel.support.jvm.NonLocalReturn;
import st.gravel.support.compiler.ast.AbstractMethodMapping;
import st.gravel.support.compiler.ast.AbstractMethodMapping.AbstractMethodMapping_Factory;
import st.gravel.support.compiler.ast.MethodNode;
public class MethodMapping extends AbstractMethodMapping implements Cloneable {
public static MethodMapping_Factory factory = new MethodMapping_Factory();
MethodNode _methodNode;
public static class MethodMapping_Factory extends AbstractMethodMapping_Factory {
public MethodMapping basicNew() {
MethodMapping newInstance = new MethodMapping();
newInstance.initialize();
return newInstance;
}
public AbstractMethodMapping methodNode_methodHandle_definingClass_(final MethodNode _aKeywordMethodNode, final java.lang.invoke.MethodHandle _aJavaMethodHandle, final Class _definingClass) {
return this.basicNew().initializeMethodNode_methodHandle_definingClass_(_aKeywordMethodNode, _aJavaMethodHandle, _definingClass);
}
}
static public AbstractMethodMapping _methodNode_methodHandle_definingClass_(Object receiver, final MethodNode _aKeywordMethodNode, final java.lang.invoke.MethodHandle _aJavaMethodHandle, final Class _definingClass) {
return factory.methodNode_methodHandle_definingClass_(_aKeywordMethodNode, _aJavaMethodHandle, _definingClass);
}
public MethodMapping copy() {
try {
MethodMapping _temp1 = (MethodMapping) this.clone();
_temp1.postCopy();
return _temp1;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
public MethodMapping_Factory factory() {
return factory;
}
public MethodMapping initializeMethodNode_methodHandle_definingClass_(final MethodNode _aKeywordMethodNode, final java.lang.invoke.MethodHandle _aJavaMethodHandle, final Class _aJavaClass) {
_methodNode = _aKeywordMethodNode;
_methodHandle = _aJavaMethodHandle;
_definingClass = _aJavaClass;
this.initialize();
return this;
}
@Override
public MethodNode methodNode() {
return _methodNode;
}
public String selector() {
return _methodNode.selector();
}
}