summaryrefslogtreecommitdiff
path: root/java/net/class-dependencies.conf
blob: 8b130f53684658b7106d8f690b6cdd6a1e8e92ae (plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# This property file contains dependencies of classes, methods, and
# field on other methods or classes.
#
# Syntax: 
#
#   <used>: <needed 1> [... <needed N>]
#
# means that when <used> is included, <needed 1> (... <needed N>) must
# be included as well.
#
# <needed X> and <used> are of the form
#
#   <class.methodOrField(signature)>
#
# or just
#
#   <class>
#
# Within dependencies, variables can be used. A variable is defined as 
# follows: 
#
#   {variable}: value1 value2 ... value<n>
#
# variables can be used on the right side of dependencies as follows: 
#
#    <used>: com.bla.blu.{variable}.Class.m()V
#
# The use of the variable will expand to <n> dependencies of the form
#
#    <used>: com.bla.blu.value1.Class.m()V
#    <used>: com.bla.blu.value2.Class.m()V
#    ...
#    <used>: com.bla.blu.value<n>.Class.m()V
#
# Variables can be redefined when building a system to select the 
# required support for features like encodings, protocols, etc. 
#
# Hints:
#
#  - For methods and fields, the signature is mandatory. For
#    specification, please see the Java Virtual Machine Specification by
#    SUN. Unlike in the spec, field signatures (types) are in brackets.
#
#  - Package names must be separated by '/' (and not '.'). E.g.,
#    java/lang/Class (this is necessary, because the '.' is used to
#    separate method or field names from classes)
#
#  - In case <needed> refers to a class, only the class itself will be
#    included in the resulting binary, NOT necessarily all its methods
#    and fields. If you want to refer to all methods and fields, you can
#    write class.* as an abbreviation.
#
# -  Abbreviations for packages are also possible: my/package/* means all
#    methods and fields of all classes in my/package.
#
# -  A line with a trailing '\' continues in the next line.

java/net/InetAddress: \
        java/lang/ClassNotFoundException.<init>(Ljava/lang/String;)V \
	java/lang/InternalError.<init>(Ljava/lang/String;)V \
	java/net/UnknownHostException.<init>(Ljava/lang/String;)V

java/net/DatagramSocketImpl: \
	java/net/DatagramSocketImpl.fd(Ljava/io/FileDescriptor;) \
	java/net/DatagramSocketImpl.localPort(I)

java/net/PlainDatagramSocketImpl: \
        java/lang/ClassNotFoundException.<init>(Ljava/lang/String;)V \
	java/lang/InternalError.<init>(Ljava/lang/String;)V \
	java/io/IOException.<init>(Ljava/lang/String;)V \
	java/io/FileDescriptor.<init>()V \
	java/lang/Boolean.<init>(Z)V \
	java/lang/Integer.<init>(I)V \
	java/net/InetAddress.getByName(Ljava/lang/String;)Ljava/net/InetAddress; \
	java/net/InetAddress.getAddress()[B \
	java/lang/Boolean.booleanValue()Z \
	java/lang/Integer.intValue()I \
	java/net/SocketException.<init>(Ljava/lang/String;)V \
	java/net/DatagramPacket.getData()[B \
	java/net/SocketImpl.address(Ljava/net/InetAddress;) \
	java/net/PlainSocketImpl.native_fd(I) \
	java/net/SocketImpl.fd(Ljava/io/FileDescriptor;) \
	java/net/SocketImpl.address(Ljava/net/InetAddress;) \
	java/net/PlainDatagramSocketImpl.native_fd(I) \
	java/net/SocketImpl.localport(I) \
	java/net/SocketImpl.port(I)

java/net/PlainSocketImpl: \
        java/lang/ClassNotFoundException.<init>(Ljava/lang/String;)V \
	java/lang/InternalError.<init>(Ljava/lang/String;)V \
	java/io/IOException.<init>(Ljava/lang/String;)V \
	java/io/FileDescriptor.<init>()V \
	java/lang/Boolean.<init>(Z)V \
	java/lang/Integer.<init>(I)V \
	java/net/InetAddress.getByName(Ljava/lang/String;)Ljava/net/InetAddress; \
	java/net/InetAddress.getAddress()[B \
	java/lang/Boolean.booleanValue()Z \
	java/lang/Integer.intValue()I \
	java/net/SocketException.<init>(Ljava/lang/String;)V \
	java/net/DatagramPacket.getData()[B \
	java/net/SocketImpl.address(Ljava/net/InetAddress;) \
	java/net/PlainSocketImpl.native_fd(I) \
	java/net/SocketImpl.fd(Ljava/io/FileDescriptor;) \
	java/net/SocketImpl.address(Ljava/net/InetAddress;) \
	java/net/PlainDatagramSocketImpl.native_fd(I) \
	java/net/SocketImpl.localport(I) \
	java/net/SocketImpl.port(I)

# All protocols supported are loaded via URL.getURLStreamHandler from 
# class gnu.java.net.protocol.<protocol>.Handler. 
#
# This introduces a dependency for all protocols. To allow an easy selection
# and addition of protocols, the library variable {protocols} can be set to 
# the set of supported protocols.
#
{protocols}: http file jar 

java/net/URL.getURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;: \
	gnu/java/net/protocol/{protocols}/Handler.* \
	com/aicas/java/net/protocol/rom/Handler.*

# end of file