本文整理汇总了Java中org.eclipse.jdt.core.SourceRange类的典型用法代码示例。如果您正苦于以下问题:Java SourceRange类的具体用法?Java SourceRange怎么用?Java SourceRange使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SourceRange类属于org.eclipse.jdt.core包,在下文中一共展示了SourceRange类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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;
}
示例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;
}
}
示例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;
}
}
示例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;
}
}
示例6: enterField
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
/** @see org.eclipse.jdt.internal.compiler.ISourceElementRequestor */
public void enterField(FieldInfo fieldInfo) {
if (this.typeDepth >= 0) {
this.memberDeclarationStart[this.typeDepth] = fieldInfo.declarationStart;
this.memberNameRange[this.typeDepth] =
new SourceRange(
fieldInfo.nameSourceStart, fieldInfo.nameSourceEnd - fieldInfo.nameSourceStart + 1);
String fieldName = new String(fieldInfo.name);
this.memberName[this.typeDepth] = fieldName;
// categories
IType currentType = this.types[this.typeDepth];
IField field = currentType.getField(fieldName);
addCategories(field, fieldInfo.categories);
}
}
示例7: endVisit
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
@Override
public final void endVisit(final QualifiedName node) {
final ASTNode parent= node.getParent();
final Name qualifier= node.getQualifier();
IBinding binding= qualifier.resolveBinding();
if (binding instanceof ITypeBinding) {
final ConstraintVariable2 variable= fModel.createTypeVariable((ITypeBinding) binding, new CompilationUnitRange(RefactoringASTParser.getCompilationUnit(node), new SourceRange(qualifier.getStartPosition(), qualifier.getLength())));
if (variable != null)
qualifier.setProperty(PROPERTY_CONSTRAINT_VARIABLE, variable);
}
binding= node.getName().resolveBinding();
if (binding instanceof IVariableBinding && !(parent instanceof ImportDeclaration))
endVisit((IVariableBinding) binding, qualifier, node);
else if (binding instanceof ITypeBinding && parent instanceof MethodDeclaration)
endVisit((ITypeBinding) binding, node);
}
示例8: initializeSelectedExpression
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
private void initializeSelectedExpression(CompilationUnitRewrite cuRewrite) throws JavaModelException {
IASTFragment fragment= ASTFragmentFactory.createFragmentForSourceRange(
new SourceRange(fSelectionStart, fSelectionLength), cuRewrite.getRoot(), cuRewrite.getCu());
if (! (fragment instanceof IExpressionFragment))
return;
//TODO: doesn't handle selection of partial Expressions
Expression expression= ((IExpressionFragment) fragment).getAssociatedExpression();
if (fragment.getStartPosition() != expression.getStartPosition()
|| fragment.getLength() != expression.getLength())
return;
if (Checks.isInsideJavadoc(expression))
return;
//TODO: exclude invalid selections
if (Checks.isEnumCase(expression.getParent()))
return;
fSelectedExpression= expression;
}
开发者ID:trylimits,项目名称:Eclipse-Postfix-Code-Completion,代码行数:22,代码来源:IntroduceParameterRefactoring.java
示例9: checkKey
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
private static RefactoringStatus checkKey(String key) {
RefactoringStatus result= new RefactoringStatus();
if (key == null)
result.addFatalError(NLSMessages.NLSRefactoring_null);
if (key.startsWith("!") || key.startsWith("#")) { //$NON-NLS-1$ //$NON-NLS-2$
RefactoringStatusContext context= new JavaStringStatusContext(key, new SourceRange(0, 0));
result.addWarning(NLSMessages.NLSRefactoring_warning, context);
}
if ("".equals(key.trim())) //$NON-NLS-1$
result.addFatalError(NLSMessages.NLSRefactoring_empty);
final String[] UNWANTED_STRINGS= {" ", ":", "\"", "\\", "'", "?", "="}; //$NON-NLS-7$ //$NON-NLS-6$ //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
//feature in resource bundle - does not work properly if keys have ":"
for (int i= 0; i < UNWANTED_STRINGS.length; i++) {
if (key.indexOf(UNWANTED_STRINGS[i]) != -1) {
String[] args= {key, UNWANTED_STRINGS[i]};
String msg= Messages.format(NLSMessages.NLSRefactoring_should_not_contain, args);
result.addError(msg);
}
}
return result;
}
示例10: getNameRange
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
public ISourceRange getNameRange() throws JavaModelException {
SourceMapper mapper= getSourceMapper();
if (mapper != null) {
ClassFile classFile = (ClassFile)getClassFile();
if (classFile != null) {
// ensure the class file's buffer is open so that source ranges are computed
classFile.getBuffer();
return mapper.getNameRange(this);
}
}
Object info = getElementInfo();
if (info instanceof AnnotationInfo) {
AnnotationInfo annotationInfo = (AnnotationInfo) info;
return new SourceRange(annotationInfo.nameStart, annotationInfo.nameEnd - annotationInfo.nameStart + 1);
}
return null;
}
示例11: exitAbstractMethod
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
private void exitAbstractMethod(int declarationEnd) {
if (this.typeDepth >= 0) {
IType currentType = this.types[this.typeDepth];
SourceRange sourceRange =
new SourceRange(
this.memberDeclarationStart[this.typeDepth],
declarationEnd - this.memberDeclarationStart[this.typeDepth] + 1);
IMethod method = currentType.getMethod(
this.memberName[this.typeDepth],
convertTypeNamesToSigs(this.methodParameterTypes[this.typeDepth]));
setSourceRange(
method,
sourceRange,
this.memberNameRange[this.typeDepth]);
setMethodParameterNames(
method,
this.methodParameterNames[this.typeDepth]);
}
}
示例12: isSourceAvailable
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
static boolean isSourceAvailable(ISourceReference sourceReference) {
try {
return SourceRange.isAvailable(sourceReference.getSourceRange());
} catch (JavaModelException e) {
return false;
}
}
示例13: getSourceRange
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
@Override
public ISourceRange getSourceRange() {
try {
return fMember.getSourceRange();
} catch (JavaModelException e) {
return new SourceRange(0, 0);
}
}
示例14: shortDescription
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
private String shortDescription(String javadoc) throws Exception {
IMember member = mock(IMember.class);
IOpenable openable = (IOpenable)mock(JavaElement.class, withSettings().extraInterfaces(IOpenable.class));
when(member.getOpenable()).thenReturn(openable);
IBuffer buffer = BufferManager.createBuffer(openable);
buffer.setContents(javadoc);
when(openable.getBuffer()).thenReturn(buffer);
when(member.getJavadocRange()).thenReturn(new SourceRange(0, javadoc.length()));
return javadocCommentProvider.getJavadocCommentShortDescription(member);
}
示例15: getSelection
import org.eclipse.jdt.core.SourceRange; //导入依赖的package包/类
private ISourceRange getSelection(ICompilationUnit cu) throws Exception {
String source = cu.getSource();
// Warning: this *includes* the SQUARE_BRACKET_OPEN!
int offset = source.indexOf(SQUARE_BRACKET_OPEN);
int end = source.indexOf(SQUARE_BRACKET_CLOSE);
return new SourceRange(offset + SQUARE_BRACKET_OPEN.length(), end - offset);
}