|
|
| version 1.64, 2002/08/01 11:26:49 | version 1.68, 2002/12/15 14:25:22 |
|---|---|
| Line 5 | Line 5 |
| Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| */ | */ |
| static const char* IDENT_COMPILE_C="$Id$"; | static const char* IDENT_COMPILE_C="$Date$"; |
| #include "pa_opcode.h" | #include "pa_opcode.h" |
| #include "pa_request.h" | #include "pa_request.h" |
| Line 24 VStateless_class& Request::real_compile( | Line 24 VStateless_class& Request::real_compile( |
| // input | // input |
| pc.pool=&pool(); | pc.pool=&pool(); |
| pc.request=this; | pc.request=this; |
| VStateless_class *cclass; | // we were told the class to compile to? |
| if(aclass) // we were told the class to compile to? | pc.cclass=&aclass; // until changed with @CLASS would consider operators loading |
| cclass=aclass; // yes, remember it [used in ^process] | |
| else if(name) { // we were told the name of compiled class? | |
| // yes. create it | |
| cclass=NEW VClass(pool()); | |
| // defaulting base. may change with @BASE | |
| // dont use ?: for there would be getting & of temp object | |
| if(base_class) | |
| cclass->set_base(*base_class); | |
| classes().put(*name, cclass); | |
| cclass->set_name(*name); | |
| } else | |
| cclass=&OP; // until changed with @CLASS would consider operators loading | |
| pc.cclass=cclass; | |
| pc.source=source; | pc.source=source; |
| #ifndef NO_STRING_ORIGIN | #ifndef NO_STRING_ORIGIN |