public static void addMethodNamesToSet(Set<String> set, JRubyMethod jrubyMethod, String simpleName) { if (jrubyMethod.name().length == 0) { set.add(simpleName); } else { set.addAll(Arrays.asList(jrubyMethod.name())); } if (jrubyMethod.alias().length > 0) { set.addAll(Arrays.asList(jrubyMethod.alias())); } }
public static void addMethodNamesToSet(Set<String> set, JRubyMethod jrubyMethod, String simpleName) { if (jrubyMethod.name().length == 0) { set.add(simpleName); } else { set.addAll(Arrays.asList(jrubyMethod.name())); } if (jrubyMethod.alias().length > 0) { set.addAll(Arrays.asList(jrubyMethod.alias())); } }
private void defineMethodOnClass(String methodVar, String classVar, JRubyMethod jrubyMethod, ExecutableElement md) { CharSequence baseName; if (jrubyMethod.name().length == 0) { baseName = md.getSimpleName(); out.println(" " + classVar + ".addMethodAtBootTimeOnly(\"" + baseName + "\", " + methodVar + ");"); } else { baseName = jrubyMethod.name()[0]; for (String name : jrubyMethod.name()) { out.println(" " + classVar + ".addMethodAtBootTimeOnly(\"" + name + "\", " + methodVar + ");"); } } if (jrubyMethod.alias().length > 0) { for (String alias : jrubyMethod.alias()) { out.println(" " + classVar + ".defineAlias(\"" + alias + "\", \"" + baseName + "\");"); } } } }
private void defineMethodOnClass(String methodVar, String classVar, JRubyMethod jrubyMethod, ExecutableElement md) { CharSequence baseName; if (jrubyMethod.name().length == 0) { baseName = md.getSimpleName(); out.println(" " + classVar + ".addMethodAtBootTimeOnly(\"" + baseName + "\", " + methodVar + ");"); } else { baseName = jrubyMethod.name()[0]; for (String name : jrubyMethod.name()) { out.println(" " + classVar + ".addMethodAtBootTimeOnly(\"" + name + "\", " + methodVar + ");"); } } if (jrubyMethod.alias().length > 0) { for (String alias : jrubyMethod.alias()) { out.println(" " + classVar + ".defineAlias(\"" + alias + "\", \"" + baseName + "\");"); } } } }
public static void groupFrameFields(Map<Set<FrameField>, List<String>> readGroups, Map<Set<FrameField>, List<String>> writeGroups, JRubyMethod anno, String simpleName) { if (anno.reads().length > 0) { Set<FrameField> reads = new HashSet<>(Arrays.asList(anno.reads())); List<String> nameList = readGroups.get(reads); if (nameList == null) readGroups.put(reads, nameList = new ArrayList<>()); if (anno.name().length == 0) { nameList.add(simpleName); } else { nameList.addAll(Arrays.asList(anno.name())); } } if (anno.writes().length > 0) { Set<FrameField> writes = new HashSet<>(Arrays.asList(anno.writes())); List<String> nameList = writeGroups.get(writes); if (nameList == null) writeGroups.put(writes, nameList = new ArrayList<>()); if (anno.name().length == 0) { nameList.add(simpleName); } else { nameList.addAll(Arrays.asList(anno.name())); } } }
public static void groupFrameFields(Map<Set<FrameField>, List<String>> readGroups, Map<Set<FrameField>, List<String>> writeGroups, JRubyMethod anno, String simpleName) { if (anno.reads().length > 0) { Set<FrameField> reads = new HashSet<>(Arrays.asList(anno.reads())); List<String> nameList = readGroups.get(reads); if (nameList == null) readGroups.put(reads, nameList = new ArrayList<>()); if (anno.name().length == 0) { nameList.add(simpleName); } else { nameList.addAll(Arrays.asList(anno.name())); } } if (anno.writes().length > 0) { Set<FrameField> writes = new HashSet<>(Arrays.asList(anno.writes())); List<String> nameList = writeGroups.get(writes); if (nameList == null) writeGroups.put(writes, nameList = new ArrayList<>()); if (anno.name().length == 0) { nameList.add(simpleName); } else { nameList.addAll(Arrays.asList(anno.name())); } } }
public static void addMethodNamesToMap(Map<String, JRubyMethod> map, JRubyMethod jrubyMethod, String simpleName) { addMethodNamesToMap(map, jrubyMethod, simpleName, jrubyMethod.name(), jrubyMethod.alias()); }
public static void addMethodNamesToMap(Map<String, JRubyMethod> map, JRubyMethod jrubyMethod, String simpleName) { addMethodNamesToMap(map, jrubyMethod, simpleName, jrubyMethod.name(), jrubyMethod.alias()); }
final String[] names = anno.name(); String name = names.length == 0 ? method.getName() : names[0];
final String[] names = anno.name(); String name = names.length == 0 ? method.getName() : names[0];
public void generateMethodAddCalls(ExecutableElement md, JRubyMethod anno) { generateMethodAddCalls(md, anno.meta(), anno.module(), anno.name(), anno.alias()); }
public void generateMethodAddCalls(ExecutableElement md, JRubyMethod anno) { generateMethodAddCalls(md, anno.meta(), anno.module(), anno.name(), anno.alias()); }
String implClass = anno.meta() ? "singletonClass" : "cls"; String baseName = getBaseName(anno.name(), method); out.println(" javaMethod = new " + annotatedBindingName + "(" + implClass + ", Visibility." + anno.visibility() + ", \"" + baseName + "\");"); out.println(" populateMethod(javaMethod, " +
String implClass = anno.meta() ? "singletonClass" : "cls"; String baseName = getBaseName(anno.name(), method); out.println(" javaMethod = new " + annotatedBindingName + "(" + implClass + ", Visibility." + anno.visibility() + ", \"" + baseName + "\");"); out.println(" populateMethod(javaMethod, " +
String implClass = anno.meta() ? "singletonClass" : "cls"; String baseName = getBaseName(anno.name(), method); out.println(" javaMethod = new " + annotatedBindingName + "(" + implClass + ", Visibility." + anno.visibility() + ", \"" + baseName + "\");"); out.println(" populateMethod(javaMethod, " +
String implClass = anno.meta() ? "singletonClass" : "cls"; String baseName = getBaseName(anno.name(), method); out.println(" javaMethod = new " + annotatedBindingName + "(" + implClass + ", Visibility." + anno.visibility() + ", \"" + baseName + "\");"); out.println(" populateMethod(javaMethod, " +
public void generateMethodAddCalls(ExecutableElement md, JRubyMethod jrubyMethod) { final String[] names = jrubyMethod.name(); final String[] aliases = jrubyMethod.alias(); if (jrubyMethod.meta()) { defineMethodOnClass(BASEMETHOD, SINGLETONCLASS, names, aliases, md); } else { defineMethodOnClass(BASEMETHOD, CLASS, names, aliases, md); if (jrubyMethod.module()) { mv.aload(CLASS); mv.aload(BASEMETHOD); mv.invokestatic("org/jruby/anno/TypePopulator", "populateModuleMethod", "(Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;"); mv.astore(MODULEMETHOD); defineMethodOnClass(MODULEMETHOD, SINGLETONCLASS, names, aliases, md); } } }
public void generateMethodAddCalls(ExecutableElement md, JRubyMethod jrubyMethod) { final String[] names = jrubyMethod.name(); final String[] aliases = jrubyMethod.alias(); if (jrubyMethod.meta()) { defineMethodOnClass(BASEMETHOD, SINGLETONCLASS, names, aliases, md); } else { defineMethodOnClass(BASEMETHOD, CLASS, names, aliases, md); if (jrubyMethod.module()) { mv.aload(CLASS); mv.aload(BASEMETHOD); mv.invokestatic("org/jruby/anno/TypePopulator", "populateModuleMethod", "(Lorg/jruby/RubyModule;Lorg/jruby/internal/runtime/methods/DynamicMethod;)Lorg/jruby/internal/runtime/methods/DynamicMethod;"); mv.astore(MODULEMETHOD); defineMethodOnClass(MODULEMETHOD, SINGLETONCLASS, names, aliases, md); } } }
private static void define(RubyModule module, JavaMethodDescriptor desc, final String simpleName, DynamicMethod dynamicMethod) { JRubyMethod jrubyMethod = desc.anno; final String[] names = jrubyMethod.name(); final String[] aliases = jrubyMethod.alias();