本文整理汇总了Java中groovy.lang.MetaMethod.getNativeParameterTypes方法的典型用法代码示例。如果您正苦于以下问题:Java MetaMethod.getNativeParameterTypes方法的具体用法?Java MetaMethod.getNativeParameterTypes怎么用?Java MetaMethod.getNativeParameterTypes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类groovy.lang.MetaMethod
的用法示例。
在下文中一共展示了MetaMethod.getNativeParameterTypes方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getConflictClasses
import groovy.lang.MetaMethod; //导入方法依赖的package包/类
private static List<Pair<Class,Class>> getConflictClasses(List<MetaMethod> sugg, Class[] argumentClasses) {
List<Pair<Class,Class>> ret = new LinkedList<Pair<Class,Class>>();
Set<Class> recordedClasses = new HashSet<Class>();
for (MetaMethod method : sugg) {
Class[] para = method.getNativeParameterTypes();
for (Class aPara : para) {
if (recordedClasses.contains(aPara)) continue;
for (Class argumentClass : argumentClasses) {
if (argumentClass == null) continue;
if (argumentClass == aPara) continue;
if (argumentClass.getName().equals(aPara.getName())) {
ret.add(new Pair<Class, Class>(argumentClass, aPara));
}
}
recordedClasses.add(aPara);
}
}
return ret;
}
示例2: adjustParamTypesForStdMethods
import groovy.lang.MetaMethod; //导入方法依赖的package包/类
private static MetaMethod adjustParamTypesForStdMethods(MetaMethod metaMethod, String methodName) {
Class[] nativeParamTypes = metaMethod.getNativeParameterTypes();
nativeParamTypes = (nativeParamTypes != null) ? nativeParamTypes : EMPTY_CLASS_ARRAY;
// for methodMissing, first parameter should be String type - to allow overriding of this method without
// type String explicitly specified for first parameter (missing method name) - GROOVY-2951
if("methodMissing".equals(methodName) && nativeParamTypes.length == 2 && nativeParamTypes[0] != String.class) {
nativeParamTypes[0] = String.class;
}
return metaMethod;
}
示例3: makeParameterTypes
import groovy.lang.MetaMethod; //导入方法依赖的package包/类
private Class[] makeParameterTypes(Object owner, MetaMethod m) {
Class[] newParameterTypes;
if (owner instanceof Class && !m.isStatic()) {
Class[] nativeParameterTypes = m.getNativeParameterTypes();
newParameterTypes = new Class[nativeParameterTypes.length + 1];
System.arraycopy(nativeParameterTypes, 0, newParameterTypes, 1, nativeParameterTypes.length);
newParameterTypes[0] = (Class) owner;
} else {
newParameterTypes = m.getNativeParameterTypes();
}
return newParameterTypes;
}
示例4: TransformMetaMethod
import groovy.lang.MetaMethod; //导入方法依赖的package包/类
public TransformMetaMethod(MetaMethod metaMethod) {
this.metaMethod = metaMethod;
setParametersTypes(metaMethod.getParameterTypes());
nativeParamTypes = metaMethod.getNativeParameterTypes();
}