comctl32/tests: Fix printing a NULL string.
[wine] / tools / winapi / c_function.pm
1 #
2 # Copyright 1999, 2000, 2001 Patrik Stridvall
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License, or (at your option) any later version.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 #
18
19 package c_function;
20
21 use strict;
22
23 sub new($)
24 {
25     my ($proto) = @_;
26     my $class = ref($proto) || $proto;
27     my $self  = {};
28     bless ($self, $class);
29
30     return $self;
31 }
32
33
34 #
35 # Property setter / getter functions (each does both)
36 #
37
38 sub file($;$)
39 {
40     my ($self, $filename) = @_;
41     $self->{file} = $filename if (defined $filename);
42     return $self->{file};
43 }
44
45 sub begin_line($$)
46 {
47     my ($self, $begin_line) = @_;
48     $self->{begin_line} = $begin_line if (defined $begin_line);
49     return $self->{begin_line};
50 }
51
52 sub begin_column($;$)
53 {
54     my ($self, $begin_column) = @_;
55     $self->{begin_column} = $begin_column if (defined $begin_column);
56     return $self->{begin_column};
57 }
58
59 sub end_line($;$)
60 {
61     my ($self, $end_line) = @_;
62     $self->{end_line} = $end_line if (defined $end_line);
63     return $self->{end_line};
64 }
65
66 sub end_column($;$)
67 {
68     my ($self, $end_column) = @_;
69     $self->{end_column} = $end_column if (defined $end_column);
70     return $self->{end_column};
71 }
72
73 sub linkage($;$)
74 {
75     my ($self, $linkage) = @_;
76     $self->{linkage} = $linkage if (defined $linkage);
77     return $self->{linkage};
78 }
79
80 sub return_type($;$)
81 {
82      my ($self, $return_type) = @_;
83     $self->{return_type} = $return_type if (defined $return_type);
84     return $self->{return_type};
85 }
86
87 sub calling_convention($;$)
88 {
89     my ($self, $calling_convention) = @_;
90     $self->{calling_convention} = $calling_convention if (defined $calling_convention);
91     return $self->{calling_convention};
92 }
93
94 sub name($;$)
95 {
96     my ($self, $name) = @_;
97     $self->{name} = $name if (defined $name);
98     return $self->{name};
99 }
100
101 sub argument_types($;$)
102 {
103     my ($self, $argument_types) = @_;
104     $self->{argument_types} = $argument_types if (defined $argument_types);
105     return $self->{argument_types};
106 }
107
108 sub argument_names($;$)
109 {
110     my ($self, $argument_names) = @_;
111     $self->{argument_names} = $argument_names if (defined $argument_names);
112     return $self->{argument_names};
113 }
114
115 sub statements_line($;$)
116 {
117     my ($self, $statements_line) = @_;
118     $self->{statements_line} = $statements_line if (defined $statements_line);
119     return $self->{statements_line};
120 }
121
122 sub statements_column($;$)
123 {
124     my ($self, $statements_column) = @_;
125     $self->{statements_column} = $statements_column if (defined $statements_column);
126     return $self->{statements_column};
127 }
128
129 sub statements($;$)
130 {
131     my ($self, $statements) = @_;
132     $self->{statements} = $statements if (defined $statements);
133     return $self->{statements};
134 }
135
136 1;