[
https://issues.apache.org/jira/browse/TAP5-20?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Howard M. Lewis Ship closed TAP5-20.
------------------------------------
Resolution: Fixed
Assignee: Howard M. Lewis Ship
Advising a method works by renaming the original method.
The original method keeps its line number information, and shows up correctly
in the stack trace, except for the name (which is something like
org.apache.tapestry5.integration.app1.pages.MethodAdviceDemo._$advised$setText.
The original method, setText() in this example, is fabricated on the fly and
has no line number information.
Looking at the Javassist APIs, there doesn't seem to be a way to attach a
LineNumberTable to a new method.
> Stack frames in the exception report are not always highlighted correctly
> -------------------------------------------------------------------------
>
> Key: TAP5-20
> URL: https://issues.apache.org/jira/browse/TAP5-20
> Project: Tapestry 5
> Issue Type: Bug
> Affects Versions: 5.1.0.0
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
> Priority: Minor
>
> User code stack frames are supposed to be highlighted in blue (via adding a
> CSS class to the enclose <li>) but this doesn't always happen.
> It appears the methods that are advised lose their line number information
> and this interferes the following code:
> public String getFrameClass()
> {
> if (frame.getClassName().startsWith(appPackage) &&
> frame.getLineNumber() > 0) return "t-usercode-frame";
> return null;
> }
> The line number is 0 for the advised method.
> Somehow we need to flag the method as user code, perhaps by finding a way to
> "re-attach" the line number from the advised method to its replacement.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]