Bug 19424 - JDT processing deltas for non-java files in non-java projects
Summary: JDT processing deltas for non-java files in non-java projects
Status: RESOLVED WONTFIX
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 1.0   Edit
Hardware: Other other
: P3 normal (vote)
Target Milestone: 2.0 F3   Edit
Assignee: Philipe Mulet CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-06-05 16:47 EDT by Michael Valenta CLA
Modified: 2002-06-06 04:42 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Valenta CLA 2002-06-05 16:47:35 EDT
I find it strange that JDT delta notification is processing non-java files in 
non-java projects. I was trying to debug an ArrayIndexOutOfBounds exception but 
every time I changed a file, the exception was thrown (and handled properly) by 
JDT. Why wouldn't JDT just skip files that ae not in java projects?

Here's the stack trace of an ArrayIndexOutOfBounds exception for a *.txt file 
in a non-java project.

Thread [main] (Suspended (exception java.lang.ArrayIndexOutOfBoundsException))
	org.eclipse.jdt.internal.compiler.parser.Scanner.getNextCharAsJavaIdenti
fierPart() line: 590
	org.eclipse.jdt.internal.compiler.parser.Scanner.scanIdentifierOrKeyword
() line: 2009
	org.eclipse.jdt.internal.compiler.parser.Scanner.getNextToken() line: 
1144
	org.eclipse.jdt.core.JavaConventions.scannedIdentifier
(java.lang.String) line: 92
	org.eclipse.jdt.core.JavaConventions.validateIdentifier
(java.lang.String) line: 220
	org.eclipse.jdt.internal.core.Util.isValidFolderNameForPackage
(java.lang.String) line: 546
	org.eclipse.jdt.internal.core.Util.packageName
(org.eclipse.core.runtime.IPath) line: 731
	org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath
(org.eclipse.core.resources.IResource, org.eclipse.jdt.core.IJavaProject) line: 
338
	org.eclipse.jdt.internal.core.JavaModelManager.create
(org.eclipse.core.resources.IFolder, org.eclipse.jdt.core.IJavaProject) line: 
221
	org.eclipse.jdt.internal.core.JavaModelManager.create
(org.eclipse.core.resources.IResource, org.eclipse.jdt.core.IJavaProject) line: 
158
	org.eclipse.jdt.core.JavaCore.create
(org.eclipse.core.resources.IResource) line: 356
	org.eclipse.jdt.internal.core.DeltaProcessor.performPreBuildCheck
(org.eclipse.core.resources.IResourceDelta, org.eclipse.jdt.core.IJavaElement) 
line: 921
	org.eclipse.jdt.internal.core.DeltaProcessor.performPreBuildCheck
(org.eclipse.core.resources.IResourceDelta, org.eclipse.jdt.core.IJavaElement) 
line: 1042
	org.eclipse.jdt.internal.core.DeltaProcessor.performPreBuildCheck
(org.eclipse.core.resources.IResourceDelta, org.eclipse.jdt.core.IJavaElement) 
line: 1042
	org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged
(org.eclipse.core.resources.IResourceChangeEvent) line: 1274
	org.eclipse.core.internal.events.NotificationManager$1.run() line: 128
	org.eclipse.core.internal.runtime.InternalPlatform.run
(org.eclipse.core.runtime.ISafeRunnable) line: 802
	org.eclipse.core.runtime.Platform.run
(org.eclipse.core.runtime.ISafeRunnable) line: 416
	org.eclipse.core.internal.events.NotificationManager.notify
(org.eclipse.core.internal.events.ResourceChangeListenerList$ListenerEntry[], 
org.eclipse.core.resources.IResourceChangeEvent, boolean) line: 143
	org.eclipse.core.internal.events.NotificationManager.broadcastChanges
(org.eclipse.core.internal.watson.ElementTree, int, boolean, boolean) line: 67
	org.eclipse.core.internal.resources.Workspace.broadcastChanges
(org.eclipse.core.internal.watson.ElementTree, int, boolean, boolean, 
org.eclipse.core.runtime.IProgressMonitor) line: 133
	org.eclipse.core.internal.resources.Workspace.endOperation(boolean, 
org.eclipse.core.runtime.IProgressMonitor) line: 730
	org.eclipse.core.internal.resources.Workspace.run
(org.eclipse.core.resources.IWorkspaceRunnable, 
org.eclipse.core.runtime.IProgressMonitor) line: 1366
	org.eclipse.ui.texteditor.AbstractTextEditor$9
(org.eclipse.ui.actions.WorkspaceModifyOperation).run
(org.eclipse.core.runtime.IProgressMonitor) line: 78
	org.eclipse.ui.editors.text.TextEditor
(org.eclipse.ui.texteditor.AbstractTextEditor).performSaveOperation
(org.eclipse.ui.actions.WorkspaceModifyOperation, 
org.eclipse.core.runtime.IProgressMonitor) line: 2090
	org.eclipse.ui.editors.text.TextEditor
(org.eclipse.ui.texteditor.AbstractTextEditor).doSave
(org.eclipse.core.runtime.IProgressMonitor) line: 1968
	org.eclipse.ui.internal.EditorManager$11.run
(org.eclipse.core.runtime.IProgressMonitor) line: 979
	org.eclipse.ui.internal.EditorManager$8.run
(org.eclipse.core.runtime.IProgressMonitor) line: 848
	org.eclipse.jface.operation.ModalContext.runInCurrentThread
(org.eclipse.jface.operation.IRunnableWithProgress, 
org.eclipse.core.runtime.IProgressMonitor) line: 299
	org.eclipse.jface.operation.ModalContext.run
(org.eclipse.jface.operation.IRunnableWithProgress, boolean, 
org.eclipse.core.runtime.IProgressMonitor, org.eclipse.swt.widgets.Display) 
line: 249
	org.eclipse.jface.window.ApplicationWindow$1.run() line: 384
	org.eclipse.swt.custom.BusyIndicator.showWhile
(org.eclipse.swt.widgets.Display, java.lang.Runnable) line: 64
	org.eclipse.ui.internal.WorkbenchWindow
(org.eclipse.jface.window.ApplicationWindow).run(boolean, boolean, 
org.eclipse.jface.operation.IRunnableWithProgress) line: 381
	org.eclipse.ui.internal.WorkbenchWindow.run(boolean, boolean, 
org.eclipse.jface.operation.IRunnableWithProgress) line: 1062
	org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation
(java.lang.String, org.eclipse.jface.operation.IRunnableWithProgress, 
org.eclipse.ui.IWorkbenchWindow) line: 854
	org.eclipse.ui.internal.EditorManager.saveEditor
(org.eclipse.ui.IEditorPart, boolean) line: 984
	org.eclipse.ui.internal.WorkbenchPage.saveEditor
(org.eclipse.ui.IEditorPart, boolean) line: 1913
	org.eclipse.ui.internal.SaveAction.run() line: 32
	org.eclipse.ui.internal.SaveAction
(org.eclipse.jface.action.Action).runWithEvent(org.eclipse.swt.widgets.Event) 
line: 749
	org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(org.eclipse.swt.widgets.Event) line: 407
	org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(org.eclipse.swt.widgets.Event) line: 361
	org.eclipse.jface.action.ActionContributionItem.access$0
(org.eclipse.jface.action.ActionContributionItem, 
org.eclipse.swt.widgets.Event) line: 352
	org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEve
nt(org.eclipse.swt.widgets.Event) line: 47
	org.eclipse.swt.widgets.EventTable.sendEvent
(org.eclipse.swt.widgets.Event) line: 75
	org.eclipse.swt.widgets.MenuItem
(org.eclipse.swt.widgets.Widget).sendEvent(org.eclipse.swt.widgets.Event) line: 
825
	org.eclipse.swt.widgets.Display.runDeferredEvents() line: 1527
	org.eclipse.swt.widgets.Display.readAndDispatch() line: 1289
	org.eclipse.ui.internal.Workbench.runEventLoop() line: 1177
	org.eclipse.ui.internal.Workbench.run(java.lang.Object) line: 1160
	org.eclipse.core.internal.boot.InternalBootLoader.run(java.lang.String, 
java.net.URL, java.lang.String, java.lang.String[], java.lang.Runnable) line: 
739
	org.eclipse.core.boot.BootLoader.run(java.lang.String, java.net.URL, 
java.lang.String, java.lang.String[]) line: 432
	EclipseRuntimeLauncher.main(java.lang.String[]) line: 24
Comment 1 Philipe Mulet CLA 2002-06-06 04:42:13 EDT
Good question. Any project may contain an archive file which may be referenced 
by other projects on their classpath (internal JAR). Thus we have to consider 
their delta so as to find out if this is a case. 

Closing