Package org.codehaus.groovy.classgen.asm
Class MopWriter
- java.lang.Object
- 
- org.codehaus.groovy.classgen.asm.MopWriter
 
- 
- Direct Known Subclasses:
- StaticCompilationMopWriter
 
 public class MopWriter extends java.lang.Object
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static interfaceMopWriter.Factory
 - 
Field SummaryFields Modifier and Type Field Description static MopWriter.FactoryFACTORY
 - 
Constructor SummaryConstructors Constructor Description MopWriter(WriterController wc)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcreateMopMethods()static booleanequalParameterTypes(Parameter[] p1, Parameter[] p2)protected voidgenerateMopCalls(java.util.LinkedList<MethodNode> mopCalls, boolean useThis)generates a Meta Object Protocol method, that is used to call a non public method, or to make a call to super.static java.lang.StringgetMopMethodName(MethodNode method, boolean useThis)creates a MOP method name from a methodstatic booleanisMopMethod(java.lang.String methodName)method to determine if a method is a MOP method.
 
- 
- 
- 
Field Detail- 
FACTORYpublic static final MopWriter.Factory FACTORY 
 
- 
 - 
Constructor Detail- 
MopWriterpublic MopWriter(WriterController wc) 
 
- 
 - 
Method Detail- 
createMopMethodspublic void createMopMethods() 
 - 
getMopMethodNamepublic static java.lang.String getMopMethodName(MethodNode method, boolean useThis) creates a MOP method name from a method- Parameters:
- method- the method to be called by the mop method
- useThis- if true, then it is a call on "this", "super" else
- Returns:
- the mop method name
 
 - 
isMopMethodpublic static boolean isMopMethod(java.lang.String methodName) method to determine if a method is a MOP method. This is done by the method name. If the name starts with "this$" or "super$" but does not contain "$dist$", then it is an MOP method- Parameters:
- methodName- name of the method to test
- Returns:
- true if the method is a MOP method
 
 - 
generateMopCallsprotected void generateMopCalls(java.util.LinkedList<MethodNode> mopCalls, boolean useThis) generates a Meta Object Protocol method, that is used to call a non public method, or to make a call to super.- Parameters:
- mopCalls- list of methods a mop call method should be generated for
- useThis- true if "this" should be used for the naming
 
 
- 
 
-