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


Java JavaGenericsUtil.getCollectionItemType方法代码示例

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


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

示例1: canCoerce

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
private static String canCoerce(PsiClass aClass, PsiType type) {
  PsiType collectionItemType = JavaGenericsUtil.getCollectionItemType(type, aClass.getResolveScope());
  if (collectionItemType == null && InheritanceUtil.isInheritor(type, JavaFxCommonClassNames.JAVAFX_BEANS_PROPERTY)) {
    collectionItemType = getPropertyType(type, aClass.getProject());
  }
  if (collectionItemType != null && PsiPrimitiveType.getUnboxedType(collectionItemType) == null) {
    final PsiClass baseClass = PsiUtil.resolveClassInType(collectionItemType);
    if (baseClass != null) {
      final String qualifiedName = baseClass.getQualifiedName();
      if (qualifiedName != null && !Comparing.strEqual(qualifiedName, CommonClassNames.JAVA_LANG_STRING)) {
        if (!InheritanceUtil.isInheritor(aClass, qualifiedName)) {
           return unableToCoerceMessage(aClass, qualifiedName);
        }
      }
    }
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:JavaFxPsiUtil.java

示例2: visitForeachStatement

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitForeachStatement(PsiForeachStatement statement)
{
	super.visitForeachStatement(statement);
	if(IGNORE_UNCHECKED_ASSIGNMENT)
	{
		return;
	}
	final PsiParameter parameter = statement.getIterationParameter();
	final PsiType parameterType = parameter.getType();
	final PsiExpression iteratedValue = statement.getIteratedValue();
	if(iteratedValue == null)
	{
		return;
	}
	final PsiType itemType = JavaGenericsUtil.getCollectionItemType(iteratedValue);
	LocalQuickFix[] fixes = myOnTheFly ? getChangeVariableTypeFixes(parameter, itemType, myGenerifyFixes) : LocalQuickFix.EMPTY_ARRAY;
	checkRawToGenericsAssignment(parameter, iteratedValue, parameterType, itemType, true, fixes);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:20,代码来源:UncheckedWarningLocalInspectionBase.java

示例3: processForeach

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
private PsiType processForeach( PsiElement parentDeclarationScope )
{
  PsiType result = null;
  if( parentDeclarationScope instanceof PsiForeachStatement )
  {
    final PsiForeachStatement foreachStatement = (PsiForeachStatement)parentDeclarationScope;
    final PsiExpression iteratedValue = foreachStatement.getIteratedValue();
    if( iteratedValue != null )
    {
      result = JavaGenericsUtil.getCollectionItemType( iteratedValue );
    }
  }
  return result;
}
 
开发者ID:manifold-systems,项目名称:manifold-ij,代码行数:15,代码来源:VarHandler.java

示例4: visitForeachStatement

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitForeachStatement(PsiForeachStatement statement) {
  super.visitForeachStatement(statement);
  if (IGNORE_UNCHECKED_ASSIGNMENT) return;
  final PsiParameter parameter = statement.getIterationParameter();
  final PsiType parameterType = parameter.getType();
  final PsiExpression iteratedValue = statement.getIteratedValue();
  if (iteratedValue == null) return;
  final PsiType itemType = JavaGenericsUtil.getCollectionItemType(iteratedValue);
  checkRawToGenericsAssignment(parameter, iteratedValue, parameterType, itemType, true, myOnTheFly ? getChangeVariableTypeFixes(parameter, itemType) : LocalQuickFix.EMPTY_ARRAY);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:12,代码来源:UncheckedWarningLocalInspectionBase.java

示例5: invoke

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
  if (!FileModificationService.getInstance().preparePsiElementsForWrite(element)) return;
  final XmlAttribute attr = (XmlAttribute)element.getParent();
  final String name = attr.getName();
  final XmlAttributeDescriptor descriptor = attr.getDescriptor();
  LOG.assertTrue(descriptor != null);
  String value = attr.getValue();
  final PsiElement declaration = descriptor.getDeclaration();
  if (declaration instanceof PsiField) {
    final PsiType fieldType = ((PsiField)declaration).getType();
    final PsiType itemType = JavaGenericsUtil.getCollectionItemType(fieldType, declaration.getResolveScope());
    if (itemType != null) {
      final String typeNode = itemType.getPresentableText();
      JavaFxPsiUtil.insertImportWhenNeeded((XmlFile)attr.getContainingFile(), typeNode, itemType.getCanonicalText());
      final String[] vals = value.split(",");
      value = StringUtil.join(vals, new Function<String, String>() {
        @Override
        public String fun(String s) {
          return "<" + typeNode + " " + FxmlConstants.FX_VALUE + "=\"" + s.trim() + "\"/>";
        }
      }, "\n");
    }
  }
  final XmlTag childTag = XmlElementFactory.getInstance(project).createTagFromText("<" + name + ">" + value + "</" + name + ">");
  attr.getParent().add(childTag);
  attr.delete();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:29,代码来源:JavaFxExpandAttributeIntention.java

示例6: visitForeachStatement

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Override
public void visitForeachStatement(PsiForeachStatement statement) {
  super.visitForeachStatement(statement);
  if (IGNORE_UNCHECKED_ASSIGNMENT) return;
  final PsiParameter parameter = statement.getIterationParameter();
  final PsiType parameterType = parameter.getType();
  final PsiExpression iteratedValue = statement.getIteratedValue();
  if (iteratedValue == null) return;
  final PsiType itemType = JavaGenericsUtil.getCollectionItemType(iteratedValue);
  checkRawToGenericsAssignment(parameter, parameterType, itemType, true, myOnTheFly ? getChangeVariableTypeFixes(parameter, itemType) : LocalQuickFix.EMPTY_ARRAY);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:12,代码来源:UncheckedWarningLocalInspection.java

示例7: processParameterDeclaration

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
private PsiType processParameterDeclaration(PsiElement parentDeclarationScope) {
  PsiType result = null;
  if (parentDeclarationScope instanceof PsiForeachStatement) {
    final PsiForeachStatement foreachStatement = (PsiForeachStatement) parentDeclarationScope;
    final PsiExpression iteratedValue = foreachStatement.getIteratedValue();
    if (iteratedValue != null) {
      result = JavaGenericsUtil.getCollectionItemType(iteratedValue);
    }
  }
  return result;
}
 
开发者ID:mplushnikov,项目名称:lombok-intellij-plugin,代码行数:12,代码来源:ValProcessor.java

示例8: calcCanBeNull

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
static Boolean calcCanBeNull(DfaVariableValue value)
{
	PsiModifierListOwner var = value.getPsiVariable();
	Nullness nullability = DfaPsiUtil.getElementNullability(value.getVariableType(), var);
	if(nullability != Nullness.UNKNOWN)
	{
		return toBoolean(nullability);
	}

	Nullness defaultNullability = value.getFactory().suggestNullabilityForNonAnnotatedMember(var);

	if(var instanceof PsiParameter && var.getParent() instanceof PsiForeachStatement)
	{
		PsiExpression iteratedValue = ((PsiForeachStatement) var.getParent()).getIteratedValue();
		if(iteratedValue != null)
		{
			PsiType itemType = JavaGenericsUtil.getCollectionItemType(iteratedValue);
			if(itemType != null)
			{
				return toBoolean(DfaPsiUtil.getElementNullability(itemType, var));
			}
		}
	}

	if(var instanceof PsiField && value.getFactory().isHonorFieldInitializers())
	{
		return toBoolean(getNullabilityFromFieldInitializers((PsiField) var, defaultNullability));
	}

	return toBoolean(defaultNullability);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:32,代码来源:NullnessUtil.java

示例9: getCollectionItemType

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
@Nullable
private static PsiType getCollectionItemType(@NotNull PsiClass psiClass, @NotNull PsiType type) {
  return JavaGenericsUtil.getCollectionItemType(type, psiClass.getResolveScope());
}
 
开发者ID:1tontech,项目名称:intellij-spring-assistant,代码行数:5,代码来源:PsiUtil.java

示例10: calcInherentNullability

import com.intellij.codeInsight.daemon.impl.analysis.JavaGenericsUtil; //导入方法依赖的package包/类
private Nullness calcInherentNullability() {
  PsiModifierListOwner var = getPsiVariable();
  Nullness nullability = DfaPsiUtil.getElementNullability(getVariableType(), var);
  if (nullability != Nullness.UNKNOWN) {
    return nullability;
  }

  Nullness defaultNullability = myFactory.isUnknownMembersAreNullable() && MEMBER_OR_METHOD_PARAMETER.accepts(var) ? Nullness.NULLABLE : Nullness.UNKNOWN;

  if (var instanceof PsiParameter && var.getParent() instanceof PsiForeachStatement) {
    PsiExpression iteratedValue = ((PsiForeachStatement)var.getParent()).getIteratedValue();
    if (iteratedValue != null) {
      PsiType itemType = JavaGenericsUtil.getCollectionItemType(iteratedValue);
      if (itemType != null) {
        return DfaPsiUtil.getElementNullability(itemType, var);
      }
    }
  }

  if (var instanceof PsiField && DfaPsiUtil.isFinalField((PsiVariable)var) && myFactory.isHonorFieldInitializers()) {
    List<PsiExpression> initializers = DfaPsiUtil.findAllConstructorInitializers((PsiField)var);
    if (initializers.isEmpty()) {
      return defaultNullability;
    }

    boolean hasUnknowns = false;
    for (PsiExpression expression : initializers) {
      Nullness nullness = getFieldInitializerNullness(expression);
      if (nullness == Nullness.NULLABLE) {
        return Nullness.NULLABLE;
      }
      if (nullness == Nullness.UNKNOWN) {
        hasUnknowns = true;
      }
    }
    
    if (hasUnknowns) {
      if (DfaPsiUtil.isInitializedNotNull((PsiField)var)) {
        return Nullness.NOT_NULL;
      }
      return defaultNullability;
    }
    
    return Nullness.NOT_NULL;
  }

  return defaultNullability;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:49,代码来源:DfaVariableValue.java


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