Annotation of parser3/src/types/pa_vclass.C, revision 1.1

1.1     ! paf         1: /*
        !             2:        Parser
        !             3:        Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
        !             4:        Author: Alexander Petrosyan <paf@design.ru>
        !             5: 
        !             6:        $Id: pa_vclass.C,v 1.4 2001/03/10 16:34:40 paf Exp $
        !             7: */
        !             8: 
        !             9: #include "pa_vclass.h"
        !            10: #include "pa_vstring.h"
        !            11: 
        !            12: Value *VClass::get_element(const String& aname) {
        !            13:        // $NAME=my name
        !            14:        if(aname==NAME_NAME)
        !            15:                return NEW VString(fclass_alias->name());
        !            16:        // $CLASS=my class=myself
        !            17:        if(aname==CLASS_NAME)
        !            18:                return fclass_alias;
        !            19:        // $BASE=my parent
        !            20:        if(aname==BASE_NAME)
        !            21:                return fclass_alias->base();
        !            22:        // $method=junction(self+class+method)
        !            23:        if(Junction *junction=get_junction(*this, aname))
        !            24:                return NEW VJunction(*junction);
        !            25:        // $field=static field
        !            26:        return get_field(aname);
        !            27: }
        !            28: 
        !            29: // object_class, operator_class: (field)=value - static values only
        !            30: void VClass::put_element(const String& name, Value *value) {
        !            31:        set_field(name, value);
        !            32: }

E-mail: