Release 1.2-rc6.
[wine/gsoc-2012-control.git] / tools / winapi / c_function.pm
blob773c6b2ded65982901b039f83b338049d90af55e
2 # Copyright 1999, 2000, 2001 Patrik Stridvall
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.
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.
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
19 package c_function;
21 use strict;
23 sub new($)
25 my ($proto) = @_;
26 my $class = ref($proto) || $proto;
27 my $self = {};
28 bless ($self, $class);
30 return $self;
35 # Property setter / getter functions (each does both)
38 sub file($;$)
40 my ($self, $filename) = @_;
41 $self->{file} = $filename if (defined $filename);
42 return $self->{file};
45 sub begin_line($$)
47 my ($self, $begin_line) = @_;
48 $self->{begin_line} = $begin_line if (defined $begin_line);
49 return $self->{begin_line};
52 sub begin_column($;$)
54 my ($self, $begin_column) = @_;
55 $self->{begin_column} = $begin_column if (defined $begin_column);
56 return $self->{begin_column};
59 sub end_line($;$)
61 my ($self, $end_line) = @_;
62 $self->{end_line} = $end_line if (defined $end_line);
63 return $self->{end_line};
66 sub end_column($;$)
68 my ($self, $end_column) = @_;
69 $self->{end_column} = $end_column if (defined $end_column);
70 return $self->{end_column};
73 sub linkage($;$)
75 my ($self, $linkage) = @_;
76 $self->{linkage} = $linkage if (defined $linkage);
77 return $self->{linkage};
80 sub return_type($;$)
82 my ($self, $return_type) = @_;
83 $self->{return_type} = $return_type if (defined $return_type);
84 return $self->{return_type};
87 sub calling_convention($;$)
89 my ($self, $calling_convention) = @_;
90 $self->{calling_convention} = $calling_convention if (defined $calling_convention);
91 return $self->{calling_convention};
94 sub name($;$)
96 my ($self, $name) = @_;
97 $self->{name} = $name if (defined $name);
98 return $self->{name};
101 sub argument_types($;$)
103 my ($self, $argument_types) = @_;
104 $self->{argument_types} = $argument_types if (defined $argument_types);
105 return $self->{argument_types};
108 sub argument_names($;$)
110 my ($self, $argument_names) = @_;
111 $self->{argument_names} = $argument_names if (defined $argument_names);
112 return $self->{argument_names};
115 sub statements_line($;$)
117 my ($self, $statements_line) = @_;
118 $self->{statements_line} = $statements_line if (defined $statements_line);
119 return $self->{statements_line};
122 sub statements_column($;$)
124 my ($self, $statements_column) = @_;
125 $self->{statements_column} = $statements_column if (defined $statements_column);
126 return $self->{statements_column};
129 sub statements($;$)
131 my ($self, $statements) = @_;
132 $self->{statements} = $statements if (defined $statements);
133 return $self->{statements};