-
Notifications
You must be signed in to change notification settings - Fork 64
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
Tiny V2 spec #9
Comments
I have a comments about the method variable section:
Here's a suggestion for what the variable section could look like:
|
@Runemoro I here answer some of your questions as I've worked with tinyv2 a bit already.
|
Sorry, misread it.
If that happens, it's impossible to map it. You also need the end offset and signature if you want to create a new LVT entry.
You're talking about inverting the mappings (for example,
The format is missing the information necessary for a new LVT entry (end offset and signature). |
Just a side note from Discord:
This is actually a very good point |
|
|
this is not final
Tiny V2 consists of a list of hierarchical sections. Every line starts a new section, whether it continues an existing
section is determined by the indentation level. A section's parent is always the closest preceding section indented
once less than itself. Accordingly a section ends just before the next line with the same or a lesser indentation level.
The child to parent relationships form the path to uniquely identify any element globally. For example all method and
field sections that are children of a class section represent members of the represented class.
Sections need to be unique within their level. For example a specific class may only be recorded once, a comment can't be redefined or the same parameter listed twice.
Example:
Grammar:
Grammar notes:
Misc notes:
The encoding for the entire file is UTF-8. Escape sequences are limited to the types, locations and conditions mentioned above.
Indenting uses tab characters exclusively, one tab character equals one level. The amount of leading tab characters is at most 1 more than in the preceding line
Sections or properties with unknown types/keys should be skipped without generating an error.
The amount of extra namespaces defined in the header and the amount of names in every extra-ns-*-names definition have to match. They are associated by their relative position, like the mandatory name spaces a and b that are associated by the suffix, e.g. namespace-a covers class-name-a, method-name-a, method-desc-a, var-desc-a, field-name-a and field-desc-a.
Sections representing the same element must not be repeated, e.g. there can be only one top-level section for a specific class or one class-level section for a specific member.
If any variable mapping doesn't specify a lvt index, e.g. due to a missing LocalVariableTable attribute in one of the methods, the property "missing-lvt-indices" has to be added to .
Mappings without any useful names or sub-sections should be omitted.
Comments should be without their enclosing syntax elements, indentation or decoration. For example, the comment
/**<eol> * A comment<eol> * on two lines.<eol> */
should be recorded asA comment<eol>on two lines.
.Standard properties:
The text was updated successfully, but these errors were encountered: