lestes::lang::cplus::sem::as_literal Class Reference

#include <as_expr.g.hh>

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

lestes::lang::cplus::sem::as_expression lestes::intercode::as_base lestes::intercode::intercode lestes::std::object lestes::std::mem::keystone List of all members.

Public Types

enum  literal_kind {
  UNKNOWN, CHARACTER, WIDE_CHARACTER, STRING,
  WIDE_STRING, OCTAL, HEXADECIMAL, DECIMAL,
  FLOATING, HEXADECIMAL_FLOATING
}

Public Member Functions

literal_kind kind_get () const
 The method kind_get returns the value of the field as_literal::kind.
void kind_set (literal_kind)
 The method kind_set sets the field as_literal::kind to the given value.
ptr< ::lestes::lang::cplus::lex::cpp_tokenvalue_get () const
 The method value_get returns the value of the field as_literal::value.
void value_set (const ptr< ::lestes::lang::cplus::lex::cpp_token > &)
 The method value_set sets the field as_literal::value to the given value.
virtual void accept_as_expr_visitor (ptr< as_expr_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< as_literalcreate (ptr< ::lestes::std::source_location > a__as_base__location, literal_kind a__as_literal__kind, ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_literal__value)
 First generated factory method for class as_literal.

Protected Member Functions

 as_literal (ptr< ::lestes::std::source_location > a__as_base__location, literal_kind a__as_literal__kind, ptr< ::lestes::lang::cplus::lex::cpp_token > a__as_literal__value)
 Generated constructor for class as_literal.
virtual void gc_mark ()
 Marking routine for class as_literal.

Private Attributes

literal_kind kind
srp< ::lestes::lang::cplus::lex::cpp_tokenvalue

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Definition at line 2167 of file as_expr.g.hh.


Member Enumeration Documentation

enum lestes::lang::cplus::sem::as_literal::literal_kind

Enumerator:
UNKNOWN 
CHARACTER 
WIDE_CHARACTER 
STRING 
WIDE_STRING 
OCTAL 
HEXADECIMAL 
DECIMAL 
FLOATING 
HEXADECIMAL_FLOATING 

Definition at line 2169 of file as_expr.g.hh.

02169                           {
02170                 UNKNOWN,
02171                 CHARACTER,
02172                 WIDE_CHARACTER,
02173                 STRING,
02174                 WIDE_STRING,
02175                 OCTAL,
02176                 HEXADECIMAL,
02177                 DECIMAL,
02178                 FLOATING,
02179                 HEXADECIMAL_FLOATING
02180         };


Constructor & Destructor Documentation

lestes::lang::cplus::sem::as_literal::as_literal ( ptr< ::lestes::std::source_location a__as_base__location,
literal_kind  a__as_literal__kind,
ptr< ::lestes::lang::cplus::lex::cpp_token a__as_literal__value 
) [protected]

Generated constructor for class as_literal.

Generated constructor for class as_literal.

Author:
lsg

Definition at line 3858 of file as_expr.g.cc.

Referenced by create().

03861         : as_expression(a__as_base__location), kind(a__as_literal__kind), value(checked(a__as_literal__value))
03862 {}


Member Function Documentation

as_literal::literal_kind lestes::lang::cplus::sem::as_literal::kind_get (  )  const

The method kind_get returns the value of the field as_literal::kind.

Returns:
The value of as_literal::kind.
Author:
lsg

Definition at line 3804 of file as_expr.g.cc.

References kind.

03805 {
03806         return kind;
03807 }

void lestes::lang::cplus::sem::as_literal::kind_set ( literal_kind  x  ) 

The method kind_set sets the field as_literal::kind to the given value.

Parameters:
[in] x The new value to set as_literal::kind to.
Author:
lsg

Definition at line 3813 of file as_expr.g.cc.

References kind.

03814 {
03815         as_literal::kind = x;
03816 }

ptr<::lestes::lang::cplus::lex::cpp_token > lestes::lang::cplus::sem::as_literal::value_get ( void   )  const

The method value_get returns the value of the field as_literal::value.

Returns:
The value of as_literal::value.
Author:
lsg

Definition at line 3822 of file as_expr.g.cc.

References value.

03823 {
03824         return value;
03825 }

void lestes::lang::cplus::sem::as_literal::value_set ( const ptr< ::lestes::lang::cplus::lex::cpp_token > &  x  ) 

The method value_set sets the field as_literal::value to the given value.

Parameters:
[in] x The new value to set as_literal::value to.
Author:
lsg

Definition at line 3831 of file as_expr.g.cc.

References value.

03832 {
03833         as_literal::value = x;
03834 }

void lestes::lang::cplus::sem::as_literal::accept_as_expr_visitor ( ptr< as_expr_visitor v  )  [virtual]

Implements lestes::lang::cplus::sem::as_expression.

Definition at line 3836 of file as_expr.g.cc.

03837 {
03838         return v->visit_as_literal( this );
03839 }

ptr< as_literal > lestes::lang::cplus::sem::as_literal::create ( ptr< ::lestes::std::source_location a__as_base__location,
literal_kind  a__as_literal__kind,
ptr< ::lestes::lang::cplus::lex::cpp_token a__as_literal__value 
) [static]

First generated factory method for class as_literal.

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

Author:
lsg

Definition at line 3845 of file as_expr.g.cc.

References as_literal().

03848 {
03849         return ptr< as_literal > ( new as_literal(a__as_base__location,
03850                 a__as_literal__kind,
03851                 a__as_literal__value) );
03852 }

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

for purposes of dumping

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

Definition at line 3864 of file as_expr.g.cc.

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

03865 {
03866         if (!reflection) {
03867                 typedef class_reflection::field_metadata md;
03868                 typedef class_reflection::field_metadata_list mdlist;
03869                 ptr<mdlist> mdl = mdlist::create();
03870                 mdl->push_back( md::create( "kind", "literal_kind" ) );
03871                 mdl->push_back( md::create( "value", "cpp_token" ) );
03872                 reflection = reflection_list::create( as_expression::reflection_get() );
03873                 reflection->push_back( class_reflection::create( "as_literal", mdl ) );
03874         }
03875         return reflection;
03876 }

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

for purposes of dumping

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

Definition at line 3878 of file as_expr.g.cc.

References lestes::std::list< T >::create(), and lestes::lang::cplus::sem::as_expression::field_values_get().

03879 {
03880         ptr < field_list_list > result = as_expression::field_values_get();
03881         result->push_back( value_list::create() );
03882         result->back()->push_back( objectize< literal_kind > ::create( this->kind ) );
03883         result->push_back( value_list::create() );
03884         result->back()->push_back( this->value );
03885         return result;
03886 }

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

Marking routine for class as_literal.

Marking routine is used for garbage collection.

Author:
lsg

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

Definition at line 3893 of file as_expr.g.cc.

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

03894 {
03895         as_expression::gc_mark();
03896 }


Member Data Documentation

literal_kind lestes::lang::cplus::sem::as_literal::kind [private]

Definition at line 2221 of file as_expr.g.hh.

Referenced by kind_get(), and kind_set().

srp< ::lestes::lang::cplus::lex::cpp_token > lestes::lang::cplus::sem::as_literal::value [private]

Definition at line 2223 of file as_expr.g.hh.

Referenced by value_get(), and value_set().

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

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

Definition at line 2224 of file as_expr.g.hh.

Referenced by reflection_get().


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