本文整理匯總了Java中com.sun.javadoc.Type.asWildcardType方法的典型用法代碼示例。如果您正苦於以下問題:Java Type.asWildcardType方法的具體用法?Java Type.asWildcardType怎麽用?Java Type.asWildcardType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.sun.javadoc.Type
的用法示例。
在下文中一共展示了Type.asWildcardType方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: parameterLink
import com.sun.javadoc.Type; //導入方法依賴的package包/類
/**
* Appends to the current document the given type parameter
* as a valid markdown link.
*
* @param source Source package to start URL from.
* @param type Target type parameter to reach from this package.
*/
private void parameterLink(final PackageDoc source, final Type type) {
final WildcardType wildcard = type.asWildcardType();
if (wildcard != null) {
character('?');
}
else {
final TypeVariable variableType = type.asTypeVariable();
if (variableType != null) {
final Type [] bounds = variableType.bounds();
if (bounds.length > 0) {
text("? extends ");
for (int i = 0; i < bounds.length; i++) {
typeLink(source, bounds[i]);
if (i < bounds.length - 1) {
text(" & ");
}
}
}
}
else {
typeLink(source, type);
}
}
}
示例2: parseTypeInfo
import com.sun.javadoc.Type; //導入方法依賴的package包/類
protected TypeInfo parseTypeInfo(Type type) {
TypeInfo typeInfoNode = objectFactory.createTypeInfo();
typeInfoNode.setName(type.simpleTypeName());
typeInfoNode.setDisplayName(type.simpleTypeName());
if (type.isPrimitive()) {
typeInfoNode.setIdentifier(type.qualifiedTypeName());
} else {
typeInfoNode.setIdentifier(parseIdentifier(type));
}
typeInfoNode.setFull(type.qualifiedTypeName());
String dimension = type.dimension();
if (dimension.length() > 0) {
typeInfoNode.setDimension(dimension);
}
WildcardType wildcard = type.asWildcardType();
if (wildcard != null) {
typeInfoNode.setWildcard(parseWildcard(wildcard));
}
ParameterizedType parameterized = type.asParameterizedType();
if (parameterized != null) {
for (Type typeArgument : parameterized.typeArguments()) {
typeInfoNode.getGeneric().add(parseTypeInfo(typeArgument));
}
}
return typeInfoNode;
}
示例3: makeElementTypeInfo
import com.sun.javadoc.Type; //導入方法依賴的package包/類
/**
* Convert a javadoc Type object into an object of my TypeInfo class.
* @param errInfo
* @param type
* @param errorContext
* @return TypeInfo object
* @throws GeneratorException
*/
private TypeInfo makeElementTypeInfo(ErrorInfo errInfo, Type type, String errorContext) throws GeneratorException {
errInfo = errInfo.copy();
if (type == null) return null;
TypeInfo tinfo = null;
WildcardType wtype = type.asWildcardType();
String qname = type.qualifiedTypeName();
if (wtype != null) {
// Wildcard Parameter machen keinen Sinn.
// Die Elemente werden sowohl als Konsument als auch als Produzent verwendet.
// http://www.torsten-horn.de/techdocs/java-generics.htm#Wildcard-extends-versus-T-extends
errInfo.msg = "Wildcard parameter types are unsupported, please replace type=\"" + type +"\" by \"Object\".";
throw new GeneratorException(errInfo);
}
else {
ParameterizedType ptype = type.asParameterizedType();
List<TypeInfo> argInfos = getParameterizedTypeArgs(errInfo, ptype, errorContext);
ClassDoc cls = type.asClassDoc();
boolean isEnum = false;
boolean isInline = false;
boolean isFinal = false;
if (cls != null) {
isEnum = cls.isEnum() || cls.isEnumConstant();
isInline = isInline(cls);
isFinal = cls.isFinal();
}
tinfo = classDB.createTypeInfo(
type.simpleTypeName(),
qname,
type.dimension(),
argInfos,
isEnum,
isFinal,
isInline);
makeSerialInfoForCollectionType(errInfo, tinfo);
}
return tinfo;
}