Community
Participate
Working Groups
Build 2.1-M3 Accessing the signature of a field member uses a public Signature entry point, and thus ends up rescanning the signature to check it is valid. However, since it came through an info, it is guaranteed to be already correct. Trusted clients should benefit from priviledged signature computation. ================== at org.eclipse.jdt.internal.compiler.parser.Scanner.<init> (Scanner.java:134) at org.eclipse.jdt.internal.compiler.parser.Scanner.<init> (Scanner.java:169) at org.eclipse.jdt.core.Signature.createCharArrayTypeSignature (Signature.java:438) at org.eclipse.jdt.core.Signature.createTypeSignature (Signature.java:417) at org.eclipse.jdt.internal.core.SourceFieldElementInfo.getTypeSignature (SourceFieldElementInfo.java:51) at org.eclipse.jdt.internal.core.SourceField.getTypeSignature (SourceField.java:55) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels.getFieldLabel (JavaElementLabels.java:426) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels.getElementLabel (JavaElementLabels.java:295) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels.getElementLabel (JavaElementLabels.java:272) at org.eclipse.jdt.internal.ui.viewsupport.JavaElementLabels.getTextLabel (JavaElementLabels.java:257) at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.getText (JavaUILabelProvider.java:118) at org.eclipse.jface.viewers.DecoratingLabelProvider.getText (DecoratingLabelProvider.java:100) at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:82) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem (AbstractTreeViewer.java:353) at org.eclipse.jface.viewers.StructuredViewer.updateItem (StructuredViewer.java:1132) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:833) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:847) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:847) at org.eclipse.jface.viewers.AbstractTreeViewer.labelProviderChanged (AbstractTreeViewer.java:935) at org.eclipse.jface.viewers.ContentViewer.handleLabelProviderChanged (ContentViewer.java:155) at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged (StructuredViewer.java:524) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer.handleL abelProviderChanged(JavaOutlinePage.java:635) at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged (ContentViewer.java:68) at org.eclipse.ui.internal.DecoratorManager.fireListeners (DecoratorManager.java:141) at org.eclipse.ui.internal.DecoratorManager.labelProviderChanged (DecoratorManager.java:431) at org.eclipse.jface.viewers.LabelProvider.fireLabelProviderChanged (LabelProvider.java:54) at org.eclipse.team.internal.ccvs.ui.CVSDecorator.access$2 (CVSDecorator.java:1) at org.eclipse.team.internal.ccvs.ui.CVSDecorator$3.run (CVSDecorator.java:406) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:31) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:94) - locked <07BD91D8> (a org.eclipse.swt.widgets.RunnableLock) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1669) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1414) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop (EventLoopProgressMonitor.java:88) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.subTask (EventLoopProgressMonitor.java:118) at org.eclipse.core.runtime.ProgressMonitorWrapper.subTask (ProgressMonitorWrapper.java:120) at org.eclipse.core.runtime.SubProgressMonitor.subTask (SubProgressMonitor.java:161) at org.eclipse.core.internal.resources.Workspace.endOperation (Workspace.java:890) at org.eclipse.core.internal.resources.Workspace.run (Workspace.java:1585) at org.eclipse.ui.actions.WorkspaceModifyOperation.run (WorkspaceModifyOperation.java:79) - locked <0760E278> (a org.eclipse.ui.texteditor.AbstractTextEditor$10) at org.eclipse.ui.texteditor.AbstractTextEditor.performSaveOperation (AbstractTextEditor.java:2596) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSaveOperatio n(CompilationUnitEditor.java:799) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave (CompilationUnitEditor.java:849) - locked <052D8F08> (a org.eclipse.jdt.internal.core.WorkingCopy) at org.eclipse.ui.internal.EditorManager$11.run(EditorManager.java:1015) at org.eclipse.ui.internal.EditorManager$8.run(EditorManager.java:884) at org.eclipse.jface.operation.ModalContext.runInCurrentThread (ModalContext.java:296) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:246) at org.eclipse.jface.window.ApplicationWindow$1.run (ApplicationWindow.java:391) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:65) at org.eclipse.jface.window.ApplicationWindow.run (ApplicationWindow.java:388) at org.eclipse.ui.internal.WorkbenchWindow.run (WorkbenchWindow.java:1146) at org.eclipse.ui.internal.EditorManager.runProgressMonitorOperation (EditorManager.java:890) at org.eclipse.ui.internal.EditorManager.saveEditor (EditorManager.java:1020) at org.eclipse.ui.internal.WorkbenchPage.saveEditor (WorkbenchPage.java:2050) at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:30) at org.eclipse.jface.action.Action.runWithEvent(Action.java:769) at org.eclipse.ui.internal.WWinKeyBindingService.invoke (WWinKeyBindingService.java:138) at org.eclipse.ui.internal.WWinKeyBindingService.pressed (WWinKeyBindingService.java:119) at org.eclipse.ui.internal.WWinKeyBindingService$5.widgetSelected (WWinKeyBindingService.java:366) at org.eclipse.ui.internal.AcceleratorMenu$2.handleEvent (AcceleratorMenu.java:55) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:77) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1692) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1410) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1435) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1418) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:831) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:247) at org.eclipse.core.launcher.Main.run(Main.java:703) at org.eclipse.core.launcher.Main.main(Main.java:539)
*** Bug 27330 has been marked as a duplicate of this bug. ***
this would be a nice improvement calls to Scanner() (via getTypeSignature) account for 23% of time needed to open a java editor
Changed implementation to not use Scanner at all and to not create unneeded objects.
Verified.