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;
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.