Annotation of parser3/src/main/pa_wcontext.C, revision 1.7

1.1       paf         1: /*
1.7     ! paf         2:   $Id: pa_wcontext.C,v 1.6 2001/03/08 15:50:53 paf Exp $
1.1       paf         3: */
                      4: 
                      5: #include "pa_wcontext.h"
                      6: #include "pa_exception.h"
                      7: 
1.4       paf         8: // appends a fstring to result
1.7     ! paf         9: void WContext::write(String& astring, String::Untaint_lang lang) {
        !            10:        fstring.append(astring, lang);
1.1       paf        11: }
                     12: 
1.4       paf        13: // if value is VString writes fstring,
1.1       paf        14: // else writes Value; raises an error if already
1.5       paf        15: void WContext::write(Value& avalue) {
                     16:        String *fstring=avalue.get_string();
1.4       paf        17:        if(fstring)
1.7     ! paf        18:                write(*fstring, String::Untaint_lang::APPENDED);
1.1       paf        19:        else
                     20:                if(fvalue) // already have value?
1.2       paf        21:                        THROW(0,0,  // must not construct twice
1.6       paf        22:                        &avalue.name(),
                     23:                        "(%s) illegal assignment attempt to '%s' (%s), use constructor instead",
                     24:                                avalue.type(), fvalue->name().cstr(), fvalue->type());
1.1       paf        25:                else
1.5       paf        26:                        fvalue=&avalue;
1.1       paf        27: }
                     28: 

E-mail: