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: