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


Java JavaGenericsUtil.isRawToGeneric方法代码示例

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


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

示例1: checkRawToGenericsAssignment

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
private void checkRawToGenericsAssignment(@NotNull PsiElement parameter,
		PsiExpression expression,
		PsiType parameterType,
		PsiType itemType,
		boolean checkAssignability,
		@NotNull LocalQuickFix[] quickFixes)
{
	if(parameterType == null || itemType == null)
	{
		return;
	}
	if(checkAssignability && !TypeConversionUtil.isAssignable(parameterType, itemType))
	{
		return;
	}
	if(JavaGenericsUtil.isRawToGeneric(parameterType, itemType))
	{
		String description = JavaErrorMessages.message("generics.unchecked.assignment", JavaHighlightUtil.formatType(itemType), JavaHighlightUtil.formatType(parameterType));
		registerProblem(description, expression, parameter, quickFixes);
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:22,代码来源:UncheckedWarningLocalInspectionBase.java

示例2: visitArrayInitializerExpression

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitArrayInitializerExpression(PsiArrayInitializerExpression arrayInitializer) {
  super.visitArrayInitializerExpression(arrayInitializer);
  if (IGNORE_UNCHECKED_ASSIGNMENT) return;
  final PsiType type = arrayInitializer.getType();
  if (!(type instanceof PsiArrayType)) return;
  final PsiType componentType = ((PsiArrayType)type).getComponentType();


  boolean arrayTypeFixChecked = false;
  VariableArrayTypeFix fix = null;

  final PsiExpression[] initializers = arrayInitializer.getInitializers();
  for (PsiExpression expression : initializers) {
    final PsiType itemType = expression.getType();

    if (itemType == null) continue;
    if (!TypeConversionUtil.isAssignable(componentType, itemType)) continue;
    if (JavaGenericsUtil.isRawToGeneric(componentType, itemType)) {
      String description = JavaErrorMessages.message("generics.unchecked.assignment",
                                                     JavaHighlightUtil.formatType(itemType),
                                                     JavaHighlightUtil.formatType(componentType));
      if (!arrayTypeFixChecked) {
        final PsiType checkResult = JavaHighlightUtil.sameType(initializers);
        fix = checkResult != null ? new VariableArrayTypeFix(arrayInitializer, checkResult) : null;
        arrayTypeFixChecked = true;
      }

      if (fix != null) {
        registerProblem(description, null, expression, new LocalQuickFix[]{fix});
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:35,代码来源:UncheckedWarningLocalInspectionBase.java

示例3: checkRawToGenericsAssignment

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
private void checkRawToGenericsAssignment(@NotNull PsiElement parameter,
                                          PsiExpression expression, PsiType parameterType,
                                          PsiType itemType,
                                          boolean checkAssignability,
                                          @NotNull LocalQuickFix[] quickFixes) {
  if (parameterType == null || itemType == null) return;
  if (checkAssignability && !TypeConversionUtil.isAssignable(parameterType, itemType)) return;
  if (JavaGenericsUtil.isRawToGeneric(parameterType, itemType)) {
    String description = JavaErrorMessages.message("generics.unchecked.assignment",
                                                   JavaHighlightUtil.formatType(itemType),
                                                   JavaHighlightUtil.formatType(parameterType));
    registerProblem(description, expression, parameter, quickFixes);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:15,代码来源:UncheckedWarningLocalInspectionBase.java

示例4: visitMethod

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitMethod(PsiMethod method) {
  super.visitMethod(method);
  if (IGNORE_UNCHECKED_OVERRIDING) return;
  if (!method.isConstructor()) {
    List<HierarchicalMethodSignature> superMethodSignatures = method.getHierarchicalMethodSignature().getSuperSignatures();
    if (!superMethodSignatures.isEmpty() && !method.hasModifierProperty(PsiModifier.STATIC)) {
      final MethodSignature signature = method.getSignature(PsiSubstitutor.EMPTY);
      for (MethodSignatureBackedByPsiMethod superSignature : superMethodSignatures) {
        PsiMethod baseMethod = superSignature.getMethod();
        PsiSubstitutor substitutor = MethodSignatureUtil.getSuperMethodSignatureSubstitutor(signature, superSignature);
        if (substitutor == null) substitutor = superSignature.getSubstitutor();
        if (PsiUtil.isRawSubstitutor(baseMethod, superSignature.getSubstitutor())) continue;
        final PsiType baseReturnType = substitutor.substitute(baseMethod.getReturnType());
        final PsiType overriderReturnType = method.getReturnType();
        if (baseReturnType == null || overriderReturnType == null) return;
        if (JavaGenericsUtil.isRawToGeneric(baseReturnType, overriderReturnType)) {
          final String message = JavaErrorMessages.message("unchecked.overriding.incompatible.return.type",
                                                           JavaHighlightUtil.formatType(overriderReturnType),
                                                           JavaHighlightUtil.formatType(baseReturnType));

          final PsiTypeElement returnTypeElement = method.getReturnTypeElement();
          LOG.assertTrue(returnTypeElement != null);
          registerProblem(message, null, returnTypeElement, LocalQuickFix.EMPTY_ARRAY);
        }
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:UncheckedWarningLocalInspectionBase.java

示例5: visitArrayInitializerExpression

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitArrayInitializerExpression(PsiArrayInitializerExpression arrayInitializer) {
  super.visitArrayInitializerExpression(arrayInitializer);
  if (IGNORE_UNCHECKED_ASSIGNMENT) return;
  final PsiType type = arrayInitializer.getType();
  if (!(type instanceof PsiArrayType)) return;
  final PsiType componentType = ((PsiArrayType)type).getComponentType();


  boolean arrayTypeFixChecked = false;
  VariableArrayTypeFix fix = null;

  final PsiExpression[] initializers = arrayInitializer.getInitializers();
  for (PsiExpression expression : initializers) {
    final PsiType itemType = expression.getType();

    if (itemType == null) continue;
    if (!TypeConversionUtil.isAssignable(componentType, itemType)) continue;
    if (JavaGenericsUtil.isRawToGeneric(componentType, itemType)) {
      String description = JavaErrorMessages.message("generics.unchecked.assignment",
                                                     JavaHighlightUtil.formatType(itemType),
                                                     JavaHighlightUtil.formatType(componentType));
      if (!arrayTypeFixChecked) {
        final PsiType checkResult = JavaHighlightUtil.sameType(initializers);
        fix = checkResult != null ? new VariableArrayTypeFix(arrayInitializer, checkResult) : null;
        arrayTypeFixChecked = true;
      }

      if (fix != null) {
        registerProblem(description, expression, new LocalQuickFix[]{fix});
      }
    }
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:35,代码来源:UncheckedWarningLocalInspection.java

示例6: checkRawToGenericsAssignment

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
private void checkRawToGenericsAssignment(@NotNull PsiElement parameter,
                                          PsiType parameterType,
                                          PsiType itemType,
                                          boolean checkAssignability,
                                          @NotNull LocalQuickFix[] quickFixes) {
  if (parameterType == null || itemType == null) return;
  if (checkAssignability && !TypeConversionUtil.isAssignable(parameterType, itemType)) return;
  if (JavaGenericsUtil.isRawToGeneric(parameterType, itemType)) {
    String description = JavaErrorMessages.message("generics.unchecked.assignment",
                                                   JavaHighlightUtil.formatType(itemType),
                                                   JavaHighlightUtil.formatType(parameterType));
    registerProblem(description, parameter, quickFixes);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:15,代码来源:UncheckedWarningLocalInspection.java

示例7: visitMethod

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitMethod(PsiMethod method) {
  super.visitMethod(method);
  if (IGNORE_UNCHECKED_OVERRIDING) return;
  if (!method.isConstructor()) {
    List<HierarchicalMethodSignature> superMethodSignatures = method.getHierarchicalMethodSignature().getSuperSignatures();
    if (!superMethodSignatures.isEmpty() && !method.hasModifierProperty(PsiModifier.STATIC)) {
      final MethodSignature signature = method.getSignature(PsiSubstitutor.EMPTY);
      for (MethodSignatureBackedByPsiMethod superSignature : superMethodSignatures) {
        PsiMethod baseMethod = superSignature.getMethod();
        PsiSubstitutor substitutor = MethodSignatureUtil.getSuperMethodSignatureSubstitutor(signature, superSignature);
        if (substitutor == null) substitutor = superSignature.getSubstitutor();
        if (PsiUtil.isRawSubstitutor(baseMethod, superSignature.getSubstitutor())) continue;
        final PsiType baseReturnType = substitutor.substitute(baseMethod.getReturnType());
        final PsiType overriderReturnType = method.getReturnType();
        if (baseReturnType == null || overriderReturnType == null) return;
        if (JavaGenericsUtil.isRawToGeneric(baseReturnType, overriderReturnType)) {
          final String message = JavaErrorMessages.message("unchecked.overriding.incompatible.return.type",
                                                           JavaHighlightUtil.formatType(overriderReturnType),
                                                           JavaHighlightUtil.formatType(baseReturnType));

          final PsiTypeElement returnTypeElement = method.getReturnTypeElement();
          LOG.assertTrue(returnTypeElement != null);
          registerProblem(message, returnTypeElement, LocalQuickFix.EMPTY_ARRAY);
        }
      }
    }
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:30,代码来源:UncheckedWarningLocalInspection.java

示例8: visitArrayInitializerExpression

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitArrayInitializerExpression(PsiArrayInitializerExpression arrayInitializer)
{
	super.visitArrayInitializerExpression(arrayInitializer);
	if(IGNORE_UNCHECKED_ASSIGNMENT)
	{
		return;
	}
	final PsiType type = arrayInitializer.getType();
	if(!(type instanceof PsiArrayType))
	{
		return;
	}
	final PsiType componentType = ((PsiArrayType) type).getComponentType();


	boolean arrayTypeFixChecked = false;
	VariableArrayTypeFix fix = null;

	final PsiExpression[] initializers = arrayInitializer.getInitializers();
	for(PsiExpression expression : initializers)
	{
		final PsiType itemType = expression.getType();

		if(itemType == null)
		{
			continue;
		}
		if(!TypeConversionUtil.isAssignable(componentType, itemType))
		{
			continue;
		}
		if(JavaGenericsUtil.isRawToGeneric(componentType, itemType))
		{
			String description = JavaErrorMessages.message("generics.unchecked.assignment", JavaHighlightUtil.formatType(itemType), JavaHighlightUtil.formatType(componentType));
			if(!arrayTypeFixChecked)
			{
				final PsiType checkResult = JavaHighlightUtil.sameType(initializers);
				fix = checkResult != null ? VariableArrayTypeFix.createFix(arrayInitializer, checkResult) : null;
				arrayTypeFixChecked = true;
			}

			if(fix != null)
			{
				registerProblem(description, null, expression, new LocalQuickFix[]{fix});
			}
		}
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:50,代码来源:UncheckedWarningLocalInspectionBase.java

示例9: visitMethod

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitMethod(PsiMethod method)
{
	super.visitMethod(method);
	if(IGNORE_UNCHECKED_OVERRIDING)
	{
		return;
	}
	if(!method.isConstructor())
	{
		List<HierarchicalMethodSignature> superMethodSignatures = method.getHierarchicalMethodSignature().getSuperSignatures();
		if(!superMethodSignatures.isEmpty() && !method.hasModifierProperty(PsiModifier.STATIC))
		{
			final MethodSignature signature = method.getSignature(PsiSubstitutor.EMPTY);
			for(MethodSignatureBackedByPsiMethod superSignature : superMethodSignatures)
			{
				PsiMethod baseMethod = superSignature.getMethod();
				PsiSubstitutor substitutor = MethodSignatureUtil.getSuperMethodSignatureSubstitutor(signature, superSignature);
				if(substitutor == null)
				{
					substitutor = superSignature.getSubstitutor();
				}
				if(PsiUtil.isRawSubstitutor(baseMethod, superSignature.getSubstitutor()))
				{
					continue;
				}
				final PsiType baseReturnType = substitutor.substitute(baseMethod.getReturnType());
				final PsiType overriderReturnType = method.getReturnType();
				if(baseReturnType == null || overriderReturnType == null)
				{
					return;
				}
				if(JavaGenericsUtil.isRawToGeneric(baseReturnType, overriderReturnType))
				{
					final String message = JavaErrorMessages.message("unchecked.overriding.incompatible.return.type", JavaHighlightUtil.formatType(overriderReturnType), JavaHighlightUtil
							.formatType(baseReturnType));

					final PsiTypeElement returnTypeElement = method.getReturnTypeElement();
					LOG.assertTrue(returnTypeElement != null);
					registerProblem(message, null, returnTypeElement, LocalQuickFix.EMPTY_ARRAY);
				}
			}
		}
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:46,代码来源:UncheckedWarningLocalInspectionBase.java


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