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


Java InferTypeArgumentsConstraintsSolver.solveConstraints方法代码示例

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


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

示例1: rewriteAST

import org.eclipse.jdt.internal.corext.refactoring.generics.InferTypeArgumentsConstraintsSolver; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override
public void rewriteAST(CompilationUnitRewrite cuRewrite, LinkedProposalModel positionGroups)
    throws CoreException {
  InferTypeArgumentsTCModel model = new InferTypeArgumentsTCModel();
  InferTypeArgumentsConstraintCreator creator =
      new InferTypeArgumentsConstraintCreator(model, true);

  CompilationUnit root = cuRewrite.getRoot();
  root.accept(creator);

  InferTypeArgumentsConstraintsSolver solver = new InferTypeArgumentsConstraintsSolver(model);
  InferTypeArgumentsUpdate update = solver.solveConstraints(new NullProgressMonitor());
  solver = null; // free caches

  ParameterizedType[] nodes =
      InferTypeArgumentsRefactoring.inferArguments(fTypes, update, model, cuRewrite);
  if (nodes.length == 0) return;

  ASTRewrite astRewrite = cuRewrite.getASTRewrite();
  for (int i = 0; i < nodes.length; i++) {
    ParameterizedType type = nodes[i];
    List<Type> args = type.typeArguments();
    int j = 0;
    for (Iterator<Type> iter = args.iterator(); iter.hasNext(); ) {
      LinkedProposalPositionGroup group =
          new LinkedProposalPositionGroup("G" + i + "_" + j); // $NON-NLS-1$ //$NON-NLS-2$
      Type argType = iter.next();
      if (!positionGroups.hasLinkedPositions()) {
        group.addPosition(astRewrite.track(argType), true);
      } else {
        group.addPosition(astRewrite.track(argType), false);
      }
      positionGroups.addPositionGroup(group);
      j++;
    }
  }
  positionGroups.setEndPosition(astRewrite.track(nodes[0]));
}
 
开发者ID:eclipse,项目名称:che,代码行数:40,代码来源:Java50Fix.java

示例2: rewriteAST

import org.eclipse.jdt.internal.corext.refactoring.generics.InferTypeArgumentsConstraintsSolver; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void rewriteAST(CompilationUnitRewrite cuRewrite, LinkedProposalModel positionGroups) throws CoreException {
	InferTypeArgumentsTCModel model= new InferTypeArgumentsTCModel();
	InferTypeArgumentsConstraintCreator creator= new InferTypeArgumentsConstraintCreator(model, true);

	CompilationUnit root= cuRewrite.getRoot();
	root.accept(creator);

	InferTypeArgumentsConstraintsSolver solver= new InferTypeArgumentsConstraintsSolver(model);
	InferTypeArgumentsUpdate update= solver.solveConstraints(new NullProgressMonitor());
	solver= null; //free caches

	ParameterizedType[] nodes= InferTypeArgumentsRefactoring.inferArguments(fTypes, update, model, cuRewrite);
	if (nodes.length == 0)
		return;

	ASTRewrite astRewrite= cuRewrite.getASTRewrite();
	for (int i= 0; i < nodes.length; i++) {
		ParameterizedType type= nodes[i];
		List<Type> args= type.typeArguments();
		int j= 0;
		for (Iterator<Type> iter= args.iterator(); iter.hasNext();) {
			LinkedProposalPositionGroup group= new LinkedProposalPositionGroup("G" + i + "_" + j); //$NON-NLS-1$ //$NON-NLS-2$
			Type argType= iter.next();
			if (!positionGroups.hasLinkedPositions()) {
				group.addPosition(astRewrite.track(argType), true);
			} else {
				group.addPosition(astRewrite.track(argType), false);
			}
			positionGroups.addPositionGroup(group);
			j++;
		}
	}
	positionGroups.setEndPosition(astRewrite.track(nodes[0]));
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:39,代码来源:Java50Fix.java

示例3: rewriteAST

import org.eclipse.jdt.internal.corext.refactoring.generics.InferTypeArgumentsConstraintsSolver; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public void rewriteAST(CompilationUnitRewrite cuRewrite, LinkedProposalModel positionGroups) throws CoreException {
	InferTypeArgumentsTCModel model= new InferTypeArgumentsTCModel();
	InferTypeArgumentsConstraintCreator creator= new InferTypeArgumentsConstraintCreator(model, true);

	CompilationUnit root= cuRewrite.getRoot();
	root.accept(creator);

	InferTypeArgumentsConstraintsSolver solver= new InferTypeArgumentsConstraintsSolver(model);
	InferTypeArgumentsUpdate update= solver.solveConstraints(new NullProgressMonitor());
	solver= null; //free caches

	ParameterizedType[] nodes= InferTypeArgumentsRefactoring.inferArguments(fTypes, update, model, cuRewrite);
	if (nodes.length == 0)
		return;

	ASTRewrite astRewrite= cuRewrite.getASTRewrite();
	for (int i= 0; i < nodes.length; i++) {
		ParameterizedType type= nodes[i];
		List<Type> args= (List<Type>) type.getStructuralProperty(ParameterizedType.TYPE_ARGUMENTS_PROPERTY);
		int j= 0;
		for (Iterator<Type> iter= args.iterator(); iter.hasNext();) {
			LinkedProposalPositionGroup group= new LinkedProposalPositionGroup("G" + i + "_" + j); //$NON-NLS-1$ //$NON-NLS-2$
			Type argType= iter.next();
			if (!positionGroups.hasLinkedPositions()) {
				group.addPosition(astRewrite.track(argType), true);
			} else {
				group.addPosition(astRewrite.track(argType), false);
			}
			positionGroups.addPositionGroup(group);
			j++;
		}
	}
	positionGroups.setEndPosition(astRewrite.track(nodes[0]));
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion-Juno38,代码行数:39,代码来源:Java50Fix.java


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