22 */
23
24 package jdk.tools.jaotc.binformat;
25
26 import java.util.Objects;
27
28 import jdk.tools.jaotc.binformat.NativeSymbol;
29
30 public class Symbol {
31
32 public enum Binding {
33 UNDEFINED,
34 LOCAL,
35 GLOBAL
36 }
37
38 public enum Kind {
39 UNDEFINED,
40 NATIVE_FUNCTION,
41 JAVA_FUNCTION,
42 STATIC_STUB_CALL, // static call stub inside the text section
43 OBJECT,
44 NOTYPE
45 }
46
47 private final String name;
48 private final int size;
49 private final int offset;
50 private final Binding binding;
51 private final Kind kind;
52
53 private ByteContainer section;
54 private NativeSymbol nativeSymbol;
55
56 /**
57 * Create symbol info.
58 *
59 * @param offset section offset for the defined symbol
60 * @param kind kind of the symbol (UNDEFINED, FUNC, etc)
61 * @param binding binding of the symbol (LOCAL, GLOBAL, ...)
62 * @param section section in which this symbol is "defined"
|
22 */
23
24 package jdk.tools.jaotc.binformat;
25
26 import java.util.Objects;
27
28 import jdk.tools.jaotc.binformat.NativeSymbol;
29
30 public class Symbol {
31
32 public enum Binding {
33 UNDEFINED,
34 LOCAL,
35 GLOBAL
36 }
37
38 public enum Kind {
39 UNDEFINED,
40 NATIVE_FUNCTION,
41 JAVA_FUNCTION,
42 OBJECT,
43 NOTYPE
44 }
45
46 private final String name;
47 private final int size;
48 private final int offset;
49 private final Binding binding;
50 private final Kind kind;
51
52 private ByteContainer section;
53 private NativeSymbol nativeSymbol;
54
55 /**
56 * Create symbol info.
57 *
58 * @param offset section offset for the defined symbol
59 * @param kind kind of the symbol (UNDEFINED, FUNC, etc)
60 * @param binding binding of the symbol (LOCAL, GLOBAL, ...)
61 * @param section section in which this symbol is "defined"
|