Annotation of parser3/src/types/pa_vjunction.C, revision 1.17
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"
1.17 ! moko 13: #include "pa_symbols.h"
1.6 misha 14:
1.17 ! moko 15: volatile const char * IDENT_PA_VJUNCTION_C="$Id: pa_vjunction.C,v 1.16 2016/04/06 22:45:33 moko Exp $" IDENT_PA_VJUNCTION_H IDENT_PA_JUNCTION_H;
1.11 moko 16:
1.6 misha 17: void VJunction::reattach(WContext *new_wcontext){
18: if(new_wcontext) {
19: assert(fjunction.wcontext!=new_wcontext);
20: fjunction.wcontext=new_wcontext;
21: fjunction.wcontext->attach_junction(this);
1.8 misha 22: } else {
23: fjunction.method_frame=0;
24: fjunction.rcontext=0;
25: fjunction.wcontext=0;
1.7 misha 26: }
1.6 misha 27: }
28:
1.1 paf 29:
1.12 moko 30: override Value& VJunction::as_expr_result() {
31: return VBool::get(false);
1.1 paf 32: }
1.9 misha 33:
34:
1.13 misha 35: #ifndef OPTIMIZE_BYTECODE_GET_ELEMENT__SPECIAL
1.9 misha 36: Value* VJunction::get_element(const String& aname) {
1.17 ! moko 37: // $CLASS
! 38: if(SYMBOLS_EQ(aname,CLASS_SYMBOL))
1.9 misha 39: return this;
1.17 ! moko 40:
! 41: // $CLASS_NAME
! 42: if(SYMBOLS_EQ(aname,CLASS_NAME_SYMBOL))
1.9 misha 43: return new VString(junction_class_name);
1.17 ! moko 44:
1.9 misha 45: return Value::get_element(aname);
1.10 misha 46: }
1.14 moko 47: #endif
E-mail: