lestes::lang::cplus::sem::ss_address_of Class Reference

Class for reference operator (&). More...

#include <ss_expr_unary_op.g.hh>

Inheritance diagram for lestes::lang::cplus::sem::ss_address_of:

lestes::lang::cplus::sem::ss_unary_expr lestes::lang::cplus::sem::ss_expression lestes::intercode::ss_base_with_location lestes::intercode::ss_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Member Functions

virtual bool is_lvalue ()
 return true
virtual void accept_ss_expression_visitor (ptr< ss_expression_visitor > v)
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< ss_address_ofcreate (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_type > a__ss_expression__type, ptr< ss_sp > a__ss_expression__psp, ptr< ss_sp > a__ss_expression__nsp, ptr< ss_expression > a__ss_unary_expr__expr)
 First generated factory method for class ss_address_of.

Protected Member Functions

 ss_address_of (ptr< ::lestes::std::source_location > a__ss_base_with_location__location, ptr< ss_type > a__ss_expression__type, ptr< ss_sp > a__ss_expression__psp, ptr< ss_sp > a__ss_expression__nsp, ptr< ss_expression > a__ss_unary_expr__expr)
 Generated constructor for class ss_address_of.
virtual void gc_mark ()
 Marking routine for class ss_address_of.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Class for reference operator (&).

Dont mistake with var_ref. Here any lvalue can be referenced. Also dont mistake with ss_reference, which is type (eg. difference between fundecl(paramdecl &a) X funcall(&argdecl) ).

Definition at line 554 of file ss_expr_unary_op.g.hh.


Constructor & Destructor Documentation

lestes::lang::cplus::sem::ss_address_of::ss_address_of ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_type a__ss_expression__type,
ptr< ss_sp a__ss_expression__psp,
ptr< ss_sp a__ss_expression__nsp,
ptr< ss_expression a__ss_unary_expr__expr 
) [protected]

Generated constructor for class ss_address_of.

Generated constructor for class ss_address_of.

Author:
lsg

Definition at line 990 of file ss_expr_unary_op.g.cc.

Referenced by create().

00995         : ss_unary_expr(a__ss_base_with_location__location,
00996                 a__ss_expression__type,
00997                 a__ss_expression__psp,
00998                 a__ss_expression__nsp,
00999                 a__ss_unary_expr__expr)
01000 {}


Member Function Documentation

bool lestes::lang::cplus::sem::ss_address_of::is_lvalue (  )  [virtual]

return true

Reimplemented from lestes::lang::cplus::sem::ss_expression.

Definition at line 44 of file ss_expr_unary_op.cc.

00044                                {
00045         return true;
00046 }

void lestes::lang::cplus::sem::ss_address_of::accept_ss_expression_visitor ( ptr< ss_expression_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::ss_unary_expr.

Definition at line 964 of file ss_expr_unary_op.g.cc.

00965 {
00966         return v->visit_ss_address_of( this );
00967 }

ptr< ss_address_of > lestes::lang::cplus::sem::ss_address_of::create ( ptr< ::lestes::std::source_location a__ss_base_with_location__location,
ptr< ss_type a__ss_expression__type,
ptr< ss_sp a__ss_expression__psp,
ptr< ss_sp a__ss_expression__nsp,
ptr< ss_expression a__ss_unary_expr__expr 
) [static]

First generated factory method for class ss_address_of.

This factory method for class ss_address_of takes values of all fields as arguments.

Author:
lsg

Definition at line 973 of file ss_expr_unary_op.g.cc.

References ss_address_of().

00978 {
00979         return ptr< ss_address_of > ( new ss_address_of(a__ss_base_with_location__location,
00980                 a__ss_expression__type,
00981                 a__ss_expression__psp,
00982                 a__ss_expression__nsp,
00983                 a__ss_unary_expr__expr) );
00984 }

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_address_of::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_unary_expr.

Definition at line 1002 of file ss_expr_unary_op.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::sem::ss_unary_expr::reflection_get().

01003 {
01004         if (!reflection) {
01005                 typedef class_reflection::field_metadata md;
01006                 typedef class_reflection::field_metadata_list mdlist;
01007                 ptr<mdlist> mdl = mdlist::create();
01008                 reflection = reflection_list::create( ss_unary_expr::reflection_get() );
01009                 reflection->push_back( class_reflection::create( "ss_address_of", mdl ) );
01010         }
01011         return reflection;
01012 }

ptr< object::field_list_list > lestes::lang::cplus::sem::ss_address_of::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::sem::ss_unary_expr.

Definition at line 1014 of file ss_expr_unary_op.g.cc.

References lestes::lang::cplus::sem::ss_unary_expr::field_values_get().

01015 {
01016         ptr < field_list_list > result = ss_unary_expr::field_values_get();
01017         return result;
01018 }

void lestes::lang::cplus::sem::ss_address_of::gc_mark ( void   )  [protected, virtual]

Marking routine for class ss_address_of.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::lang::cplus::sem::ss_unary_expr.

Definition at line 1025 of file ss_expr_unary_op.g.cc.

References lestes::lang::cplus::sem::ss_unary_expr::gc_mark().

01026 {
01027         ss_unary_expr::gc_mark();
01028 }


Member Data Documentation

ptr< object::reflection_list > lestes::lang::cplus::sem::ss_address_of::reflection = reflection [static, private]

Reimplemented from lestes::lang::cplus::sem::ss_unary_expr.

Definition at line 589 of file ss_expr_unary_op.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:25:21 2007 for lestes by doxygen 1.5.1-20070107