File: class.h

package info (click to toggle)
f2j 0.8.1%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,604 kB
  • sloc: ansic: 18,992; java: 3,987; yacc: 3,804; sh: 153; makefile: 149
file content (58 lines) | stat: -rw-r--r-- 1,664 bytes parent folder | download | duplicates (6)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef _CLASS_H
#define _CLASS_H

#include<stdio.h>
#include "bytecode.h"

static BOOL
  check_distance(JVM_OPCODE, int, int);

static void
  write_constant_pool(JVM_CLASS *, FILE *),
  write_interfaces(JVM_CLASS *, FILE *),
  write_fields(JVM_CLASS *, FILE *),
  write_methods(JVM_CLASS *, FILE *),
  write_code(Dlist, FILE *),
  write_exception_table(struct ExceptionTable *, int, FILE *),
  write_u1(u1, FILE *),
  write_u2(u2, FILE *),
  write_u3(u4, FILE *),
  write_u4(u4, FILE *),
  write_tableswitch(JVM_CODE_GRAPH_NODE *, FILE *),
  write_lookupswitch(JVM_CODE_GRAPH_NODE *, FILE *),
  dec_stack(JVM_METHOD *, int),
  inc_stack(JVM_METHOD *, int),
  calc_offsets(JVM_METHOD *meth, JVM_CODE_GRAPH_NODE *);

static int
  find_label(Dlist, const char *),
  write_attributes(JVM_CLASS *, Dlist, FILE *),
  num_empty_switch_cases(JVM_CODE_GRAPH_NODE *),
  switch_entry_compare(const void *, const void *),
  setup_tableswitch(JVM_CODE_GRAPH_NODE *),
  setup_lookupswitch(JVM_CODE_GRAPH_NODE *),
  finalizeMethod(JVM_METHOD *),
  get_stack_increment(JVM_METHOD *, JVM_OPCODE, u4),
  get_stack_decrement(JVM_METHOD *, JVM_OPCODE, u4),
  get_stack_dec_field_acc(JVM_CLASS *, JVM_OPCODE, u4),
  get_stack_dec_invocation(JVM_CLASS *, JVM_OPCODE, u4),
  get_stack_inc_field_acc(JVM_CLASS *, JVM_OPCODE, u4),
  get_stack_inc_invocation(JVM_CLASS *, JVM_OPCODE, u4),
  traverse_code(JVM_METHOD *);

static JVM_STACK_INFO
  *calc_stack(char *);

static Dlist
  get_list_node(Dlist, JVM_CODE_GRAPH_NODE *);

static double
  math_pow(double, double);

static JVM_OPCODE
  get_method_return_op(char *);

static FILE
  *open_output_classfile(JVM_CLASS *, char *);

#endif