Annotation of parser3/src/types/pa_vjunction.C, revision 1.13
1.1 paf 1: /** @file
1.4 misha 2: Parser: @b junction class decl.
1.1 paf 3:
1.11 moko 4: Copyright (c) 2001-2012 Art. Lebedev Studio (http://www.artlebedev.com)
1.1 paf 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
6: */
7:
1.4 misha 8: // include
1.2 paf 9:
1.1 paf 10: #include "pa_vjunction.h"
1.4 misha 11: #include "pa_vbool.h"
1.6 misha 12: #include "pa_wcontext.h"
13:
1.13 ! misha 14: volatile const char * IDENT_PA_VJUNCTION_C="$Id: pa_vjunction.C,v 1.12 2012/05/23 16:26:41 moko Exp $" IDENT_PA_VJUNCTION_H IDENT_PA_JUNCTION_H;
1.11 moko 15:
1.6 misha 16: void VJunction::reattach(WContext *new_wcontext){
17: if(new_wcontext) {
18: assert(fjunction.wcontext!=new_wcontext);
19: fjunction.wcontext=new_wcontext;
20: fjunction.wcontext->attach_junction(this);
1.8 misha 21: } else {
22: fjunction.method_frame=0;
23: fjunction.rcontext=0;
24: fjunction.wcontext=0;
1.7 misha 25: }
1.6 misha 26: }
27:
1.1 paf 28:
1.12 moko 29: override Value& VJunction::as_expr_result() {
30: return VBool::get(false);
1.1 paf 31: }
1.9 misha 32:
33:
1.13 ! misha 34: #ifndef OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL
1.9 misha 35: Value* VJunction::get_element(const String& aname) {
36: // .CLASS
37: if(aname==CLASS_NAME)
38: return this;
39: // .CLASS_NAME
40: if(aname==CLASS_NAMETEXT)
41: return new VString(junction_class_name);
42: return Value::get_element(aname);
1.10 misha 43: }
1.13 ! misha 44: #endif
E-mail: