Annotation of parser3/src/types/pa_vjunction.C, revision 1.16
1.1 paf 1: /** @file
1.4 misha 2: Parser: @b junction class decl.
1.1 paf 3:
1.15 moko 4: Copyright (c) 2001-2015 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.16 ! moko 14: volatile const char * IDENT_PA_VJUNCTION_C="$Id: pa_vjunction.C,v 1.15 2015/10/26 01:22:01 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
1.16 ! moko 37: if(aname==class_element_name)
1.9 misha 38: return this;
39: // .CLASS_NAME
1.16 ! moko 40: if(aname==class_name_element_name)
1.9 misha 41: return new VString(junction_class_name);
42: return Value::get_element(aname);
1.10 misha 43: }
1.14 moko 44: #endif
E-mail: