1 package winapi_function;
7 my $class = ref($proto) || $proto;
16 my $file = \${$self->{FILE}};
20 if(defined($_)) { $$file = $_; }
27 my $documentation = \${$self->{DOCUMENTATION}};
31 if(defined($_)) { $$documentation = $_; }
33 return $$documentation;
36 sub documentation_line {
38 my $documentation_line = \${$self->{DOCUMENTATION_LINE}};
42 if(defined($_)) { $$documentation_line = $_; }
44 return $$documentation_line;
49 my $linkage = \${$self->{LINKAGE}};
53 if(defined($_)) { $$linkage = $_; }
60 my $return_type = \${$self->{RETURN_TYPE}};
64 if(defined($_)) { $$return_type = $_; }
69 sub calling_convention {
71 my $calling_convention = \${$self->{CALLING_CONVENTION}};
75 if(defined($_)) { $$calling_convention = $_; }
77 return $$calling_convention;
82 my $external_name16 = \${$self->{EXTERNAL_NAME16}};
86 if(defined($_)) { $$external_name16 = $_; }
88 return $$external_name16;
93 my $external_name32 = \${$self->{EXTERNAL_NAME32}};
97 if(defined($_)) { $$external_name32 = $_; }
99 return $$external_name32;
104 my $internal_name = \${$self->{INTERNAL_NAME}};
108 if(defined($_)) { $$internal_name = $_; }
110 return $$internal_name;
115 my $argument_types = \${$self->{ARGUMENT_TYPES}};
119 if(defined($_)) { $$argument_types = $_; }
121 return $$argument_types;
126 my $argument_names = \${$self->{ARGUMENT_NAMES}};
130 if(defined($_)) { $$argument_names = $_; }
132 return $$argument_names;
135 sub argument_documentations {
137 my $argument_documentations = \${$self->{ARGUMENT_DOCUMENTATIONS}};
141 if(defined($_)) { $$argument_documentations = $_; }
143 return $$argument_documentations;
148 my $module16 = \${$self->{MODULE16}};
152 if(defined($_)) { $$module16 = $_; }
158 my $module32 = \${$self->{MODULE32}};
162 if(defined($_)) { $$module32 = $_; }
168 my $statements = \${$self->{STATEMENTS}};
172 if(defined($_)) { $$statements = $_; }
179 my $module16 = \${$self->{MODULE16}};
180 my $module32 = \${$self->{MODULE32}};
183 if(defined($$module16) && defined($$module32)) {
184 $module = "$$module16 & $$module32";
185 } elsif(defined($$module16)) {
186 $module = $$module16;
187 } elsif(defined($$module32)) {
188 $module = $$module32;
194 sub function_called {
196 my $called_function_names = \%{$self->{CALLED_FUNCTION_NAMES}};
200 $$called_function_names{$name}++;
203 sub function_called_by {
205 my $called_by_function_names = \%{$self->{CALLED_BY_FUNCTION_NAMES}};
209 $$called_by_function_names{$name}++;
212 sub called_function_names {
214 my $called_function_names = \%{$self->{CALLED_FUNCTION_NAMES}};
216 return sort(keys(%$called_function_names));
219 sub called_by_function_names {
221 my $called_by_function_names = \%{$self->{CALLED_BY_FUNCTION_NAMES}};
223 return sort(keys(%$called_by_function_names));