# # Copyright 1999, 2000, 2001 Patrik Stridvall # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # package c_function; use strict; sub new($) { my $proto = shift; my $class = ref($proto) || $proto; my $self = {}; bless ($self, $class); return $self; } sub file($$) { my $self = shift; my $file = \${$self->{FILE}}; local $_ = shift; if(defined($_)) { $$file = $_; } return $$file; } sub begin_line($$) { my $self = shift; my $begin_line = \${$self->{BEGIN_LINE}}; local $_ = shift; if(defined($_)) { $$begin_line = $_; } return $$begin_line; } sub begin_column($$) { my $self = shift; my $begin_column = \${$self->{BEGIN_COLUMN}}; local $_ = shift; if(defined($_)) { $$begin_column = $_; } return $$begin_column; } sub end_line($$) { my $self = shift; my $end_line = \${$self->{END_LINE}}; local $_ = shift; if(defined($_)) { $$end_line = $_; } return $$end_line; } sub end_column($$) { my $self = shift; my $end_column = \${$self->{END_COLUMN}}; local $_ = shift; if(defined($_)) { $$end_column = $_; } return $$end_column; } sub linkage($$) { my $self = shift; my $linkage = \${$self->{LINKAGE}}; local $_ = shift; if(defined($_)) { $$linkage = $_; } return $$linkage; } sub return_type($$) { my $self = shift; my $return_type = \${$self->{RETURN_TYPE}}; local $_ = shift; if(defined($_)) { $$return_type = $_; } return $$return_type; } sub calling_convention($$) { my $self = shift; my $calling_convention = \${$self->{CALLING_CONVENTION}}; local $_ = shift; if(defined($_)) { $$calling_convention = $_; } return $$calling_convention; } sub name($$) { my $self = shift; my $name = \${$self->{NAME}}; local $_ = shift; if(defined($_)) { $$name = $_; } return $$name; } sub argument_types($$) { my $self = shift; my $argument_types = \${$self->{ARGUMENT_TYPES}}; local $_ = shift; if(defined($_)) { $$argument_types = $_; } return $$argument_types; } sub argument_names($$) { my $self = shift; my $argument_names = \${$self->{ARGUMENT_NAMES}}; local $_ = shift; if(defined($_)) { $$argument_names = $_; } return $$argument_names; } sub statements_line($$) { my $self = shift; my $statements_line = \${$self->{STATEMENTS_LINE}}; local $_ = shift; if(defined($_)) { $$statements_line = $_; } return $$statements_line; } sub statements_column($$) { my $self = shift; my $statements_column = \${$self->{STATEMENTS_COLUMN}}; local $_ = shift; if(defined($_)) { $$statements_column = $_; } return $$statements_column; } sub statements($$) { my $self = shift; my $statements = \${$self->{STATEMENTS}}; local $_ = shift; if(defined($_)) { $$statements = $_; } return $$statements; } 1;