Annotation of parser3/src/types/pa_wcontext.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_wcontext.C,v 1.10 2001/03/10 16:34:40 paf Exp $
        !             7: */
        !             8: 
        !             9: #include "pa_wcontext.h"
        !            10: #include "pa_exception.h"
        !            11: 
        !            12: // appends a fstring to result
        !            13: void WContext::write(const String& astring, String::Untaint_lang lang) {
        !            14:        fstring.append(astring, lang);
        !            15: }
        !            16: 
        !            17: // if value is VString writes fstring,
        !            18: // else writes Value; raises an error if already
        !            19: void WContext::write(Value& avalue, String::Untaint_lang lang) {
        !            20:        const String *fstring=avalue.get_string();
        !            21:        if(fstring)
        !            22:                write(*fstring, lang);
        !            23:        else
        !            24:                if(fvalue) // already have value?
        !            25:                        THROW(0,0,  // must not construct twice
        !            26:                        &avalue.name(),
        !            27:                        "(%s) illegal assignment attempt to '%s' (%s), use constructor instead",
        !            28:                                avalue.type(), fvalue->name().cstr(), fvalue->type());
        !            29:                else
        !            30:                        fvalue=&avalue;
        !            31: }
        !            32: 

E-mail: