This repository has been archived by the owner on Apr 2, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
Unpick Format V1
Daomephsta edited this page Sep 1, 2019
·
1 revision
The instruction name is in plain text.
Parameters are denoted like this <group>.
Optional tokens are denoted like this (<type> <value>).
- constant <group> <owner> <name> (<descriptor> <value>)
Defines a constant field. Valid types for constant fields areint
,long
,float
,double
,String
&Class
. Constant fields must be bothstatic
&final
.- Parameters
- group - A continuous sequence of non-whitespace characters used to group constant definitions. Constant definitions and flag definitions cannot be in the same group.
- owner - The fully qualified name of the class containing the constant field, with all periods (.) replaced with forward slashes (/).
- name - The identifier of the constant field.
- descriptor - The type descriptor of the constant field, formatted according to JVMS 4.3.2.
- value - The value of the constant field. Integer values must be in base 10.
- Examples:
constant foo_group example/Constants FOO I 3
constant bar example/Constants BAR
- Parameters
- flag <group> <owner> <name> (<descriptor> <value>)
Defines a flag field. Valid types for flag fields areint
&long
. Constant fields must be bothstatic
&final
.- Parameters
- group - A continuous sequence of non-whitespace characters used to group flag definitions. Constant definitions and flag definitions cannot be in the same group.
- owner - The fully qualified name of the class containing the flag field, with all periods (.) replaced with forward slashes (/).
- name - The identifier of the flag field.
- descriptor - The type descriptor of the flag field, formatted according to JVMS 4.3.2.
- value - The value of the flag field. Values must be in base 10.
- Examples:
flag baz_group example/Constants BAZ I 3
flag eggs example/Constants EGGS
- Parameters
- unpick <owner> <name> <descriptor> <parameter_groups>
Defines a method that unpick should attempt to uninline the parameters of, when it finds an invocation of the method.- Parameters
- owner - The fully qualified name of the class containing the method, with all periods (.) replaced with forward slashes (/).
- name - The identifier of the method.
- descriptor - The type descriptor of the method, formatted according to JVMS 4.3.3.
- parameter_groups - A sequence of pairs of parameter indices and flag or constant group identifiers.
- Examples:
unpick example/Example foo (J)V 0 long_flags
unpick example/Example bar (ZJ)V 1 long_constants
- Parameters