Top Fields Constructors Methods
org.python.expose.generate

public abstract Class MethodExposer

extends Exposer
Class Inheritance
Known Direct Subclasses
org.python.expose.generate.ClassMethodExposer, org.python.expose.generate.InstanceMethodExposer
Imports
org.objectweb.asm.Type

Field Summary

Modifier and TypeField and Description
protected final Type[]
protected final String[]
protected String[]
protected final String
protected final String
protected final Type
protected final String
protected final Type
protected final String
Inherited from org.python.expose.generate.Exposer:
cvinterfacesImplementedmvPRIMITIVESthisType

Constructor Summary

AccessConstructor and Description
public
MethodExposer(Type onType, String methodName, Type[] args, Type returnType, String typeName, String[] asNames, String[] defaults, Class<?> superClass, String doc)

Method Summary

Modifier and TypeMethod and Description
protected abstract void
protected void
generate()

Implements abstract org.python.expose.generate.Exposer.generate.

Implemented by subclasses to fill in the actual implementation of the class.

private void
private void
generateCall(int numDefaults)

private void
private void
private void
private void
private String
getDefault(int argIndex)

public String[]

Returns:

the names this method will be exposed as. Must be at least length 1.
getNames
()

private boolean
hasDefault(int argIndex)

protected static boolean
isWide(Type[] args)

protected void
protected void
protected abstract void
protected static boolean
private void
protected void
Inherited from org.python.expose.generate.Exposer:
callcallConstructorcallStaticendConstructorendMethodgenerategetgetClassNamegetGeneratedTypegetInternalNamegetStaticinstantiateinstantiateloadmethodDescstartConstructorstartMethodsuperConstructortoPy

Field Detail

argsback to summary
protected final Type[] args
asNamesback to summary
protected final String[] asNames
defaultsback to summary
protected String[] defaults
docback to summary
protected final String doc
methodNameback to summary
protected final String methodName
onTypeback to summary
protected final Type onType
prefixback to summary
protected final String prefix
returnTypeback to summary
protected final Type returnType
typeNameback to summary
protected final String typeName

Constructor Detail

MethodExposerback to summary
public MethodExposer(Type onType, String methodName, Type[] args, Type returnType, String typeName, String[] asNames, String[] defaults, Class<?> superClass, String doc)

Method Detail

checkSelfback to summary
protected abstract void checkSelf()
generateback to summary
protected void generate()

Implements abstract org.python.expose.generate.Exposer.generate.

Doc from org.python.expose.generate.Exposer.generate.

Implemented by subclasses to fill in the actual implementation of the class. cv is set to the ClassVisitor to be used when this is called.

generateBindback to summary
private void generateBind()
generateCallback to summary
private void generateCall(int numDefaults)
generateCallNoThreadStateback to summary
private void generateCallNoThreadState(Type[] callArgs)
generateFullConstructorback to summary
private void generateFullConstructor()
generateNamedConstructorback to summary
private void generateNamedConstructor()
generateWideCallback to summary
private void generateWideCall()
getDefaultback to summary
private String getDefault(int argIndex)
getNamesback to summary
public String[] getNames()
Returns:String[]

the names this method will be exposed as. Must be at least length 1.

hasDefaultback to summary
private boolean hasDefault(int argIndex)
isWideback to summary
protected static boolean isWide(Type[] args)
loadSelfAndThreadStateback to summary
protected void loadSelfAndThreadState()
loadThreadStateback to summary
protected void loadThreadState()
makeCallback to summary
protected abstract void makeCall()
needsThreadStateback to summary
protected static boolean needsThreadState(Type[] args)
pushDefaultback to summary
private void pushDefault(String def, Type arg)
throwInvalidback to summary
protected void throwInvalid(String msg)