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


Java SourceRange.isAvailable方法代码示例

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


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

示例1: toLocation

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
/**
 * Creates a location for a given java element.
 * Element can be a {@link ICompilationUnit} or {@link IClassFile}
 *
 * @param element
 * @return location or null
 * @throws JavaModelException
 */
public static Location toLocation(IJavaElement element) throws JavaModelException{
	ICompilationUnit unit = (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT);
	IClassFile cf = (IClassFile) element.getAncestor(IJavaElement.CLASS_FILE);
	if (unit == null && cf == null) {
		return null;
	}
	if (element instanceof ISourceReference) {
		ISourceRange nameRange = getNameRange(element);
		if (SourceRange.isAvailable(nameRange)) {
			if (cf == null) {
				return toLocation(unit, nameRange.getOffset(), nameRange.getLength());
			} else {
				return toLocation(cf, nameRange.getOffset(), nameRange.getLength());
			}
		}
	}
	return null;
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:27,代码来源:JDTUtils.java

示例2: getNameRange

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
private static ISourceRange getNameRange(IJavaElement element) throws JavaModelException {
	ISourceRange nameRange = null;
	if (element instanceof IMember) {
		IMember member = (IMember) element;
		nameRange = member.getNameRange();
		if ( (!SourceRange.isAvailable(nameRange))) {
			nameRange = member.getSourceRange();
		}
	} else if (element instanceof ITypeParameter || element instanceof ILocalVariable) {
		nameRange = ((ISourceReference) element).getNameRange();
	} else if (element instanceof ISourceReference) {
		nameRange = ((ISourceReference) element).getSourceRange();
	}
	if (!SourceRange.isAvailable(nameRange) && element.getParent() != null) {
		nameRange = getNameRange(element.getParent());
	}
	return nameRange;
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:19,代码来源:JDTUtils.java

示例3: compareInTheSameType

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
private int compareInTheSameType(IMethodBinding firstMethodBinding, IMethodBinding secondMethodBinding) {
	try {
		IMethod firstMethod= (IMethod)firstMethodBinding.getJavaElement();
		IMethod secondMethod= (IMethod)secondMethodBinding.getJavaElement();
		if (firstMethod == null || secondMethod == null) {
			return 0;
		}
		ISourceRange firstSourceRange= firstMethod.getSourceRange();
		ISourceRange secondSourceRange= secondMethod.getSourceRange();

		if (!SourceRange.isAvailable(firstSourceRange) || !SourceRange.isAvailable(secondSourceRange)) {
			return firstMethod.getElementName().compareTo(secondMethod.getElementName());
		} else {
			return firstSourceRange.getOffset() - secondSourceRange.getOffset();
		}
	} catch (JavaModelException e) {
		return 0;
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:20,代码来源:MethodsSourcePositionComparator.java

示例4: getLineNumber

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
public static Integer getLineNumber(IMember member) throws JavaModelException {
	ITypeRoot typeRoot = member.getTypeRoot();
	IBuffer buffer = typeRoot.getBuffer();
	if (buffer == null) {
		return null;
	}
	Document document = new Document(buffer.getContents());

	int offset = 0;
	if (SourceRange.isAvailable(member.getNameRange())) {
		offset = member.getNameRange().getOffset();
	} else if (SourceRange.isAvailable(member.getSourceRange())) {
		offset = member.getSourceRange().getOffset();
	}
	try {
		return document.getLineOfOffset(offset);
	} catch (BadLocationException e) {
		return null;
	}
}
 
开发者ID:cchabanois,项目名称:mesfavoris,代码行数:21,代码来源:JavaEditorUtils.java

示例5: compareInTheSameType

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
private int compareInTheSameType(
    IMethodBinding firstMethodBinding, IMethodBinding secondMethodBinding) {
  try {
    IMethod firstMethod = (IMethod) firstMethodBinding.getJavaElement();
    IMethod secondMethod = (IMethod) secondMethodBinding.getJavaElement();
    if (firstMethod == null || secondMethod == null) {
      return 0;
    }
    ISourceRange firstSourceRange = firstMethod.getSourceRange();
    ISourceRange secondSourceRange = secondMethod.getSourceRange();

    if (!SourceRange.isAvailable(firstSourceRange)
        || !SourceRange.isAvailable(secondSourceRange)) {
      return firstMethod.getElementName().compareTo(secondMethod.getElementName());
    } else {
      return firstSourceRange.getOffset() - secondSourceRange.getOffset();
    }
  } catch (JavaModelException e) {
    return 0;
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:22,代码来源:MethodsSourcePositionComparator.java

示例6: isSourceAvailable

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
static boolean isSourceAvailable(ISourceReference sourceReference) {
	try {
		return SourceRange.isAvailable(sourceReference.getSourceRange());
	} catch (JavaModelException e) {
		return false;
	}
}
 
开发者ID:eclipse,项目名称:eclipse.jdt.ls,代码行数:8,代码来源:StubUtility2.java

示例7: isInlineMethodAvailable

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
public static boolean isInlineMethodAvailable(IMethod method) throws JavaModelException {
  if (method == null) return false;
  if (!method.exists()) return false;
  if (!method.isStructureKnown()) return false;
  if (!method.isBinary()) return true;
  if (method.isConstructor()) return false;
  return SourceRange.isAvailable(method.getNameRange());
}
 
开发者ID:eclipse,项目名称:che,代码行数:9,代码来源:RefactoringAvailabilityTester.java

示例8: isSourceAvailable

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
public static boolean isSourceAvailable(ISourceReference sourceReference) {
  try {
    return SourceRange.isAvailable(sourceReference.getSourceRange());
  } catch (JavaModelException e) {
    return false;
  }
}
 
开发者ID:eclipse,项目名称:che,代码行数:8,代码来源:JavaElementUtil.java

示例9: isInlineMethodAvailable

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
public static boolean isInlineMethodAvailable(IMethod method) throws JavaModelException {
	if (method == null)
		return false;
	if (!method.exists())
		return false;
	if (!method.isStructureKnown())
		return false;
	if (!method.isBinary())
		return true;
	if (method.isConstructor())
		return false;
	return SourceRange.isAvailable(method.getNameRange());
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:14,代码来源:RefactoringAvailabilityTester.java

示例10: isSourceAvailable

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
public static boolean isSourceAvailable(ISourceReference sourceReference) {
	try {
		return SourceRange.isAvailable(sourceReference.getSourceRange());
	} catch (JavaModelException e) {
		return false;
	}
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:8,代码来源:JavaElementUtil.java

示例11: handleConstantValue

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
private boolean handleConstantValue(IField field, boolean link) throws JavaModelException {
  String text = null;

  ISourceRange nameRange = field.getNameRange();
  if (SourceRange.isAvailable(nameRange)) {
    CompilationUnit cuNode = ASTProvider.createAST(field.getTypeRoot(), null);
    if (cuNode != null) {
      ASTNode nameNode = NodeFinder.perform(cuNode, nameRange);
      if (nameNode instanceof SimpleName) {
        IBinding binding = ((SimpleName) nameNode).resolveBinding();
        if (binding instanceof IVariableBinding) {
          IVariableBinding variableBinding = (IVariableBinding) binding;
          Object constantValue = variableBinding.getConstantValue();
          if (constantValue != null) {
            if (constantValue instanceof String) {
              text = ASTNodes.getEscapedStringLiteral((String) constantValue);
            } else {
              text = constantValue.toString(); // Javadoc tool is even worse for chars...
            }
          }
        }
      }
    }
  }

  if (text == null) {
    Object constant = field.getConstant();
    if (constant != null) {
      text = constant.toString();
    }
  }

  if (text != null) {
    text = HTMLPrinter.convertToHTMLContentWithWhitespace(text);
    if (link) {
      String uri;
      try {
        uri = JavaElementLinks.createURI(urlPrefix, field);
        fBuf.append(JavaElementLinks.createLink(uri, text));
      } catch (URISyntaxException e) {
        LOG.error(e.getMessage(), e);
        return false;
      }
    } else {
      handleText(text);
    }
    return true;
  }
  return false;
}
 
开发者ID:eclipse,项目名称:che,代码行数:51,代码来源:JavadocContentAccess2.java

示例12: handleConstantValue

import org.eclipse.jdt.core.SourceRange; //导入方法依赖的package包/类
private boolean handleConstantValue(IField field, boolean link) throws JavaModelException {
	String text= null;
	
	ISourceRange nameRange= field.getNameRange();
	if (SourceRange.isAvailable(nameRange)) {
		CompilationUnit cuNode= SharedASTProvider.getAST(field.getTypeRoot(), SharedASTProvider.WAIT_ACTIVE_ONLY, null);
		if (cuNode != null) {
			ASTNode nameNode= NodeFinder.perform(cuNode, nameRange);
			if (nameNode instanceof SimpleName) {
				IBinding binding= ((SimpleName) nameNode).resolveBinding();
				if (binding instanceof IVariableBinding) {
					IVariableBinding variableBinding= (IVariableBinding) binding;
					Object constantValue= variableBinding.getConstantValue();
					if (constantValue != null) {
						if (constantValue instanceof String) {
							text= ASTNodes.getEscapedStringLiteral((String) constantValue);
						} else {
							text= constantValue.toString(); // Javadoc tool is even worse for chars...
						}
					}
				}
			}
		}
	}
	
	if (text == null) {
		Object constant= field.getConstant();
		if (constant != null) {
			text= constant.toString();
		}
	}
	
	if (text != null) {
		text= HTMLPrinter.convertToHTMLContentWithWhitespace(text);
		if (link) {
			String uri;
			try {
				uri= JavaElementLinks.createURI(JavaElementLinks.JAVADOC_SCHEME, field);
				fBuf.append(JavaElementLinks.createLink(uri, text));
			} catch (URISyntaxException e) {
				JavaPlugin.log(e);
				return false;
			}
		} else {
			handleText(text);
		}
		return true;
	}
	return false;
}
 
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:51,代码来源:JavadocContentAccess2.java


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