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


Java TypeEquivalenceSet.getContributingVariables方法代码示例

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


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

示例1: computeContainerStructure

import org.eclipse.jdt.internal.corext.refactoring.typeconstraints2.TypeEquivalenceSet; //导入方法依赖的package包/类
private void computeContainerStructure() {
  if (DEBUG_INITIALIZATION)
    System.out.println("\n*** Computing Container Structure ***\n"); // $NON-NLS-1$

  initializeContainerStructure();

  if (DEBUG_INITIALIZATION) dumpContainerStructure();

  while (!fWorkList2.isEmpty()) {
    ConstraintVariable2 v = fWorkList2.pop();
    List<ITypeConstraint2> usedIn = fTCModel.getUsedIn(v);

    for (Iterator<ITypeConstraint2> iter = usedIn.iterator(); iter.hasNext(); ) {
      SubTypeConstraint2 stc = (SubTypeConstraint2) iter.next();

      ConstraintVariable2 lhs = stc.getLeft();
      ConstraintVariable2 rhs = stc.getRight();

      unifyContainerStructure(lhs, rhs);
    }

    TypeEquivalenceSet typeEquivalenceSet = v.getTypeEquivalenceSet();
    if (typeEquivalenceSet != null) {
      ConstraintVariable2[] contributingVariables = typeEquivalenceSet.getContributingVariables();
      for (int i = 0; i + 1 < contributingVariables.length; i++) {
        ConstraintVariable2 first = contributingVariables[i];
        ConstraintVariable2 second = contributingVariables[i + 1];

        unifyContainerStructure(first, second);
      }
    }
  }
  if (DEBUG_INITIALIZATION) dumpContainerStructure();
}
 
开发者ID:eclipse,项目名称:che,代码行数:35,代码来源:ParametricStructureComputer.java

示例2: createEqualsConstraint

import org.eclipse.jdt.internal.corext.refactoring.typeconstraints2.TypeEquivalenceSet; //导入方法依赖的package包/类
public void createEqualsConstraint(
    ConstraintVariable2 leftElement, ConstraintVariable2 rightElement) {
  if (leftElement == null || rightElement == null) return;

  TypeEquivalenceSet leftSet = leftElement.getTypeEquivalenceSet();
  TypeEquivalenceSet rightSet = rightElement.getTypeEquivalenceSet();
  if (leftSet == null) {
    if (rightSet == null) {
      TypeEquivalenceSet set = new TypeEquivalenceSet(leftElement, rightElement);
      leftElement.setTypeEquivalenceSet(set);
      rightElement.setTypeEquivalenceSet(set);
    } else {
      rightSet.add(leftElement);
      leftElement.setTypeEquivalenceSet(rightSet);
    }
  } else {
    if (rightSet == null) {
      leftSet.add(rightElement);
      rightElement.setTypeEquivalenceSet(leftSet);
    } else if (leftSet == rightSet) {
      return;
    } else {
      ConstraintVariable2[] cvs = rightSet.getContributingVariables();
      leftSet.addAll(cvs);
      for (int i = 0; i < cvs.length; i++) cvs[i].setTypeEquivalenceSet(leftSet);
    }
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:29,代码来源:InferTypeArgumentsTCModel.java

示例3: createEqualityConstraint

import org.eclipse.jdt.internal.corext.refactoring.typeconstraints2.TypeEquivalenceSet; //导入方法依赖的package包/类
/**
 * Creates an equality constraint.
 *
 * @param left the left typeconstraint variable
 * @param right the right typeconstraint variable
 */
public final void createEqualityConstraint(final ConstraintVariable2 left, final ConstraintVariable2 right) {
	if (left != null && right != null) {
		final TypeEquivalenceSet first= left.getTypeEquivalenceSet();
		final TypeEquivalenceSet second= right.getTypeEquivalenceSet();
		if (first == null) {
			if (second == null) {
				final TypeEquivalenceSet set= new TypeEquivalenceSet(left, right);
				left.setTypeEquivalenceSet(set);
				right.setTypeEquivalenceSet(set);
			} else {
				second.add(left);
				left.setTypeEquivalenceSet(second);
			}
		} else {
			if (second == null) {
				first.add(right);
				right.setTypeEquivalenceSet(first);
			} else if (first == second)
				return;
			else {
				final ConstraintVariable2[] variables= second.getContributingVariables();
				first.addAll(variables);
				for (int index= 0; index < variables.length; index++)
					variables[index].setTypeEquivalenceSet(first);
			}
		}
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:35,代码来源:SuperTypeConstraintsModel.java

示例4: computeContainerStructure

import org.eclipse.jdt.internal.corext.refactoring.typeconstraints2.TypeEquivalenceSet; //导入方法依赖的package包/类
private void computeContainerStructure() {
	if (DEBUG_INITIALIZATION)
		System.out.println("\n*** Computing Container Structure ***\n"); //$NON-NLS-1$

	initializeContainerStructure();

	if (DEBUG_INITIALIZATION)
		dumpContainerStructure();

	while (!fWorkList2.isEmpty()) {
		ConstraintVariable2 v= fWorkList2.pop();
		List<ITypeConstraint2> usedIn= fTCModel.getUsedIn(v);

		for(Iterator<ITypeConstraint2> iter= usedIn.iterator(); iter.hasNext(); ) {
			SubTypeConstraint2 stc= (SubTypeConstraint2) iter.next();

			ConstraintVariable2 lhs= stc.getLeft();
			ConstraintVariable2 rhs= stc.getRight();

			unifyContainerStructure(lhs, rhs);
		}

		TypeEquivalenceSet typeEquivalenceSet= v.getTypeEquivalenceSet();
		if (typeEquivalenceSet != null) {
			ConstraintVariable2[] contributingVariables= typeEquivalenceSet.getContributingVariables();
			for (int i= 0; i + 1 < contributingVariables.length; i++) {
				ConstraintVariable2 first= contributingVariables[i];
				ConstraintVariable2 second= contributingVariables[i + 1];

				unifyContainerStructure(first, second);
			}
		}
	}
	if (DEBUG_INITIALIZATION)
		dumpContainerStructure();
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:37,代码来源:ParametricStructureComputer.java

示例5: createEqualsConstraint

import org.eclipse.jdt.internal.corext.refactoring.typeconstraints2.TypeEquivalenceSet; //导入方法依赖的package包/类
public void createEqualsConstraint(ConstraintVariable2 leftElement, ConstraintVariable2 rightElement) {
	if (leftElement == null || rightElement == null)
		return;

	TypeEquivalenceSet leftSet= leftElement.getTypeEquivalenceSet();
	TypeEquivalenceSet rightSet= rightElement.getTypeEquivalenceSet();
	if (leftSet == null) {
		if (rightSet == null) {
			TypeEquivalenceSet set= new TypeEquivalenceSet(leftElement, rightElement);
			leftElement.setTypeEquivalenceSet(set);
			rightElement.setTypeEquivalenceSet(set);
		} else {
			rightSet.add(leftElement);
			leftElement.setTypeEquivalenceSet(rightSet);
		}
	} else {
		if (rightSet == null) {
			leftSet.add(rightElement);
			rightElement.setTypeEquivalenceSet(leftSet);
		} else if (leftSet == rightSet) {
			return;
		} else {
			ConstraintVariable2[] cvs= rightSet.getContributingVariables();
			leftSet.addAll(cvs);
			for (int i= 0; i < cvs.length; i++)
				cvs[i].setTypeEquivalenceSet(leftSet);
		}
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:30,代码来源:InferTypeArgumentsTCModel.java


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