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


Java Invocations.isResolvedTypeInferredFromExpectedType方法代码示例

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


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

示例1: addExplicitTypeArgumentsIfNecessary

import org.eclipse.jdt.internal.corext.refactoring.code.Invocations; //导入方法依赖的package包/类
private static void addExplicitTypeArgumentsIfNecessary(ASTRewrite rewrite, ASTRewriteCorrectionProposal proposal, Expression invocation) {
	if (Invocations.isResolvedTypeInferredFromExpectedType(invocation)) {
		ITypeBinding[] typeArguments= Invocations.getInferredTypeArguments(invocation);
		if (typeArguments == null)
			return;
		
		ImportRewrite importRewrite= proposal.getImportRewrite();
		if (importRewrite == null) {
			importRewrite= proposal.createImportRewrite((CompilationUnit) invocation.getRoot());
		}
		ImportRewriteContext importRewriteContext= new ContextSensitiveImportRewriteContext(invocation, importRewrite);
		
		AST ast= invocation.getAST();
		ListRewrite typeArgsRewrite= Invocations.getInferredTypeArgumentsRewrite(rewrite, invocation);
		
		for (int i= 0; i < typeArguments.length; i++) {
			Type typeArgumentNode= importRewrite.addImport(typeArguments[i], ast, importRewriteContext);
			typeArgsRewrite.insertLast(typeArgumentNode, null);
		}
		
		if (invocation instanceof MethodInvocation) {
			MethodInvocation methodInvocation= (MethodInvocation) invocation;
			Expression expression= methodInvocation.getExpression();
			if (expression == null) {
				IMethodBinding methodBinding= methodInvocation.resolveMethodBinding();
				if (methodBinding != null && Modifier.isStatic(methodBinding.getModifiers())) {
					expression= ast.newName(importRewrite.addImport(methodBinding.getDeclaringClass().getTypeDeclaration(), importRewriteContext));
				} else {
					expression= ast.newThisExpression();
				}
				rewrite.set(invocation, MethodInvocation.EXPRESSION_PROPERTY, expression, null);
			}
		}
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:36,代码来源:AdvancedQuickAssistProcessor.java

示例2: addExplicitTypeArgumentsIfNecessary

import org.eclipse.jdt.internal.corext.refactoring.code.Invocations; //导入方法依赖的package包/类
private static void addExplicitTypeArgumentsIfNecessary(
    ASTRewrite rewrite, ASTRewriteCorrectionProposal proposal, Expression invocation) {
  if (Invocations.isResolvedTypeInferredFromExpectedType(invocation)) {
    ITypeBinding[] typeArguments = Invocations.getInferredTypeArguments(invocation);
    if (typeArguments == null) return;

    ImportRewrite importRewrite = proposal.getImportRewrite();
    if (importRewrite == null) {
      importRewrite = proposal.createImportRewrite((CompilationUnit) invocation.getRoot());
    }
    ImportRewriteContext importRewriteContext =
        new ContextSensitiveImportRewriteContext(invocation, importRewrite);

    AST ast = invocation.getAST();
    ListRewrite typeArgsRewrite =
        Invocations.getInferredTypeArgumentsRewrite(rewrite, invocation);

    for (int i = 0; i < typeArguments.length; i++) {
      Type typeArgumentNode =
          importRewrite.addImport(typeArguments[i], ast, importRewriteContext);
      typeArgsRewrite.insertLast(typeArgumentNode, null);
    }

    if (invocation instanceof MethodInvocation) {
      MethodInvocation methodInvocation = (MethodInvocation) invocation;
      Expression expression = methodInvocation.getExpression();
      if (expression == null) {
        IMethodBinding methodBinding = methodInvocation.resolveMethodBinding();
        if (methodBinding != null && Modifier.isStatic(methodBinding.getModifiers())) {
          expression =
              ast.newName(
                  importRewrite.addImport(
                      methodBinding.getDeclaringClass().getTypeDeclaration(),
                      importRewriteContext));
        } else {
          expression = ast.newThisExpression();
        }
        rewrite.set(invocation, MethodInvocation.EXPRESSION_PROPERTY, expression, null);
      }
    }
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:43,代码来源:AdvancedQuickAssistProcessor.java


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