eclipse-plugin issueshttps://gitlab.ow2.org/asm/eclipse-plugin/-/issues2017-10-05T18:33:19Zhttps://gitlab.ow2.org/asm/eclipse-plugin/-/issues/313512Bytecode outliner doesn't seem to work when there's no source2017-10-05T18:33:19ZjblackburnBytecode outliner doesn't seem to work when there's no source```
When debugging and I reach a file with no source, I'm unable to convince
bytcode outliner to show bytecode. I just get the normal "Source Not Found"
editor (and the bytecode view is empty). I've set up Bytecode Outliner as the
defa...```
When debugging and I reach a file with no source, I'm unable to convince
bytcode outliner to show bytecode. I just get the normal "Source Not Found"
editor (and the bytecode view is empty). I've set up Bytecode Outliner as the
default for *.class in the filetype associations as detailed on the home page,
but to no avail.
Bytecode is successfully shown when there's source already available...
I'm using Eclipse 3.4 and Bytecode outliner 2.2.8
Cheers,
James
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/312307Eclipse 3.3.2: Debug: Stepping through code does not change the current line2009-01-06T14:48:11ZjthoennesEclipse 3.3.2: Debug: Stepping through code does not change the current line```
Hello,
this is Eclipse 3.3.2 related, I do hope you can correct this nevertheless.
If I debug class files without source code, the class file is correctly
disassembled (with correct line numbers etc), but clicking on the stack fram...```
Hello,
this is Eclipse 3.3.2 related, I do hope you can correct this nevertheless.
If I debug class files without source code, the class file is correctly
disassembled (with correct line numbers etc), but clicking on the stack frame
entry or stepping through the code always displays the disassembled file at the
first line instead of moving to the correct code line.
Do I miss something or is this a know bug?
Thanks, Jörg
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/311109Eclipse Plugin Error (Bytecode Outline): saying resource is not on project's ...2008-09-12T09:53:52ZaedevdweijEclipse Plugin Error (Bytecode Outline): saying resource is not on project's build path```
Hi,
I just installed the latest the Bytecode Outline plugin for Eclipse through the
Update Manager.
Comparing two class files works. However the following error message is
displayed when I want to compare two Java files in a Java p...```
Hi,
I just installed the latest the Bytecode Outline plugin for Eclipse through the
Update Manager.
Comparing two class files works. However the following error message is
displayed when I want to compare two Java files in a Java project: Error
(Bytecode Outline) src/my/package/MyClass.java [in test-bytecode-manipulation]
is not on its project's build path
and a second: Error (Bytecode Outline) src/my/package/MyClass2.java [in
test-bytecode-manipulation] is not on its project's build path
Both have the same Stacktrace:
Java Model Exception: Java Model Status [ src/my/package/MyClass.java [in
test-bytecode-manipulation] is not on its project's build path]
at
org.eclipse.jdt.internal.core.PackageFragmentRoot.getRawClasspathEntry(PackageFragmentRoot.java:553)
at de.loskutov.bco.ui.JdtUtils.isPackageRoot(JdtUtils.java:686)
at de.loskutov.bco.ui.JdtUtils.getPackageOutputPath(JdtUtils.java:661)
at de.loskutov.bco.ui.JdtUtils.getByteCodePath(JdtUtils.java:704)
at
de.loskutov.bco.ui.actions.BytecodeAction.createTypedElement(BytecodeAction.java:83)
at de.loskutov.bco.ui.actions.BytecodeAction.exec(BytecodeAction.java:66)
at
de.loskutov.bco.ui.actions.CompareBytecodeAction.run(CompareBytecodeAction.java:28)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3033)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
I am using the following software:
-eclipse-jee-ganymede-linux-gtk-x86_64
-Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_15-b04, mixed mode)
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/308066org.eclipse.jface.text.BadLocationException inside the BytecodeOutline2007-12-17T17:08:01Zoliviertorg.eclipse.jface.text.BadLocationException inside the BytecodeOutline```
Using eclipse.buildId=I20071211-0010, I sometimes get the following error.
Unfortunately I don't have steps to reproduce.
org.eclipse.jface.text.BadLocationException
at
org.eclipse.jface.text.ListLineTracker.getLineNumberOfOffset(Li...```
Using eclipse.buildId=I20071211-0010, I sometimes get the following error.
Unfortunately I don't have steps to reproduce.
org.eclipse.jface.text.BadLocationException
at
org.eclipse.jface.text.ListLineTracker.getLineNumberOfOffset(ListLineTracker.java:140)
at
org.eclipse.jface.text.AbstractLineTracker.getLineNumberOfOffset(AbstractLineTracker.java:161)
at
org.eclipse.jface.text.AbstractDocument.getLineOfOffset(AbstractDocument.java:842)
at
de.loskutov.bco.editors.BytecodeClassFileEditor.getElementAt(BytecodeClassFileEditor.java:345)
at
de.loskutov.bco.editors.BytecodeClassFileEditor.adjustHighlightRange(BytecodeClassFileEditor.java:476)
at
org.eclipse.ui.texteditor.AbstractTextEditor.selectAndReveal(AbstractTextEditor.java:5984)
at
org.eclipse.ui.texteditor.AbstractTextEditor.selectAndReveal(AbstractTextEditor.java:5958)
at
org.eclipse.jdt.internal.ui.search.JavaSearchResultPage.showMatch(JavaSearchResultPage.java:188)
at
org.eclipse.search.ui.text.AbstractTextSearchViewPage$7.run(AbstractTextSearchViewPage.java:869)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at
org.eclipse.search.ui.text.AbstractTextSearchViewPage.showMatch(AbstractTextSearchViewPage.java:872)
at
org.eclipse.search.ui.text.AbstractTextSearchViewPage.showCurrentMatch(AbstractTextSearchViewPage.java:937)
at
org.eclipse.search.ui.text.AbstractTextSearchViewPage.gotoNextMatch(AbstractTextSearchViewPage.java:902)
at
org.eclipse.search.ui.text.AbstractTextSearchViewPage.handleOpen(AbstractTextSearchViewPage.java:1373)
at
org.eclipse.jdt.internal.ui.search.JavaSearchResultPage.handleOpen(JavaSearchResultPage.java:542)
at
org.eclipse.search.ui.text.AbstractTextSearchViewPage$5.open(AbstractTextSearchViewPage.java:691)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:857)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
at
org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
at
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:952)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3750)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3361)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2381)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2345)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2211)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:473)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:468)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:362)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:612)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:561)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:501)
at org.eclipse.equinox.launcher.Main.run(Main.java:1239)
at org.eclipse.equinox.launcher.Main.main(Main.java:1215)
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/310471bytecode view panel doesn't show anything2008-07-02T14:18:41ZValerio Schiavonibytecode view panel doesn't show anything```
Installing the plugin from this update site:
http://andrei.gmxhome.de/eclipse/
for 3.4 stable release.
If i open a java class in the default java editor, its bytecode (or its
ASMified version) is not shown in the panel.
``````
Installing the plugin from this update site:
http://andrei.gmxhome.de/eclipse/
for 3.4 stable release.
If i open a java class in the default java editor, its bytecode (or its
ASMified version) is not shown in the panel.
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/315507visitMax must be in generated ASMifier code 2010-09-28T18:42:27ZclefruvisitMax must be in generated ASMifier code ```
When disabling show local variables, the
mv.visitMaxs(?,?) call is omitted from the generated code in ASMifier view.
These calls are necessary for the generated code to produce a valid class file.
Otherwise, the stack size and lo...```
When disabling show local variables, the
mv.visitMaxs(?,?) call is omitted from the generated code in ASMifier view.
These calls are necessary for the generated code to produce a valid class file.
Otherwise, the stack size and local variable size is set to zero and the VM
rejects the class file.
If my guess is correct that CommentedASMifierClassVisitor generates the code,
the "if(showLocals)" check in visitMaxs should probably not be there.
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/309087Fail to install eclipse plugin with Eclipse 3.4 M62008-04-10T22:54:29Zg_korlandFail to install eclipse plugin with Eclipse 3.4 M6```
When trying to install using the following site:
http://download.forge.objectweb.org/eclipse-update/
The following error is showed:
An error occurred while installing the items
The manifest is missing for: [R]org.objectweb.asm 2....```
When trying to install using the following site:
http://download.forge.objectweb.org/eclipse-update/
The following error is showed:
An error occurred while installing the items
The manifest is missing for: [R]org.objectweb.asm 2.2.1
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/306253synchronized(this) block causes: java.lang.ClassFormatError: Illegal excepti...2006-10-05T10:22:16Zrbygravesynchronized(this) block causes: java.lang.ClassFormatError: Illegal exception table range in class file```
I am using the bytecode outliner plugin in Eclispe to create ASM code from java
code. I am using ASM v2.
I have some code that works fine. If I then add a synchronized(this) block into
the code and use the resulting ASM code generat...```
I am using the bytecode outliner plugin in Eclispe to create ASM code from java
code. I am using ASM v2.
I have some code that works fine. If I then add a synchronized(this) block into
the code and use the resulting ASM code generated from the bytecode outliner I
get the following exception.
Exception in thread "main" java.lang.ClassFormatError: Illegal exception table
range in class file app/data/EBug$$EntityBean
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at
The Java code this is based on is:
private Object ebeanGetIdentity() {
if (ebeanIdentity != null || getId() == null) {
if (ebeanIdentity == null) {
synchronized(this) {
//if (ebeanIdentity == null){
ebeanIdentity = new Object();
//}
}
}
return ebeanIdentity;
}
return getId();
}
If I comment out the synchronized(this) { and its closing } then the resulting
ASM code works fine. Putting back the synchronized block and I get the
exception above.
I will upload a file that has the resulting ASM code in two methods. One of
the methods works (no synchronized) and the other results in the exception above.
thanks, Rob.
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/306238Comparison editor ignore options to hide locals and line info2006-10-01T06:51:10ZekuleshovComparison editor ignore options to hide locals and line info```
Comparison editor ignore options to hide locals and line info.
``````
Comparison editor ignore options to hide locals and line info.
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/304657errors in eclipse for project root2006-02-08T23:11:30ZAnonymouserrors in eclipse for project root```
eclipse 3.1.1
bco 2.0.2
the bco causes problems of this type when opening a class without source:
Java Model Exception: Java Model Status [<project root> [in Groovy Core] is not
on its project's build path]
at
org.eclipse.jdt...```
eclipse 3.1.1
bco 2.0.2
the bco causes problems of this type when opening a class without source:
Java Model Exception: Java Model Status [<project root> [in Groovy Core] is not
on its project's build path]
at
org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:475)
at
org.eclipse.jdt.internal.core.PackageFragmentRoot.buildStructure(PackageFragmentRoot.java:170)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233)
at org.eclipse.jdt.internal.core.Openable.openParent(Openable.java:450)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:222)
at org.eclipse.jdt.internal.core.Openable.openParent(Openable.java:450)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:222)
at org.eclipse.jdt.internal.core.BinaryMember.generateInfos(BinaryMember.java:46)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218)
at org.eclipse.jdt.internal.core.BinaryType.isInterface(BinaryType.java:655)
at org.eclipse.jdt.internal.core.ClassFile.isInterface(ClassFile.java:511)
at de.loskutov.bco.ui.JdtUtils.isAbstractOrInterface(JdtUtils.java:934)
at
de.loskutov.bco.views.BytecodeOutlineView.checkVerifyAction(BytecodeOutlineView.java:298)
at
de.loskutov.bco.views.BytecodeOutlineView.refreshView(BytecodeOutlineView.java:887)
at de.loskutov.bco.views.BytecodeOutlineView$13.run(BytecodeOutlineView.java:561)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:996)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
at
org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:441)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
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:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/304659bad location exception when highliting a row in the asm view for a class with...2006-02-08T23:27:07ZAnonymousbad location exception when highliting a row in the asm view for a class without source```
when higliting a row in the bco I get sometimes this error. It may be related
to the fact that there is no source for that class and with that also no java
editor, just the class file editor.
org.eclipse.jface.text.BadLocationExcept...```
when higliting a row in the bco I get sometimes this error. It may be related
to the fact that there is no source for that class and with that also no java
editor, just the class file editor.
org.eclipse.jface.text.BadLocationException
at
org.eclipse.jface.text.AbstractLineTracker.getLineInformation(AbstractLineTracker.java:251)
at
org.eclipse.jface.text.AbstractDocument.getLineInformation(AbstractDocument.java:887)
at
de.loskutov.bco.views.BytecodeOutlineView.setSelectionInJavaEditor(BytecodeOutlineView.java:1094)
at de.loskutov.bco.views.BytecodeOutlineView$8.run(BytecodeOutlineView.java:470)
at
de.loskutov.bco.views.BytecodeOutlineView$7.widgetSelected(BytecodeOutlineView.java:462)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
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:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/304833bytecode-outline crashes under eclipse 3.2M5(a)2006-03-20T13:42:19ZAnonymousbytecode-outline crashes under eclipse 3.2M5(a)```
Maybe that's already well known, but since it wasn't listed here under open
bugs, I took the liberty to post this:
Trying to run bytecode-outline (V2.0.2) under the latest eclipse version
(3.2M5) causes the following execption:
-...```
Maybe that's already well known, but since it wasn't listed here under open
bugs, I took the liberty to post this:
Trying to run bytecode-outline (V2.0.2) under the latest eclipse version
(3.2M5) causes the following execption:
-----------------------------------------
!ENTRY org.eclipse.ui.workbench 4 0 2006-03-20 13:34:05.908
!MESSAGE Unable to create view ID de.loskutov.bco.views.BytecodeOutlineView:
org.eclipse.ui.internal.layout.TrimLayout.addTrim
(Lorg/eclipse/swt/widgets/Control;I)V
!STACK 0
java.lang.NoSuchMethodError: org.eclipse.ui.internal.layout.TrimLayout.addTrim
(Lorg/eclipse/swt/widgets/Control;I)V
at de.loskutov.bco.views.BytecodeOutlineView.createPartControl
(BytecodeOutlineView.java:366)
at org.eclipse.ui.internal.ViewReference.createPartHelper
(ViewReference.java:331)
at org.eclipse.ui.internal.ViewReference.createPart
(ViewReference.java:196)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart
(WorkbenchPartReference.java:555)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:285)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:514)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible
(PresentablePart.java:140)
at
org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select
(PresentablePartFolder.java:266)
at
org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select
(LeftToRightTabOrder.java:65)
at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart
(TabbedStackPresentation.java:394)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection
(PartStack.java:1140)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:621)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:530)
at org.eclipse.ui.internal.PartSashContainer.createControl
(PartSashContainer.java:557)
at org.eclipse.ui.internal.PerspectiveHelper.activate
(PerspectiveHelper.java:242)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:814)
at org.eclipse.ui.internal.WorkbenchPage.onActivate
(WorkbenchPage.java:2235)
at org.eclipse.ui.internal.WorkbenchWindow$6.run
(WorkbenchWindow.java:2512)
at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:69)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage
(WorkbenchWindow.java:2494)
at org.eclipse.ui.internal.WorkbenchWindow.restoreState
(WorkbenchWindow.java:1931)
at org.eclipse.ui.internal.Workbench.doRestoreState
(Workbench.java:2821)
at org.eclipse.ui.internal.Workbench.access$14(Workbench.java:2770)
at org.eclipse.ui.internal.Workbench$19.run(Workbench.java:1667)
at org.eclipse.ui.internal.Workbench.runStartupWithProgress
(Workbench.java:1408)
at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1665)
at org.eclipse.ui.internal.Workbench.access$12(Workbench.java:1636)
at org.eclipse.ui.internal.Workbench$17.run(Workbench.java:1516)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:816)
at org.eclipse.ui.internal.Workbench.restoreState(Workbench.java:1460)
at org.eclipse.ui.internal.WorkbenchConfigurer.restoreState
(WorkbenchConfigurer.java:183)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows
(WorkbenchAdvisor.java:700)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1069)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1832)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:417)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run
(IDEApplication.java:106)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:99)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication
(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start
(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:374)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:169)
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:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:338)
at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
-----------------------------
I guess another victim of some major changes in eclipse's UI code. I had to go
through the same hassle with a plugin that I had written...
Michael
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/304658[bco view] Problems with class files from non-java elements2006-02-08T23:19:13ZAnonymous[bco view] Problems with class files from non-java elements```
putting the class from
http://forge.objectweb.org/tracker/index.php?func=detail&amp;aid=304657&amp;group_id=23&amp;atid=100023
in a src-directory causes this error:
Java Model Exception: Java Model Status [Operation not supported fo...```
putting the class from
http://forge.objectweb.org/tracker/index.php?func=detail&aid=304657&group_id=23&atid=100023
in a src-directory causes this error:
Java Model Exception: Java Model Status [Operation not supported for specified
element type(s):scripts [in Groovy Core]]
at
org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:475)
at org.eclipse.jdt.internal.core.ClassFile.buildStructure(ClassFile.java:80)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:233)
at org.eclipse.jdt.internal.core.BinaryMember.generateInfos(BinaryMember.java:46)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:488)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:232)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:218)
at org.eclipse.jdt.internal.core.BinaryType.isInterface(BinaryType.java:655)
at org.eclipse.jdt.internal.core.ClassFile.isInterface(ClassFile.java:511)
at de.loskutov.bco.ui.JdtUtils.isAbstractOrInterface(JdtUtils.java:934)
at
de.loskutov.bco.views.BytecodeOutlineView.checkVerifyAction(BytecodeOutlineView.java:298)
at
de.loskutov.bco.views.BytecodeOutlineView.refreshView(BytecodeOutlineView.java:887)
at
de.loskutov.bco.views.BytecodeOutlineView.handlePartVisible(BytecodeOutlineView.java:763)
at de.loskutov.bco.views.EditorListener.partVisible(EditorListener.java:108)
at org.eclipse.ui.internal.PartListenerList2$7.run(PartListenerList2.java:168)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
at org.eclipse.core.runtime.Platform.run(Platform.java:783)
at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:54)
at
org.eclipse.ui.internal.PartListenerList2.firePartVisible(PartListenerList2.java:166)
at org.eclipse.ui.internal.PartService.firePartVisible(PartService.java:121)
at org.eclipse.ui.internal.WWinPartService$1.partVisible(WWinPartService.java:60)
at org.eclipse.ui.internal.PartListenerList2$7.run(PartListenerList2.java:168)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
at org.eclipse.core.runtime.Platform.run(Platform.java:783)
at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:54)
at
org.eclipse.ui.internal.PartListenerList2.firePartVisible(PartListenerList2.java:166)
at org.eclipse.ui.internal.PartService.firePartVisible(PartService.java:121)
at
org.eclipse.ui.internal.WorkbenchPagePartList.firePartVisible(WorkbenchPagePartList.java:67)
at org.eclipse.ui.internal.PartList.partVisible(PartList.java:242)
at org.eclipse.ui.internal.PartList.access$2(PartList.java:232)
at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:39)
at
org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:336)
at
org.eclipse.ui.internal.WorkbenchPartReference.fireVisibilityChange(WorkbenchPartReference.java:493)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:288)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:512)
at
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
at
org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at
org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:391)
at
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1102)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1051)
at
org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:785)
at org.eclipse.ui.internal.PartStack.access$0(PartStack.java:771)
at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:119)
at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:126)
at
org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
at
org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276)
at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:84)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:867)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:852)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:660)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3138)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1922)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
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:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
at org.eclipse.core.launcher.Main.run(Main.java:973)
at org.eclipse.core.launcher.Main.main(Main.java:948)
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/305262BCO plugin: errors in Bytecode Reference content2006-05-15T09:33:25ZEric BrunetonBCO plugin: errors in Bytecode Reference content```
there are some errors in the content of the bytecode reference view for ISHL,
ISHR, LSHL, etc. The documentation of these opcodes is inconsistent with the
content of the JVM Specification. May be there are other errors as well.
``````
there are some errors in the content of the bytecode reference view for ISHL,
ISHR, LSHL, etc. The documentation of these opcodes is inconsistent with the
content of the JVM Specification. May be there are other errors as well.
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/303330instllation procesures for Bytecode outlines2017-09-29T14:08:48ZAnonymousinstllation procesures for Bytecode outlines```
Could you please provide easy to use procedure to download and install Bytecode
outines ?
The ones on the page are really difficult to understand. The link point to a
download repository where 4 different file selections are availab...```
Could you please provide easy to use procedure to download and install Bytecode
outines ?
The ones on the page are really difficult to understand. The link point to a
download repository where 4 different file selections are available ?!?!
which ones should I pick ? please provide a eclipse download site and an easy
to unpack zip.
thank you
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/317557eclipse plugin: display method size2018-05-18T07:33:49Zphraktleeclipse plugin: display method size```
Similar to overall class size, It would be very useful to display the size of individual methods. Since
Hotspot inlining heuristics depend on this (e.g. methods longer than 320 bytecodes will never be
inlined), this is quite helpf...```
Similar to overall class size, It would be very useful to display the size of individual methods. Since
Hotspot inlining heuristics depend on this (e.g. methods longer than 320 bytecodes will never be
inlined), this is quite helpful to know during optimization.
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/316366Ability to compare two class files after fields, methods, etc. have been sorted.2018-05-18T07:33:49ZhenddherAbility to compare two class files after fields, methods, etc. have been sorted.```
The idea is that two classes are compared such that the occurrence of fields,
methods, etc. do not "confuse" the diff view.
The use-case is this:
Source-code and its corresponding .class are available. Then, .class is
modified str...```
The idea is that two classes are compared such that the occurrence of fields,
methods, etc. do not "confuse" the diff view.
The use-case is this:
Source-code and its corresponding .class are available. Then, .class is
modified structurally (fields, methods added, removed, changed) such that when
new .class is compared with the original .class, the new structural changes do
not longer confuse the diff view.
The changes are the following:
(patch form)
### Eclipse Workspace Patch 1.0
#P de.loskutov.ByteCodeOutline
Index: src/de/loskutov/bco/asm/SortedClassNode.java
===================================================================
--- src/de/loskutov/bco/asm/SortedClassNode.java (revision 0)
+++ src/de/loskutov/bco/asm/SortedClassNode.java (working copy)
@@ -0,0 +1,54 @@
+package de.loskutov.bco.asm;
+
+import java.util.Collections;
+import java.util.Comparator;
+
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.tree.ClassNode;
+import org.objectweb.asm.tree.FieldNode;
+import org.objectweb.asm.tree.InnerClassNode;
+import org.objectweb.asm.tree.MethodNode;
+
+
+public class SortedClassNode extends ClassNode {
+
+ public SortedClassNode(final int api) {
+ super(api);
+ }
+
+ @Override
+ public void accept(final ClassVisitor acv) {
+ sortAll();
+ super.accept(acv);
+ }
+
+ public void sortAll() {
+
+ Collections.sort(interfaces);
+
+ Collections.sort(innerClasses, new Comparator() {
+ @Override
+ public int compare(Object arg0, Object arg1) {
+ InnerClassNode ic0 = (InnerClassNode) arg0;
+ InnerClassNode ic1 = (InnerClassNode) arg1;
+ return ic0.name.compareTo(ic1.name);
+ }});
+
+ Collections.sort(fields, new Comparator() {
+ @Override
+ public int compare(Object arg0, Object arg1) {
+ FieldNode fn0 = (FieldNode) arg0;
+ FieldNode fn1 = (FieldNode) arg1;
+ return fn0.name.compareTo(fn1.name);
+ }});
+
+ Collections.sort(methods, new Comparator() {
+ @Override
+ public int compare(Object arg0, Object arg1) {
+ MethodNode mn0 = (MethodNode) arg0;
+ MethodNode mn1 = (MethodNode) arg1;
+ return mn0.name.compareTo(mn1.name);
+ }});
+
+ }
+}
Index: src/de/loskutov/bco/asm/DecompilerHelper.java
===================================================================
--- src/de/loskutov/bco/asm/DecompilerHelper.java (revision 1635)
+++ src/de/loskutov/bco/asm/DecompilerHelper.java (working copy)
@@ -31,7 +31,7 @@
DecompilerOptions options)
throws IOException, UnsupportedClassVersionError {
ClassReader cr = new ClassReader(is);
- ClassNode cn = new ClassNode(Opcodes.ASM4);
+ ClassNode cn = new SortedClassNode(Opcodes.ASM4);
int crFlags = 0;
if(options.modes.get(BCOConstants.F_EXPAND_STACKMAP)) {
crFlags |= ClassReader.EXPAND_FRAMES;
```Andrey LoskutovAndrey Loskutovhttps://gitlab.ow2.org/asm/eclipse-plugin/-/issues/306012Synchronize selection between Java editor and bco2017-09-29T14:01:33ZekuleshovSynchronize selection between Java editor and bco```
When java code selected, bco view should show the selection that would match
selected line range in the editor. So, as the other way around. If you select
some slines in bco view, editor should show selection that match those lines...```
When java code selected, bco view should show the selection that would match
selected line range in the editor. So, as the other way around. If you select
some slines in bco view, editor should show selection that match those lines.
```https://gitlab.ow2.org/asm/eclipse-plugin/-/issues/316206Opening inner class byte code view by mouse click (make the inner class name ...2018-05-18T07:33:49ZlhotariOpening inner class byte code view by mouse click (make the inner class name a link in the byte code view?)```
The compiled Groovy source code contains a lot of inner classes . Viewing the
byte code of them is possible currently by opening the class file directly in
Eclipse/STS. I've attached a simple Groovy project which contains one inner...```
The compiled Groovy source code contains a lot of inner classes . Viewing the
byte code of them is possible currently by opening the class file directly in
Eclipse/STS. I've attached a simple Groovy project which contains one inner
class in the Hello class. It would be easier to view the byte code of Groovy
classes if inner class names were links in the byte code view.
```Andrey LoskutovAndrey Loskutovhttps://gitlab.ow2.org/asm/eclipse-plugin/-/issues/315500Bytecode debugging instruction by instruction2018-05-18T07:33:49Zxkr47Bytecode debugging instruction by instruction```
I would really love to be able to step bytecode instruction by instruction in
the debugger view - even when source is available.. and to be able to view the
stack and local variables somehow.
Also, if I have an java agent installed ...```
I would really love to be able to step bytecode instruction by instruction in
the debugger view - even when source is available.. and to be able to view the
stack and local variables somehow.
Also, if I have an java agent installed (which translates bytecode on the fly
when classes are loaded), the original bytecode does not apply.. would it be
possible to access the transformed bytecode somehow? Does java have debugging
hooks for this?
Thanks for a great product!
```Andrey LoskutovAndrey Loskutov