当前位置: 首页>>代码示例>>Java>>正文


Java MethodBinding.getDefaultValue方法代码示例

本文整理汇总了Java中org.eclipse.jdt.internal.compiler.lookup.MethodBinding.getDefaultValue方法的典型用法代码示例。如果您正苦于以下问题:Java MethodBinding.getDefaultValue方法的具体用法?Java MethodBinding.getDefaultValue怎么用?Java MethodBinding.getDefaultValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.jdt.internal.compiler.lookup.MethodBinding的用法示例。


在下文中一共展示了MethodBinding.getDefaultValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getDefaultValue

import org.eclipse.jdt.internal.compiler.lookup.MethodBinding; //导入方法依赖的package包/类
@Override
public AnnotationValue getDefaultValue() {
	MethodBinding binding = (MethodBinding)_binding;
	Object defaultValue = binding.getDefaultValue();
	if (defaultValue != null) return new AnnotationMemberValue(_env, defaultValue, binding);
	return null;
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:8,代码来源:ExecutableElementImpl.java

示例2: invoke

import org.eclipse.jdt.internal.compiler.lookup.MethodBinding; //导入方法依赖的package包/类
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
{
	if (this._binding == null) return null;
       final String methodName = method.getName();
       if ( args == null || args.length == 0 ) {
           if( methodName.equals("hashCode") ) { //$NON-NLS-1$
               return new Integer( hashCode() );
           }
           else if( methodName.equals("toString") ) { //$NON-NLS-1$
               return toString();
           }
           else if( methodName.equals("annotationType")) { //$NON-NLS-1$
           	return proxy.getClass().getInterfaces()[0];
           }
       }
       else if ( args.length == 1 && methodName.equals("equals") ) { //$NON-NLS-1$
           return new Boolean( equals( args[0] ) );
       }
       
       // If it's not one of the above methods, it must be an annotation member, so it cannot take any arguments
       if ( args != null && args.length != 0 ) {
           throw new NoSuchMethodException("method " + method.getName() + formatArgs(args) + " does not exist on annotation " + toString()); //$NON-NLS-1$ //$NON-NLS-2$
       }
       final MethodBinding methodBinding = getMethodBinding(methodName);
       if ( methodBinding == null ) {
           throw new NoSuchMethodException("method " + method.getName() + "() does not exist on annotation" + toString()); //$NON-NLS-1$ //$NON-NLS-2$
       }

       Object actualValue = null;
       boolean foundMethod = false;
       ElementValuePair[] pairs = _binding.getElementValuePairs();
	for (ElementValuePair pair : pairs) {
		if (methodName.equals(new String(pair.getName()))) {
			actualValue = pair.getValue();
			foundMethod = true;
			break;
		}
	}
	if (!foundMethod) {
		// couldn't find explicit value; see if there's a default
		actualValue = methodBinding.getDefaultValue(); 
	}
	Class<?> expectedType = method.getReturnType();
	TypeBinding actualType = methodBinding.returnType;
       return getReflectionValue(actualValue, actualType, expectedType);
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:48,代码来源:AnnotationMirrorImpl.java


注:本文中的org.eclipse.jdt.internal.compiler.lookup.MethodBinding.getDefaultValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。