public List<MethodInfo> getInstanceMethods() { return methods.values().stream().filter(m -> !m.isStaticMethod()).collect(Collectors.toList()); }
public static List<MethodInfo> findBasicMethods(List<MethodInfo> methods) { return methods.stream() .filter(method -> !method.isFluent() && !method.isCacheReturn() && !method.isStaticMethod() && !method.isDefaultMethod() && !skipMethod(method)) .collect(Collectors.toList()); }
writer.print(cacheDecls.size()); writer.println(" = ret;"); cacheDecls.add("private" + (method.isStaticMethod() ? " static" : "") + " " + cachedType + " cached_" + cacheDecls.size());
writer.print(cacheDecls.size()); writer.println(" = ret;"); cacheDecls.add("private" + (method.isStaticMethod() ? " static" : "") + " " + cachedType + " cached_" + cacheDecls.size());
if (method.isStaticMethod()) { writer.print("static ");
if (method.isStaticMethod()) { writer.print("static ");
String simpleName = model.getType().getSimpleName(); String ifaceName = Helper.decapitaliseFirstLetter(simpleName); if (method.isStaticMethod()) { writer.format("J%s", simpleName); } else {
private String genInvokeDelegate(ClassModel model, MethodInfo method) { StringBuilder ret; if (method.isStaticMethod()) { ret = new StringBuilder(Helper.getNonGenericType(model.getIfaceFQCN())); } else {
private String genInvokeDelegate(ClassModel model, MethodInfo method) { StringBuilder ret; if (method.isStaticMethod()) { ret = new StringBuilder(Helper.getNonGenericType(model.getIfaceFQCN())); } else {
if (method.isStaticMethod() != first.isStaticMethod()) { throw new GenException(elem, "Overloaded method " + method.getName() + " cannot be both static and instance");
private void generateMethod(PrintWriter writer, ClassTypeInfo type, MethodInfo method) { generateDoc(writer, method.getDoc()); if (getOverrideArgs(type.getSimpleName(), method.getName()) != null) { writer.printf(" %s%s%s(%s", method.isStaticMethod() ? "static " : "", method.getName(), genGeneric(method.getTypeParams()), getOverrideArgs(type.getSimpleName(), method.getName())); } else { writer.printf(" %s%s%s(", method.isStaticMethod() ? "static " : "", method.getName(), genGeneric(method.getTypeParams())); boolean more = false; for (ParamInfo param : method.getParams()) { if (more) { writer.print(", "); } writer.printf("%s: %s%s", cleanReserved(param.getName()), genType(param.getType()), param.getType().isNullable() ? " | null | undefined" : ""); more = true; } } if (getOverrideReturn(type.getSimpleName(), method.getName()) != null) { writer.printf(") : %s%s;\n", getOverrideReturn(type.getSimpleName(), method.getName()), method.getReturnType().isNullable() ? " | null" : ""); } else { writer.printf(") : %s%s;\n", genType(method.getReturnType()), method.getReturnType().isNullable() ? " | null" : ""); } } }
if (!model.isConcrete() && method.isStaticMethod()) { hasStaticMethodsInInterface = true; continue; if (!method.isStaticMethod()) { continue;
writer.print(" "); if (!method.isStaticMethod()) { writer.print(vertxSimpleNameWrapper(type.getSimpleName(), hasStatic)); if (!type.getParams().isEmpty()) { if (method.isStaticMethod()) { writer.print(vertxSimpleNameWrapper(type.getSimpleName(), hasStatic)); } else {
private void generateMethods(ProxyModel model, CodeWriter writer) { for (MethodInfo m : model.getMethods()) { if (!m.isStaticMethod()) { writer.code("@Override\n"); writer.code("public "); if (!m.getTypeParams().isEmpty()) { writer.write("<"); writer.writeSeq(m.getTypeParams().stream().map(TypeParamInfo::getName), ", "); writer.write(">"); } writer.write(" " + m.getReturnType().getSimpleName() + " " + m.getName() + "("); writer.writeSeq(m.getParams().stream().map(p -> p.getType().getSimpleName() + " " + p.getName()), ", "); writer.write("){\n"); writer.indent(); if (!((ProxyMethodInfo) m).isProxyIgnore()) generateMethodBody((ProxyMethodInfo) m, writer); if (m.isFluent()) writer.stmt("return this"); writer.unindent(); writer.code("}\n"); } } }
void checkMethod(MethodInfo meth, String name, int numParams, String returnType, MethodKind kind, Doc comment, MethodCheck... checks) { EnumSet<MethodCheck> checkSet = EnumSet.noneOf(MethodCheck.class); Collections.addAll(checkSet, checks); assertEquals(name, meth.getName()); if (comment != null) { assertNotNull(meth.getComment()); assertEquals(comment.getFirstSentence(), meth.getDoc().getFirstSentence()); assertEquals(comment.getBody(), meth.getDoc().getBody()); assertEquals(comment.getBlockTags(), meth.getDoc().getBlockTags()); } else { assertNull(meth.getComment()); } assertEquals(kind, meth.getKind()); assertEquals(returnType, meth.getReturnType().toString()); assertEquals(checkSet.contains(MethodCheck.CACHE_RETURN), meth.isCacheReturn()); assertEquals(checkSet.contains(MethodCheck.FLUENT), meth.isFluent()); assertEquals(checkSet.contains(MethodCheck.STATIC), meth.isStaticMethod()); assertEquals(numParams, meth.getParams().size()); }
protected void genMethod(M model, String methodName, boolean genStatic, @SuppressWarnings("SameParameterValue") Predicate<MethodInfo> methodFilter, CodeWriter writer) { .filter(method -> method.isStaticMethod() == genStatic && method.getName().equals(methodName)) .collect(Collectors.toList()); boolean overloaded = methodList.size() > 1; MethodInfo method = methodList.get(methodList.size() - 1); if (genStatic == method.isStaticMethod()) { writer.println("/**"); if (method.getDoc() != null) {
.filter(method -> !method.isStaticMethod()) .map(MethodInfo::getName).distinct().forEach(methodName -> {
.code("switch (action) {\n") .indent(); model.getMethods().stream().filter(m -> !m.isStaticMethod()).forEach(m -> generateActionSwitchEntry((ProxyMethodInfo) m, writer)); writer .code("default: throw new IllegalStateException(\"Invalid action: \" + action);\n")
@Override protected void genMethodAdapter(ClassModel model, MethodInfo method, CodeWriter writer) { if (method.getReturnType().getKind() != VOID) { if (method.isFluent()) { writer.format("%s ;\n", genMethodCall(model, method)); writer.format("return %s;\n", method.isStaticMethod() ? model.getType().getSimpleName() : "that"); } else if (method.isCacheReturn()) { writer .format("if (that.cached%s == null) {\n", method.getName()) .indent() .format("that.cached%s = %s;\n", method.getName(), convReturn(model, method, method.getReturnType(), genMethodCall(model, method))) .unindent() .append("}\n") .format("return that.cached%s;\n", method.getName()); } else { writer.format("return %s ;\n", convReturn(model, method, method.getReturnType(), genMethodCall(model, method))); } } else { writer.format("%s;\n", genMethodCall(model, method)); } }