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


Java MethodCandidateInfo.ApplicabilityLevelConstant方法代码示例

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


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

示例1: checkSpecifics

import com.intellij.psi.infos.MethodCandidateInfo; //导入方法依赖的package包/类
public void checkSpecifics(@NotNull List<CandidateInfo> conflicts,
                           @MethodCandidateInfo.ApplicabilityLevelConstant int applicabilityLevel,
                           FactoryMap<MethodCandidateInfo, PsiSubstitutor> map, 
                           @NotNull LanguageLevel languageLevel) {
  final boolean applicable = applicabilityLevel > MethodCandidateInfo.ApplicabilityLevel.NOT_APPLICABLE;

  int conflictsCount = conflicts.size();
  // Specifics
  if (applicable) {
    final CandidateInfo[] newConflictsArray = conflicts.toArray(new CandidateInfo[conflicts.size()]);
    for (int i = 1; i < conflictsCount; i++) {
      final CandidateInfo method = newConflictsArray[i];
      for (int j = 0; j < i; j++) {
        ProgressManager.checkCanceled();
        final CandidateInfo conflict = newConflictsArray[j];
        if (nonComparable(method, conflict, applicabilityLevel == MethodCandidateInfo.ApplicabilityLevel.FIXED_ARITY)) continue; 
        switch (isMoreSpecific((MethodCandidateInfo)method, (MethodCandidateInfo)conflict, applicabilityLevel, map, languageLevel)) {
          case FIRST:
            conflicts.remove(conflict);
            break;
          case SECOND:
            conflicts.remove(method);
            break;
          case NEITHER:
            break;
        }
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:JavaMethodsConflictResolver.java

示例2: getApplicabilityLevel

import com.intellij.psi.infos.MethodCandidateInfo; //导入方法依赖的package包/类
@MethodCandidateInfo.ApplicabilityLevelConstant
public static int getApplicabilityLevel(@NotNull final PsiMethod method,
                                        @NotNull final PsiSubstitutor substitutorForMethod,
                                        @NotNull final PsiType[] args,
                                        @NotNull final LanguageLevel languageLevel) {
  return getApplicabilityLevel(method, substitutorForMethod, args, languageLevel, true, true);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:PsiUtil.java

示例3: checkSpecifics

import com.intellij.psi.infos.MethodCandidateInfo; //导入方法依赖的package包/类
public void checkSpecifics(@NotNull List<CandidateInfo> conflicts,
                           @MethodCandidateInfo.ApplicabilityLevelConstant int applicabilityLevel,
                           @NotNull LanguageLevel languageLevel) {
  final boolean applicable = applicabilityLevel > MethodCandidateInfo.ApplicabilityLevel.NOT_APPLICABLE;

  int conflictsCount = conflicts.size();
  // Specifics
  if (applicable) {
    final CandidateInfo[] newConflictsArray = conflicts.toArray(new CandidateInfo[conflicts.size()]);
    for (int i = 1; i < conflictsCount; i++) {
      final CandidateInfo method = newConflictsArray[i];
      for (int j = 0; j < i; j++) {
        ProgressManager.checkCanceled();
        final CandidateInfo conflict = newConflictsArray[j];
        assert conflict != method;
        switch (isMoreSpecific(method, conflict, applicabilityLevel, languageLevel)) {
          case FIRST:
            conflicts.remove(conflict);
            break;
          case SECOND:
            conflicts.remove(method);
            break;
          case NEITHER:
            break;
        }
      }
    }
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:30,代码来源:JavaMethodsConflictResolver.java

示例4: checkSpecifics

import com.intellij.psi.infos.MethodCandidateInfo; //导入方法依赖的package包/类
public void checkSpecifics(@NotNull List<CandidateInfo> conflicts,
		@MethodCandidateInfo.ApplicabilityLevelConstant int applicabilityLevel,
		FactoryMap<MethodCandidateInfo, PsiSubstitutor> map,
		@NotNull LanguageLevel languageLevel)
{
	final boolean applicable = applicabilityLevel > MethodCandidateInfo.ApplicabilityLevel.NOT_APPLICABLE;

	int conflictsCount = conflicts.size();
	// Specifics
	if(applicable)
	{
		final CandidateInfo[] newConflictsArray = conflicts.toArray(new CandidateInfo[conflicts.size()]);
		for(int i = 1; i < conflictsCount; i++)
		{
			final CandidateInfo method = newConflictsArray[i];
			for(int j = 0; j < i; j++)
			{
				ProgressManager.checkCanceled();
				final CandidateInfo conflict = newConflictsArray[j];
				if(nonComparable(method, conflict, applicabilityLevel == MethodCandidateInfo.ApplicabilityLevel.FIXED_ARITY))
				{
					continue;
				}
				switch(isMoreSpecific((MethodCandidateInfo) method, (MethodCandidateInfo) conflict, applicabilityLevel, map, languageLevel))
				{
					case FIRST:
						conflicts.remove(conflict);
						break;
					case SECOND:
						conflicts.remove(method);
						break;
					case NEITHER:
						break;
				}
			}
		}
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:39,代码来源:JavaMethodsConflictResolver.java

示例5: getApplicabilityLevel

import com.intellij.psi.infos.MethodCandidateInfo; //导入方法依赖的package包/类
@MethodCandidateInfo.ApplicabilityLevelConstant
public static int getApplicabilityLevel(@NotNull final PsiMethod method,
		@NotNull final PsiSubstitutor substitutorForMethod,
		@NotNull final PsiType[] args,
		@NotNull final LanguageLevel languageLevel)
{
	return getApplicabilityLevel(method, substitutorForMethod, args, languageLevel, true, true);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:9,代码来源:PsiUtil.java

示例6: getApplicabilityLevel

import com.intellij.psi.infos.MethodCandidateInfo; //导入方法依赖的package包/类
@MethodCandidateInfo.ApplicabilityLevelConstant
public static int getApplicabilityLevel(@NotNull PsiMethod method, @NotNull PsiSubstitutor substitutorForMethod, @NotNull PsiExpressionList argList) {
  return getApplicabilityLevel(method, substitutorForMethod, argList.getExpressionTypes(), getLanguageLevel(argList));
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:5,代码来源:PsiUtil.java


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