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;
38 my $linkage = \${$self->{LINKAGE}};
42 if(defined($_)) { $$linkage = $_; }
49 my $return_type = \${$self->{RETURN_TYPE}};
53 if(defined($_)) { $$return_type = $_; }
58 sub calling_convention {
60 my $calling_convention = \${$self->{CALLING_CONVENTION}};
64 if(defined($_)) { $$calling_convention = $_; }
66 return $$calling_convention;
71 my $name = \${$self->{NAME}};
75 if(defined($_)) { $$name = $_; }
82 my $arguments = \${$self->{ARGUMENTS}};
86 if(defined($_)) { $$arguments = $_; }
93 my $module16 = \${$self->{MODULE16}};
97 if(defined($_)) { $$module16 = $_; }
103 my $module32 = \${$self->{MODULE32}};
107 if(defined($_)) { $$module32 = $_; }
113 my $statements = \${$self->{STATEMENTS}};
117 if(defined($_)) { $$statements = $_; }
124 my $module16 = \${$self->{MODULE16}};
125 my $module32 = \${$self->{MODULE32}};
128 if(defined($$module16) && defined($$module32)) {
129 $module = "$$module16 & $$module32";
130 } elsif(defined($$module16)) {
131 $module = $$module16;
132 } elsif(defined($$module32)) {
133 $module = $$module32;
139 sub function_called {
141 my $called_function_names = \%{$self->{CALLED_FUNCTION_NAMES}};
145 $$called_function_names{$name}++;
148 sub function_called_by {
150 my $called_by_function_names = \%{$self->{CALLED_BY_FUNCTION_NAMES}};
154 $$called_by_function_names{$name}++;
157 sub called_function_names {
159 my $called_function_names = \%{$self->{CALLED_FUNCTION_NAMES}};
161 return sort(keys(%$called_function_names));
164 sub called_by_function_names {
166 my $called_by_function_names = \%{$self->{CALLED_BY_FUNCTION_NAMES}};
168 return sort(keys(%$called_by_function_names));