@SupportedAnnotationTypes(value="org.jruby.anno.JRubyMethod")
public class AnnotationBinder
extends javax.annotation.processing.AbstractProcessor
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<java.lang.CharSequence> |
classNames |
private static boolean |
DEBUG |
private static java.util.logging.Logger |
LOG |
private java.io.PrintStream |
out |
static java.lang.String |
POPULATOR_SUFFIX |
static java.lang.String |
SRC_GEN_DIR |
| Constructor and Description |
|---|
AnnotationBinder() |
| Modifier and Type | Method and Description |
|---|---|
private void |
addCoreMethodMapping(java.lang.CharSequence rubyName,
javax.lang.model.element.ExecutableElement decl,
java.io.PrintStream out) |
private int |
calculateActualRequired(javax.lang.model.element.ExecutableElement md,
int paramsLength,
int optional,
boolean rest,
boolean isStatic,
boolean hasContext,
boolean hasBlock) |
private void |
defineMethodOnClass(java.lang.String methodVar,
java.lang.String classVar,
JRubyMethod jrubyMethod,
javax.lang.model.element.ExecutableElement md) |
void |
generateMethodAddCalls(javax.lang.model.element.ExecutableElement md,
JRubyMethod jrubyMethod) |
private java.lang.CharSequence |
getActualQualifiedName(javax.lang.model.element.TypeElement td) |
javax.lang.model.SourceVersion |
getSupportedSourceVersion() |
boolean |
process(java.util.Set<? extends javax.lang.model.element.TypeElement> typeElements,
javax.annotation.processing.RoundEnvironment roundEnvironment) |
void |
processMethodDeclaration(javax.lang.model.element.ExecutableElement method) |
void |
processMethodDeclarationMulti(javax.lang.model.element.ExecutableElement method) |
void |
processMethodDeclarations(java.util.Map<java.lang.CharSequence,java.util.List<javax.lang.model.element.ExecutableElement>> declarations) |
void |
processType(javax.lang.model.element.TypeElement cd) |
public static final java.lang.String POPULATOR_SUFFIX
private static final java.util.logging.Logger LOG
public static final java.lang.String SRC_GEN_DIR
private final java.util.List<java.lang.CharSequence> classNames
private java.io.PrintStream out
private static final boolean DEBUG
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement> typeElements,
javax.annotation.processing.RoundEnvironment roundEnvironment)
process in interface javax.annotation.processing.Processorprocess in class javax.annotation.processing.AbstractProcessorpublic javax.lang.model.SourceVersion getSupportedSourceVersion()
getSupportedSourceVersion in interface javax.annotation.processing.ProcessorgetSupportedSourceVersion in class javax.annotation.processing.AbstractProcessorpublic void processType(javax.lang.model.element.TypeElement cd)
public void processMethodDeclarations(java.util.Map<java.lang.CharSequence,java.util.List<javax.lang.model.element.ExecutableElement>> declarations)
public void processMethodDeclaration(javax.lang.model.element.ExecutableElement method)
public void processMethodDeclarationMulti(javax.lang.model.element.ExecutableElement method)
private void addCoreMethodMapping(java.lang.CharSequence rubyName,
javax.lang.model.element.ExecutableElement decl,
java.io.PrintStream out)
private java.lang.CharSequence getActualQualifiedName(javax.lang.model.element.TypeElement td)
private int calculateActualRequired(javax.lang.model.element.ExecutableElement md,
int paramsLength,
int optional,
boolean rest,
boolean isStatic,
boolean hasContext,
boolean hasBlock)
public void generateMethodAddCalls(javax.lang.model.element.ExecutableElement md,
JRubyMethod jrubyMethod)
private void defineMethodOnClass(java.lang.String methodVar,
java.lang.String classVar,
JRubyMethod jrubyMethod,
javax.lang.model.element.ExecutableElement md)