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


Java PsiElement.getTextLength方法代码示例

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


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

示例1: getNameIdentifier

import com.intellij.psi.PsiElement; //导入方法依赖的package包/类
/** returns name identifier, which is valid for reporting */
@Nullable
static public PsiElement getNameIdentifier(@Nullable PsiNameIdentifierOwner element) {
    if (null != element) {
        PsiElement id          = element.getNameIdentifier();
        boolean isIdReportable = null != id && id.getTextLength() > 0;

        return isIdReportable ? id : null;
    }

    return null;
}
 
开发者ID:kalessil,项目名称:yii2inspections,代码行数:13,代码来源:NamedElementUtil.java

示例2: isJavaElementFor

import com.intellij.psi.PsiElement; //导入方法依赖的package包/类
private static boolean isJavaElementFor( PsiModifierListOwner modifierListOwner, PsiElement element )
{
  PsiAnnotation annotation = modifierListOwner.getModifierList().findAnnotation( SourcePosition.class.getName() );
  if( annotation != null )
  {
    int textOffset = element.getTextOffset();
    int textLength = element instanceof PsiNamedElement ? ((PsiNamedElement)element).getName().length() : element.getTextLength();
    PsiNameValuePair[] attributes = annotation.getParameterList().getAttributes();
    int offset = -1;
    for( PsiNameValuePair pair : attributes )
    {
      if( pair.getNameIdentifier().getText().equals( SourcePosition.OFFSET ) )
      {
        String literalValue = pair.getLiteralValue();
        if( literalValue == null )
        {
          return false;
        }
        offset = Integer.parseInt( literalValue );
        break;
      }
    }
    if( offset >= textOffset && offset <= textOffset + textLength )
    {
      return true;
    }
  }
  return false;
}
 
开发者ID:manifold-systems,项目名称:manifold-ij,代码行数:30,代码来源:ResourceToManifoldUtil.java

示例3: annotate

import com.intellij.psi.PsiElement; //导入方法依赖的package包/类
@Override
public void annotate( PsiElement element, AnnotationHolder holder )
{
  PsiClass psiClass =  ResourceToManifoldUtil.findPsiClass( element.getContainingFile() );
  if( psiClass == null )
  {
    return;
  }

  if( PsiErrorClassUtil.isErrorClass( psiClass ) && element instanceof PsiFileSystemItem )
  {
    holder.createErrorAnnotation( new TextRange( 0, element.getContainingFile().getTextLength() ), PsiErrorClassUtil.getErrorFrom( psiClass ).getMessage() );
    return;
  }

  if( !(psiClass instanceof ManifoldPsiClass) )
  {
    return;
  }

  DiagnosticCollector issues = ((ManifoldPsiClass)psiClass).getIssues();
  if( issues == null )
  {
    return;
  }

  for( Object obj : issues.getDiagnostics() )
  {
    Diagnostic issue = (Diagnostic)obj;

    if( element.getTextOffset() > issue.getStartPosition() ||
        element.getTextOffset() + element.getTextLength() <= issue.getStartPosition() )
    {
      continue;
    }

    PsiElement deepestElement = element.getContainingFile().findElementAt( (int)issue.getStartPosition() );
    if( deepestElement != element )
    {
      continue;
    }

    switch( issue.getKind() )
    {
      case ERROR:
        holder.createErrorAnnotation( deepestElement, issue.getMessage( Locale.getDefault() ) );
        break;
      case WARNING:
      case MANDATORY_WARNING:
        holder.createWarningAnnotation( deepestElement, issue.getMessage( Locale.getDefault() ) );
        break;
      case NOTE:
      case OTHER:
        holder.createInfoAnnotation( deepestElement, issue.getMessage( Locale.getDefault() ) );
        break;
    }
  }
}
 
开发者ID:manifold-systems,项目名称:manifold-ij,代码行数:59,代码来源:ManifoldPsiClassAnnotator.java


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