-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NEP: Source Mapping for NeoVM #48
Conversation
Needs to translate into English. |
Similar proposal: #87 |
Hello @lightszero, |
@lock9 I see, you use "JavaScript Source Map" directly,It is fine to me. |
@lock9 had fix,i agree most part of it. |
@lightszero @lock9 Any updates? |
SORRY, I COMPLETELY FORGOT ABOUT THIS SUBJECT! |
Just one thing: Should we just replace the term "column" with "offset"? Should we force a specific line ending? (Unix?) |
@lock9 line ending could not cause line problem. If you use line/cloumn to find a pos,whatever the line ending, is fine. line always line,if you got wrong line,that is a code bug. but you use offset to find a pos,line ending will cause problem,so you need to force a specific line ending. I think no need to change line/cloumn thing We can force the coder who parse txtfile to care about the BOM. No need to change format,that is a coder bussiness at all. |
I'm sure you know a lot more about this subject than me, let's keep the way you think it is best. |
@lock9 yes welcome to submit changes |
I've reviewed @lightszero PR neo-project/neo-devpack-dotnet#74 and updated myVSCode debugger to consume the source map format instead of my custom debug info format I have been experimenting with.I recommended that we DO NOT accept that PR at this time for reasons I will detail below. I also recommend that we remove the "accepted" tag from this PR for now. Until we understand better what information is needed by the debugger to provide a good experience, it would be premature to settle on a file format to store that information. The core problem is that the source map format isn't really designed to store the information that a NEO-VM debugger needs. Source maps are primarily designed for mapping across text formats, such as mapping between original and minimized JS or from TypeScript to compiled JS. For binary instruction to source mapping, especially with types, the source map format is missing a bunch information that the debugger needs to provide a good experience. For example:
|
Don't worry. We can modify the design before the |
@devhawk I Agree all your suggestion. |
Can we close this? The format used by NEON/Neo Smart Contract debugger is documented elsewhere |
Can we move/merge them into a NEP? Otherwise we're going to have multiple places describing enhancements. It would be nice to keep them all in one place. NEPs have been the default up to now. |
Happy to write up a new NEP for the debug format. Do I just pick the next available number and submit a PR? |
I will assign a number when the proposal is accepted. |
@lightszero @lock9 @devhawk Should we merge it? |
This PR should not be merged. The debug info format used by the Neo Smart Contract Debugger in the Neo Blockchain Toolkit is documented here: https://github.com/ngdenterprise/design-notes/blob/master/NDX-DN11%20-%20NEO%20Debug%20Info%20Specification.md. Happy to bring that over and create a new NEP. |
Yes, please. |
@devhawk Any update? |
No description provided.