1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package Torello.Java.Additional.DataFiles;

import static Torello.Java.C.BYELLOW;
import static Torello.Java.C.RESET;

import Torello.Java.ReadOnly.ReadOnlyArrayList;
import Torello.Java.ReadOnly.ReadOnlyList;

import Torello.Java.FileRW;

public class MethodHandleData
    implements Torello.Java.Build.DataFileBuilderClass
{
    public MethodHandleData() { }

    private static final String DATA_FILE_NAME = "data5.roaldat";

    public void build(String rootDir) throws java.io.IOException
    {
        System.out.println("writing File: " + BYELLOW + rootDir + DATA_FILE_NAME + RESET);
        FileRW.writeObjectToFileNOCNFE(methodHandleKinds, rootDir + DATA_FILE_NAME, true);
    }

    private static ReadOnlyList<String> methodHandleKinds = new ReadOnlyArrayList<>(
        (String) null,
        "getField",         // public static final byte KIND_GET_FIELD = 1;
        "getStatic",        // public static final byte KIND_GET_STATIC = 2;
        "putField",         // public static final byte KIND_PUT_FIELD = 3;
        "putStatic",        // public static final byte KIND_PUT_STATIC = 4;
        "invokeVirtual",    // public static final byte KIND_INVOKE_VIRTUAL = 5;
        "invokeStatic",     // public static final byte KIND_INVOKE_STATIC = 6;
        "invokeSpecial",    // public static final byte KIND_INVOKE_SPECIAL = 7;
        "newInvokeSpecial", // public static final byte KIND_NEW_INVOKE_SPECIAL = 8;
        "invokeInterface"   // public static final byte KIND_INVOKE_INTERFACE = 9;
    );
}