com.sun.javadoc.Parameter.type()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(11.4k)|赞(0)|评价(0)|浏览(118)

本文整理了Java中com.sun.javadoc.Parameter.type()方法的一些代码示例,展示了Parameter.type()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parameter.type()方法的具体详情如下:
包路径:com.sun.javadoc.Parameter
类名称:Parameter
方法名:type

Parameter.type介绍

[英]Get the type of this parameter.
[中]获取此参数的类型。

代码示例

代码示例来源:origin: twosigma/beakerx

private static List<MethodInspect> getInspects(ExecutableMemberDoc[] memberDocs) {
    List<MethodInspect> methodInspects = new ArrayList<>(memberDocs.length);
    for (ExecutableMemberDoc memberDoc : memberDocs) {
      List<String> signature = new ArrayList<>();
      for (Parameter parameter : memberDoc.parameters()) {
        signature.add(parameter.type().qualifiedTypeName() + " " + parameter.name());
      }
      MethodInspect methodInspect = new MethodInspect(memberDoc.name(), memberDoc.getRawCommentText(),
          String.join(", ", signature));
      methodInspects.add(methodInspect);
    }
    return methodInspects;
  }
}

代码示例来源:origin: com.github.markusbernhardt/xml-doclet

protected MethodParameter parseMethodParameter(Parameter parameter) {
  MethodParameter parameterMethodNode = objectFactory.createMethodParameter();
  parameterMethodNode.setName(parameter.name());
  parameterMethodNode.setType(parseTypeInfo(parameter.type()));
  for (AnnotationDesc annotationDesc : parameter.annotations()) {
    parameterMethodNode.getAnnotation().add(parseAnnotationDesc(annotationDesc, parameter.typeName()));
  }
  return parameterMethodNode;
}

代码示例来源:origin: dspinellis/UMLGraph

/** Print the method parameter p */
private String parameter(Options opt, Parameter p[]) {
StringBuilder par = new StringBuilder(1000);
for (int i = 0; i < p.length; i++) {
  par.append(p[i].name() + typeAnnotation(opt, p[i].type()));
  if (i + 1 < p.length)
  par.append(", ");
}
return par.toString();
}

代码示例来源:origin: de.unkrig/de-unkrig-commons

private static String
parameterListForFragmentIdentifier(ExecutableMemberDoc executableMemberDoc) {
  StringBuilder result = new StringBuilder().append('(');
  for (int i = 0; i < executableMemberDoc.parameters().length; i++) {
    Parameter parameter = executableMemberDoc.parameters()[i];
    if (i > 0) result.append(", ");
    result.append(parameter.type().qualifiedTypeName());
  }
  return result.append(')').toString();
}

代码示例来源:origin: de.unkrig.commons/commons-doclet

private static String
parameterListForFragmentIdentifier(ExecutableMemberDoc executableMemberDoc) {
  StringBuilder result = new StringBuilder().append('(');
  for (int i = 0; i < executableMemberDoc.parameters().length; i++) {
    Parameter parameter = executableMemberDoc.parameters()[i];
    if (i > 0) result.append(", ");
    result.append(parameter.type().qualifiedTypeName());
  }
  return result.append(')').toString();
}

代码示例来源:origin: de.unkrig/de-unkrig-commons

private static boolean
equalParameters(@Nullable List<Object> expected, Parameter[] actual) {
  if (expected == null) return true;
  if (expected.size() != actual.length) return false;
  for (int i = 0; i < expected.size(); i++) {
    Object   parameterType       = expected.get(i);
    Type     mdParameterType     = actual[i].type();
    ClassDoc mdParameterClassDoc = mdParameterType.asClassDoc();
    if (mdParameterClassDoc == null) {
      if (!mdParameterType.toString().equals(parameterType)) return false;
    } else {
      if (!mdParameterClassDoc.equals(parameterType)) return false;
    }
  }
  return true;
}

代码示例来源:origin: de.unkrig.commons/commons-doclet

private static boolean
equalParameters(@Nullable List<Object> expected, Parameter[] actual) {
  if (expected == null) return true;
  if (expected.size() != actual.length) return false;
  for (int i = 0; i < expected.size(); i++) {
    Object   parameterType       = expected.get(i);
    Type     mdParameterType     = actual[i].type();
    ClassDoc mdParameterClassDoc = mdParameterType.asClassDoc();
    if (mdParameterClassDoc == null) {
      if (!mdParameterType.toString().equals(parameterType)) return false;
    } else {
      if (!mdParameterClassDoc.equals(parameterType)) return false;
    }
  }
  return true;
}

代码示例来源:origin: org.umlgraph/umlgraph

/** Print the method parameter p */
private String parameter(Options opt, Parameter p[]) {
String par = "";
for (int i = 0; i < p.length; i++) {
  par += p[i].name() + typeAnnotation(opt, p[i].type());
  if (i + 1 < p.length)
  par += ", ";
}
return par;
}

代码示例来源:origin: com.github.linkeer8802/api-resolver-core

public static Method getMethodByDoc(Class<?> classz, MethodDoc methodDoc) throws Exception {
  Class<?>[] parameterTypes = new Class<?>[methodDoc.parameters().length];
  for (int i = 0; i < methodDoc.parameters().length; i++) {
    Parameter parameter = methodDoc.parameters()[i];
    if (parameter.type().isPrimitive()) {
      if (parameter.type().simpleTypeName().equals("byte")) parameterTypes[i] = byte.class;
      else if (parameter.type().simpleTypeName().equals("boolean")) parameterTypes[i] = boolean.class;
      else if (parameter.type().simpleTypeName().equals("short")) parameterTypes[i] = short.class;
      else if (parameter.type().simpleTypeName().equals("char")) parameterTypes[i] = char.class;
      else if (parameter.type().simpleTypeName().equals("int")) parameterTypes[i] = int.class;
      else if (parameter.type().simpleTypeName().equals("long")) parameterTypes[i] = long.class;
      else if (parameter.type().simpleTypeName().equals("float")) parameterTypes[i] = float.class;
      else if (parameter.type().simpleTypeName().equals("double")) parameterTypes[i] = double.class;
    } else {
      parameterTypes[i] = Class.forName(parameter.type().qualifiedTypeName());
    }
    if (!StringUtils.isEmpty(parameter.type().dimension())) {
      int dimension = StringUtil.getStrCount(parameter.type().dimension(), "[]");
      parameterTypes[i] = Array.newInstance(parameterTypes[i], 
          (int[])Array.newInstance(int.class, dimension)).getClass();
    }
  }
  
  return classz.getDeclaredMethod(methodDoc.name(), parameterTypes);
}

代码示例来源:origin: com.ullink.gradle/gradle-ikvm-plugin

Type parameterType = parameters[i].type();

代码示例来源:origin: uk.org.retep.doclet/core

protected void writeParam(ExecutableMemberDoc member, Parameter param,
  boolean isVarArg) {
  if (param.type() != null) {
    writer.printLink(new LinkInfoImpl(
      LinkInfoImpl.CONTEXT_EXECUTABLE_MEMBER_PARAM, param.type(),
      isVarArg));
  }
  if(param.name().length() > 0) {
    writer.space();
    writer.print(param.name());
  }
}

代码示例来源:origin: de.unkrig/de-unkrig-commons

private String
  prettyPrintParameterList(ExecutableMemberDoc executableMemberDoc) {
    StringBuilder result = new StringBuilder().append('(');
    for (int i = 0; i < executableMemberDoc.parameters().length; i++) {
      Parameter parameter = executableMemberDoc.parameters()[i];
      if (i > 0) {
        result.append(", ");
      }
      Type pt = parameter.type();
      if (pt.isPrimitive()) {
        result.append(pt.toString());
        continue;
      }
      // Show erasure type, not type variable name.
      ClassDoc cd = pt.asClassDoc();
      assert cd != null : parameter;
      result.append(cd.name());
    }
    result.append(')');
    return result.toString();
  }
};

代码示例来源:origin: com.linkedin.pegasus/restli-tools

public static MethodIdentity create(MethodDoc method)
{
 final List<String> parameterTypeNames = new ArrayList<String>();
 for (Parameter param: method.parameters())
 {
  Type type = param.type();
  parameterTypeNames.add(type.qualifiedTypeName() + type.dimension());
 }
 return new MethodIdentity(method.qualifiedName(), parameterTypeNames);
}

代码示例来源:origin: de.unkrig.commons/commons-doclet

private String
  prettyPrintParameterList(ExecutableMemberDoc executableMemberDoc) {
    StringBuilder result = new StringBuilder().append('(');
    for (int i = 0; i < executableMemberDoc.parameters().length; i++) {
      Parameter parameter = executableMemberDoc.parameters()[i];
      if (i > 0) {
        result.append(", ");
      }
      Type pt = parameter.type();
      if (pt.isPrimitive()) {
        result.append(pt.toString());
        continue;
      }
      // Show erasure type, not type variable name.
      ClassDoc cd = pt.asClassDoc();
      assert cd != null : parameter;
      result.append(cd.name());
    }
    result.append(')');
    return result.toString();
  }
};

代码示例来源:origin: com.atlassian.swagger/atlassian-swagger-doclet

private static Option<Class<?>[]> loadParameterClasses(MethodDoc methodDoc) {
  Parameter[] jp = methodDoc.parameters();
  List<Class<?>> parameters = new ArrayList<>();
  for (Parameter p : jp) {
    final String classForName = getClassForNameFromType(p.type());
    Option<Class<?>> clz = loadClass(classForName);
    if (clz.isEmpty()) {
      log.error("Could not load Class.forName({}). Returning no parameters for {}.", classForName, methodDoc.name());
      return none();
    }
    parameters.add(clz.get());
  }
  return some(parameters.toArray(new Class[parameters.size()]));
}

代码示例来源:origin: uk.org.retep.doclet/core

/**
   * For backward compatibility, include an anchor using the erasures of the
   * parameters.  NOTE:  We won't need this method anymore after we fix
   * see tags so that they use the type instead of the erasure.
   *
   * @param emd the ExecutableMemberDoc to anchor to.
   * @return the 1.4.x style anchor for the ExecutableMemberDoc.
   */
  protected String getErasureAnchor(ExecutableMemberDoc emd) {
    StringBuffer buf = new StringBuffer(emd.name() + "(");
    Parameter[] params = emd.parameters();
    boolean foundTypeVariable = false;
    for (int i = 0; i < params.length; i++) {
      if (i > 0) {
        buf.append(",");
      }
      Type t = params[i].type();
      foundTypeVariable = foundTypeVariable || t.asTypeVariable() != null;
      buf.append(t.isPrimitive() ?
        t.typeName() : t.asClassDoc().qualifiedName());
      buf.append(t.dimension());
    }
    buf.append(")");
    return foundTypeVariable ? buf.toString() : null;
  }
}

代码示例来源:origin: konsoletyper/teavm-javac

/**
   * For backward compatibility, include an anchor using the erasures of the
   * parameters.  NOTE:  We won't need this method anymore after we fix
   * see tags so that they use the type instead of the erasure.
   *
   * @param emd the ExecutableMemberDoc to anchor to.
   * @return the 1.4.x style anchor for the ExecutableMemberDoc.
   */
  protected String getErasureAnchor(ExecutableMemberDoc emd) {
    StringBuilder buf = new StringBuilder(emd.name() + "(");
    Parameter[] params = emd.parameters();
    boolean foundTypeVariable = false;
    for (int i = 0; i < params.length; i++) {
      if (i > 0) {
        buf.append(",");
      }
      Type t = params[i].type();
      foundTypeVariable = foundTypeVariable || t.asTypeVariable() != null;
      buf.append(t.isPrimitive() ?
        t.typeName() : t.asClassDoc().qualifiedName());
      buf.append(t.dimension());
    }
    buf.append(")");
    return foundTypeVariable ? writer.getName(buf.toString()) : null;
  }
}

代码示例来源:origin: konsoletyper/teavm-javac

List<Type> classArgs = new ArrayList<Type>();
for (int k = 0; k < params.length; k++) {
  Type pcd = params[k].type();
  if ((! params[k].type().isPrimitive()) &&
     ! classArgs.contains(pcd) &&
     ! (pcd instanceof TypeVariable)) {

代码示例来源:origin: konsoletyper/teavm-javac

/**
 * Add the parameter for the executable member.
 *
 * @param member the member to write parameter for.
 * @param param the parameter that needs to be written.
 * @param isVarArg true if this is a link to var arg.
 * @param tree the content tree to which the parameter information will be added.
 */
protected void addParam(ExecutableMemberDoc member, Parameter param,
    boolean isVarArg, Content tree) {
  if (param.type() != null) {
    Content link = writer.getLink(new LinkInfoImpl(
        configuration, LinkInfoImpl.Kind.EXECUTABLE_MEMBER_PARAM,
        param.type()).varargs(isVarArg));
    tree.addContent(link);
  }
  if(param.name().length() > 0) {
    tree.addContent(writer.getSpace());
    tree.addContent(param.name());
  }
}

代码示例来源:origin: uk.org.retep.doclet/core

/**
 * The documentation for values() and valueOf() in Enums are set by the
 * doclet.
 */
public static void setEnumDocumentation(Configuration configuration,
    ClassDoc classDoc) {
  MethodDoc[] methods = classDoc.methods();
  for (int j = 0; j < methods.length; j++) {
    MethodDoc currentMethod = methods[j];
    if (currentMethod.name().equals("values") &&
      currentMethod.parameters().length == 0) {
      currentMethod.setRawCommentText(
        configuration.getText("doclet.enum_values_doc", classDoc.name()));
    } else if (currentMethod.name().equals("valueOf") &&
      currentMethod.parameters().length == 1) {
      Type paramType = currentMethod.parameters()[0].type();
      if (paramType != null &&
        paramType.qualifiedTypeName().equals(String.class.getName())) {
        currentMethod.setRawCommentText(
          configuration.getText("doclet.enum_valueof_doc"));
      }
    }
  }
}

相关文章

微信公众号

最新文章

更多