當前位置: 首頁>>代碼示例>>Java>>正文


Java IMethod.getTypeParameter方法代碼示例

本文整理匯總了Java中org.eclipse.jdt.core.IMethod.getTypeParameter方法的典型用法代碼示例。如果您正苦於以下問題:Java IMethod.getTypeParameter方法的具體用法?Java IMethod.getTypeParameter怎麽用?Java IMethod.getTypeParameter使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.eclipse.jdt.core.IMethod的用法示例。


在下文中一共展示了IMethod.getTypeParameter方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: resolveTypeSignature

import org.eclipse.jdt.core.IMethod; //導入方法依賴的package包/類
/**
 * Returns the resolved type signature for the given signature in the given
 * method, or <code>null</code> if unable to resolve.
 *
 * @param method method containing the type signature
 * @param typeSignature the type signature to resolve
 * @return the resolved type signature
 * @throws JavaModelException
 */
private static String resolveTypeSignature(IMethod method, String typeSignature) throws JavaModelException {
	int count = Signature.getArrayCount(typeSignature);
	String elementTypeSignature = Signature.getElementType(typeSignature);
	if (elementTypeSignature.length() == 1) {
		// no need to resolve primitive types
		return typeSignature;
	}
	String elementTypeName = Signature.toString(elementTypeSignature);
	IType type = method.getDeclaringType();
	String[][] resolvedElementTypeNames = type.resolveType(elementTypeName);
	if (resolvedElementTypeNames == null || resolvedElementTypeNames.length != 1) {
		// check if type parameter
		ITypeParameter typeParameter = method.getTypeParameter(elementTypeName);
		if (!typeParameter.exists()) {
			typeParameter = type.getTypeParameter(elementTypeName);
		}
		if (typeParameter.exists()) {
			String[] bounds = typeParameter.getBounds();
			if (bounds.length == 0) {
				return "Ljava/lang/Object;"; //$NON-NLS-1$
			}
			String bound = Signature.createTypeSignature(bounds[0], false);
			return Signature.createArraySignature(resolveTypeSignature(method, bound), count);
		}
		// the type name cannot be resolved
		return null;
	}

	String[] types = resolvedElementTypeNames[0];
	types[1] = types[1].replace('.', '$');

	String resolvedElementTypeName = Signature.toQualifiedName(types);
	String resolvedElementTypeSignature = "";
	if(types[0].equals("")) {
		resolvedElementTypeName = resolvedElementTypeName.substring(1);
		resolvedElementTypeSignature = Signature.createTypeSignature(resolvedElementTypeName, true);
	}
	else {
		resolvedElementTypeSignature = Signature.createTypeSignature(resolvedElementTypeName, true).replace('.', '/');
	}

	return Signature.createArraySignature(resolvedElementTypeSignature, count);
}
 
開發者ID:VisuFlow,項目名稱:visuflow-plugin,代碼行數:53,代碼來源:BreakpointLocator.java


注:本文中的org.eclipse.jdt.core.IMethod.getTypeParameter方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。