Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 175364 Details for
Bug 150980
[API] Selecting import declaration with space in outline highlights wrong range
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed fix + regression tests
patch_150980.txt (text/plain), 26.37 KB, created by
Olivier Thomann
on 2010-07-27 22:11:43 EDT
(
hide
)
Description:
Proposed fix + regression tests
Filename:
MIME Type:
Creator:
Olivier Thomann
Created:
2010-07-27 22:11:43 EDT
Size:
26.37 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core >Index: model/org/eclipse/jdt/core/IImportDeclaration.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IImportDeclaration.java,v >retrieving revision 1.24 >diff -u -r1.24 IImportDeclaration.java >--- model/org/eclipse/jdt/core/IImportDeclaration.java 27 Jun 2008 16:04:00 -0000 1.24 >+++ model/org/eclipse/jdt/core/IImportDeclaration.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2008 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -46,4 +46,18 @@ > * @return true if the import is on-demand, false otherwise > */ > boolean isOnDemand(); >+ >+/** >+ * Returns the source range of this import declaration's name, >+ * or <code>null</code> if this import declaration does not have >+ * associated source code (for example, a binary type). >+ * >+ * @exception JavaModelException if this element does not exist or if an >+ * exception occurs while accessing its corresponding resource. >+ * @return the source range of this import declaration's name, >+ * or <code>null</code> if this import declaration does not have >+ * associated source code (for example, a binary type) >+ * @since 3.7 >+ */ >+ISourceRange getNameRange() throws JavaModelException; > } >Index: model/org/eclipse/jdt/core/IPackageDeclaration.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IPackageDeclaration.java,v >retrieving revision 1.17 >diff -u -r1.17 IPackageDeclaration.java >--- model/org/eclipse/jdt/core/IPackageDeclaration.java 27 Jun 2008 16:04:01 -0000 1.17 >+++ model/org/eclipse/jdt/core/IPackageDeclaration.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2008 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -24,4 +24,18 @@ > * @return the name of the package the statement > */ > String getElementName(); >+/** >+ * Returns the source range of this package declaration's name, >+ * or <code>null</code> if this package declaration does not have >+ * associated source code (for example, a binary type). >+ * >+ * @exception JavaModelException if this element does not exist or if an >+ * exception occurs while accessing its corresponding resource. >+ * @return the source range of this package declaration's name, >+ * or <code>null</code> if this package declaration does not have >+ * associated source code (for example, a binary type) >+ * @since 3.7 >+ */ >+ISourceRange getNameRange() throws JavaModelException; >+ > } >Index: model/org/eclipse/jdt/internal/compiler/ISourceElementRequestor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/compiler/ISourceElementRequestor.java,v >retrieving revision 1.25 >diff -u -r1.25 ISourceElementRequestor.java >--- model/org/eclipse/jdt/internal/compiler/ISourceElementRequestor.java 16 Jan 2009 14:29:29 -0000 1.25 >+++ model/org/eclipse/jdt/internal/compiler/ISourceElementRequestor.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -120,6 +120,12 @@ > * @param declarationEnd > * This is the position of the ';' ending the import statement or > * the end of the comment following the import. >+ * @param nameStart >+ * This is the position of the first character of the import declaration's >+ * name. >+ * @param nameEnd >+ * This is the position of the last character of the import declaration's >+ * name. > * @param tokens > * This are the tokens of the import like specified in the source. > * @param onDemand >@@ -128,7 +134,7 @@ > * @param modifiers > * can be set to static from 1.5 on. > */ >- void acceptImport(int declarationStart, int declarationEnd, char[][] tokens, boolean onDemand, int modifiers); >+ void acceptImport(int declarationStart, int declarationEnd, int nameStart, int nameEnd, char[][] tokens, boolean onDemand, int modifiers); > > /* > * Table of line separator position. This table is passed once at the end of >Index: model/org/eclipse/jdt/internal/compiler/SourceElementNotifier.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/compiler/SourceElementNotifier.java,v >retrieving revision 1.6 >diff -u -r1.6 SourceElementNotifier.java >--- model/org/eclipse/jdt/internal/compiler/SourceElementNotifier.java 16 Jan 2009 14:29:29 -0000 1.6 >+++ model/org/eclipse/jdt/internal/compiler/SourceElementNotifier.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2008, 2009 IBM Corporation and others. >+ * Copyright (c) 2008, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -546,6 +546,8 @@ > this.requestor.acceptImport( > importReference.declarationSourceStart, > importReference.declarationSourceEnd, >+ importReference.sourceStart, >+ importReference.sourceEnd, > importReference.tokens, > (importReference.bits & ASTNode.OnDemand) != 0, > importReference.modifiers); >Index: model/org/eclipse/jdt/internal/compiler/SourceElementRequestorAdapter.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/compiler/SourceElementRequestorAdapter.java,v >retrieving revision 1.20 >diff -u -r1.20 SourceElementRequestorAdapter.java >--- model/org/eclipse/jdt/internal/compiler/SourceElementRequestorAdapter.java 27 Jun 2008 16:04:07 -0000 1.20 >+++ model/org/eclipse/jdt/internal/compiler/SourceElementRequestorAdapter.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2008 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -51,11 +51,13 @@ > } > > /** >- * @see ISourceElementRequestor#acceptImport(int, int, char[][], boolean, int) >+ * @see ISourceElementRequestor#acceptImport(int, int, int, int, char[][], boolean, int) > */ > public void acceptImport( > int declarationStart, > int declarationEnd, >+ int nameStart, >+ int nameEnd, > char[][] tokens, > boolean onDemand, > int modifiers) { >Index: model/org/eclipse/jdt/internal/core/AnnotatableInfo.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/AnnotatableInfo.java,v >retrieving revision 1.4 >diff -u -r1.4 AnnotatableInfo.java >--- model/org/eclipse/jdt/internal/core/AnnotatableInfo.java 7 Mar 2009 00:58:56 -0000 1.4 >+++ model/org/eclipse/jdt/internal/core/AnnotatableInfo.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -11,6 +11,8 @@ > package org.eclipse.jdt.internal.core; > > import org.eclipse.jdt.core.IAnnotation; >+import org.eclipse.jdt.core.ISourceRange; >+import org.eclipse.jdt.core.SourceRange; > > public class AnnotatableInfo extends MemberElementInfo { > >@@ -61,4 +63,7 @@ > protected void setNameSourceStart(int start) { > this.nameStart= start; > } >+ protected ISourceRange getNameRange() { >+ return new SourceRange(this.nameStart, this.nameEnd - this.nameStart + 1); >+ } > } >Index: model/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java,v >retrieving revision 1.86 >diff -u -r1.86 CompilationUnitStructureRequestor.java >--- model/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java 10 Nov 2009 16:53:03 -0000 1.86 >+++ model/org/eclipse/jdt/internal/core/CompilationUnitStructureRequestor.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -125,7 +125,7 @@ > /** > * @see ISourceElementRequestor > */ >-public void acceptImport(int declarationStart, int declarationEnd, char[][] tokens, boolean onDemand, int modifiers) { >+public void acceptImport(int declarationStart, int declarationEnd, int nameSourceStart, int nameSourceEnd, char[][] tokens, boolean onDemand, int modifiers) { > JavaElement parentHandle= (JavaElement) this.handleStack.peek(); > if (!(parentHandle.getElementType() == IJavaElement.COMPILATION_UNIT)) { > Assert.isTrue(false); // Should not happen >@@ -148,6 +148,8 @@ > ImportDeclarationElementInfo info = new ImportDeclarationElementInfo(); > info.setSourceRangeStart(declarationStart); > info.setSourceRangeEnd(declarationEnd); >+ info.setNameSourceStart(nameSourceStart); >+ info.setNameSourceEnd(nameSourceEnd); > info.setFlags(modifiers); > > addToChildren(this.importContainerInfo, handle); >@@ -184,6 +186,8 @@ > AnnotatableInfo info = new AnnotatableInfo(); > info.setSourceRangeStart(importReference.declarationSourceStart); > info.setSourceRangeEnd(importReference.declarationSourceEnd); >+ info.setNameSourceStart(importReference.sourceStart); >+ info.setNameSourceEnd(importReference.sourceEnd); > > addToChildren(parentInfo, handle); > this.newElements.put(handle, info); >Index: model/org/eclipse/jdt/internal/core/ImportDeclaration.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ImportDeclaration.java,v >retrieving revision 1.40 >diff -u -r1.40 ImportDeclaration.java >--- model/org/eclipse/jdt/internal/core/ImportDeclaration.java 7 Mar 2009 01:08:07 -0000 1.40 >+++ model/org/eclipse/jdt/internal/core/ImportDeclaration.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -77,6 +77,10 @@ > Assert.isTrue(false, "Should not be called"); //$NON-NLS-1$ > return 0; > } >+public ISourceRange getNameRange() throws JavaModelException { >+ ImportDeclarationElementInfo info = (ImportDeclarationElementInfo) getElementInfo(); >+ return info.getNameRange(); >+} > /* > * @see JavaElement#getPrimaryElement(boolean) > */ >Index: model/org/eclipse/jdt/internal/core/ImportDeclarationElementInfo.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ImportDeclarationElementInfo.java,v >retrieving revision 1.11 >diff -u -r1.11 ImportDeclarationElementInfo.java >--- model/org/eclipse/jdt/internal/core/ImportDeclarationElementInfo.java 7 Mar 2009 01:08:07 -0000 1.11 >+++ model/org/eclipse/jdt/internal/core/ImportDeclarationElementInfo.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.jdt.internal.core; > >+import org.eclipse.jdt.core.ISourceRange; >+import org.eclipse.jdt.core.SourceRange; > import org.eclipse.jdt.internal.compiler.env.ISourceImport; > > /** >@@ -18,5 +20,34 @@ > */ > public class ImportDeclarationElementInfo extends MemberElementInfo implements ISourceImport{ > >- // empty element info >+ /** >+ * The start position of this import declaration's name in the its >+ * openable's buffer. >+ */ >+ protected int nameStart= -1; >+ >+ /** >+ * The last position of this import declaration's name in the its >+ * openable's buffer. >+ */ >+ protected int nameEnd= -1; >+ >+ /** >+ * Sets the last position of this import declaration's name, relative >+ * to its openable's source buffer. >+ */ >+ protected void setNameSourceEnd(int end) { >+ this.nameEnd= end; >+ } >+ /** >+ * Sets the start position of this import declaration's name, relative >+ * to its openable's source buffer. >+ */ >+ protected void setNameSourceStart(int start) { >+ this.nameStart= start; >+ } >+ >+ protected ISourceRange getNameRange() { >+ return new SourceRange(this.nameStart, this.nameEnd - this.nameStart + 1); >+ } > } >Index: model/org/eclipse/jdt/internal/core/PackageDeclaration.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageDeclaration.java,v >retrieving revision 1.31 >diff -u -r1.31 PackageDeclaration.java >--- model/org/eclipse/jdt/internal/core/PackageDeclaration.java 27 Jun 2008 16:03:51 -0000 1.31 >+++ model/org/eclipse/jdt/internal/core/PackageDeclaration.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2008 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -11,7 +11,6 @@ > package org.eclipse.jdt.internal.core; > > import org.eclipse.jdt.core.*; >-import org.eclipse.jdt.core.IPackageDeclaration; > > /** > * @see IPackageDeclaration >@@ -44,6 +43,13 @@ > protected char getHandleMementoDelimiter() { > return JavaElement.JEM_PACKAGEDECLARATION; > } >+/** >+ * @see IPackageDeclaration#getNameRange() >+ */ >+public ISourceRange getNameRange() throws JavaModelException { >+ AnnotatableInfo info = (AnnotatableInfo) getElementInfo(); >+ return info.getNameRange(); >+} > /* > * @see JavaElement#getPrimaryElement(boolean) > */ >Index: model/org/eclipse/jdt/internal/core/SourceMapper.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SourceMapper.java,v >retrieving revision 1.149 >diff -u -r1.149 SourceMapper.java >--- model/org/eclipse/jdt/internal/core/SourceMapper.java 10 Dec 2009 16:00:06 -0000 1.149 >+++ model/org/eclipse/jdt/internal/core/SourceMapper.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -220,6 +220,8 @@ > public void acceptImport( > int declarationStart, > int declarationEnd, >+ int nameStart, >+ int nameEnd, > char[][] tokens, > boolean onDemand, > int modifiers) { >Index: model/org/eclipse/jdt/internal/core/jdom/SimpleDOMBuilder.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/jdom/SimpleDOMBuilder.java,v >retrieving revision 1.50 >diff -u -r1.50 SimpleDOMBuilder.java >--- model/org/eclipse/jdt/internal/core/jdom/SimpleDOMBuilder.java 27 Jun 2008 16:04:07 -0000 1.50 >+++ model/org/eclipse/jdt/internal/core/jdom/SimpleDOMBuilder.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2008 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -39,7 +39,7 @@ > // nothing to do > } > >-public void acceptImport(int declarationStart, int declarationEnd, char[][] tokens, boolean onDemand, int modifiers) { >+public void acceptImport(int declarationStart, int declarationEnd, int nameStart, int nameEnd, char[][] tokens, boolean onDemand, int modifiers) { > int[] sourceRange = {declarationStart, declarationEnd}; > String importName = new String(CharOperation.concatWith(tokens, '.')); > /** name is set to contain the '*' */ >Index: search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.java,v >retrieving revision 1.48 >diff -u -r1.48 SourceIndexerRequestor.java >--- search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.java 16 Jan 2009 14:29:29 -0000 1.48 >+++ search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexerRequestor.java 27 Jul 2010 20:39:46 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -74,9 +74,9 @@ > this.indexer.addFieldReference(fieldName); > } > /** >- * @see ISourceElementRequestor#acceptImport(int, int, char[][], boolean, int) >+ * @see ISourceElementRequestor#acceptImport(int, int, int, int, char[][], boolean, int) > */ >-public void acceptImport(int declarationStart, int declarationEnd, char[][] tokens, boolean onDemand, int modifiers) { >+public void acceptImport(int declarationStart, int declarationEnd, int nameStart, int nameEnd, char[][] tokens, boolean onDemand, int modifiers) { > // imports have already been reported while creating the ImportRef node (see SourceElementParser#comsume*ImportDeclarationName() methods) > } > /** >#P org.eclipse.jdt.core.tests.compiler >Index: src/org/eclipse/jdt/core/tests/compiler/parser/SourceElementParserTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/SourceElementParserTest.java,v >retrieving revision 1.46 >diff -u -r1.46 SourceElementParserTest.java >--- src/org/eclipse/jdt/core/tests/compiler/parser/SourceElementParserTest.java 11 May 2010 18:53:51 -0000 1.46 >+++ src/org/eclipse/jdt/core/tests/compiler/parser/SourceElementParserTest.java 27 Jul 2010 20:39:47 -0000 >@@ -93,6 +93,8 @@ > public void acceptImport( > int declarationStart, > int declarationEnd, >+ int nameStart, >+ int nameEnd, > char[][] tokens, > boolean onDemand, > int modifiers) { >Index: src/org/eclipse/jdt/core/tests/compiler/parser/TestSourceElementRequestor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/parser/TestSourceElementRequestor.java,v >retrieving revision 1.22 >diff -u -r1.22 TestSourceElementRequestor.java >--- src/org/eclipse/jdt/core/tests/compiler/parser/TestSourceElementRequestor.java 27 May 2008 23:53:59 -0000 1.22 >+++ src/org/eclipse/jdt/core/tests/compiler/parser/TestSourceElementRequestor.java 27 Jul 2010 20:39:47 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2008 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -41,7 +41,7 @@ > /** > * acceptImport method comment. > */ >-public void acceptImport(int declarationStart, int declarationEnd, char[][] tokens, boolean onDemand, int modifiers) {} >+public void acceptImport(int declarationStart, int declarationEnd, int nameStart, int nameEnd, char[][] tokens, boolean onDemand, int modifiers) {} > /** > * acceptLineSeparatorPositions method comment. > */ >#P org.eclipse.jdt.core.tests.model >Index: src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java,v >retrieving revision 1.240 >diff -u -r1.240 AbstractJavaModelTests.java >--- src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java 28 Jun 2010 13:28:41 -0000 1.240 >+++ src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java 27 Jul 2010 20:39:47 -0000 >@@ -1938,6 +1938,12 @@ > case IJavaElement.ANNOTATION: > nameRange = ((IAnnotation) element).getNameRange(); > break; >+ case IJavaElement.PACKAGE_DECLARATION : >+ nameRange = ((IPackageDeclaration) element).getNameRange(); >+ break; >+ case IJavaElement.IMPORT_DECLARATION : >+ nameRange = ((IImportDeclaration) element).getNameRange(); >+ break; > default: > nameRange = ((IMember) element).getNameRange(); > break; >Index: src/org/eclipse/jdt/core/tests/model/GetSourceTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/GetSourceTests.java,v >retrieving revision 1.27 >diff -u -r1.27 GetSourceTests.java >--- src/org/eclipse/jdt/core/tests/model/GetSourceTests.java 28 Apr 2009 17:46:10 -0000 1.27 >+++ src/org/eclipse/jdt/core/tests/model/GetSourceTests.java 27 Jul 2010 20:39:47 -0000 >@@ -1,5 +1,5 @@ > /******************************************************************************* >- * Copyright (c) 2000, 2009 IBM Corporation and others. >+ * Copyright (c) 2000, 2010 IBM Corporation and others. > * All rights reserved. This program and the accompanying materials > * are made available under the terms of the Eclipse Public License v1.0 > * which accompanies this distribution, and is available at >@@ -476,6 +476,54 @@ > } > > /* >+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=150980 >+ */ >+ public void testNameRange09() throws CoreException { // was testNameRangeAnonymous >+ try { >+ String cuSource = >+ "package p . q . r. s ;\n" + >+ "public class Y {\n" + >+ " void foo() {\n" + >+ " Y y = new Y() {};\n" + >+ " class C {\n" + >+ " }\n"+ >+ " }\n" + >+ "}"; >+ createFolder("/P/p/q/r/s/"); >+ createFile("/P/p/q/r/s/Y.java", cuSource); >+ final IPackageDeclaration[] packageDeclarations = getCompilationUnit("/P/p/q/r/s/Y.java").getPackageDeclarations(); >+ assertEquals("Wrong size", 1, packageDeclarations.length); >+ >+ String actualSource = getNameSource(cuSource, packageDeclarations[0]); >+ String expectedSource = "p . q . r. s"; >+ assertSourceEquals("Unexpected source'", expectedSource, actualSource); >+ } finally { >+ deleteFile("/P/p/q/r/s/Y.java"); >+ } >+ } >+ >+ /* >+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=150980 >+ */ >+ public void testNameRange10() throws CoreException { // was testNameRangeAnonymous >+ try { >+ String cuSource = >+ "import java . lang . * ;\n" + >+ "public class Y {\n" + >+ "}"; >+ createFile("/P/Y.java", cuSource); >+ final IImportDeclaration[] imports = getCompilationUnit("/P/Y.java").getImports(); >+ assertEquals("Wrong size", 1, imports.length); >+ >+ String actualSource = getNameSource(cuSource, imports[0]); >+ String expectedSource = "java . lang"; >+ assertSourceEquals("Unexpected source'", expectedSource, actualSource); >+ } finally { >+ deleteFile("/P/Y.java"); >+ } >+ } >+ >+ /* > * Ensures that the source range for an annotation on a local variable is correct. > * (regression test for https://bugs.eclipse.org/bugs/show_bug.cgi?id=209823) > */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 150980
:
175364
|
175422
|
175423