Diff for /parser3/src/main/Attic/core.C between versions 1.27 and 1.30

version 1.27, 2001/02/23 11:39:58 version 1.30, 2001/02/23 21:59:07
Line 3  $Id$ Line 3  $Id$
 */  */
   
 #include "pa_request.h"  #include "pa_request.h"
 #include "pa_wcontext.h"  #include "pa_wwrapper.h"
 #include "pa_common.h"  #include "pa_common.h"
 #include "pa_vclass.h"  #include "pa_vclass.h"
   
Line 58  VClass *Request::construct_class(String& Line 58  VClass *Request::construct_class(String&
         // TODO: immediate_parents=@PARENTS          // TODO: immediate_parents=@PARENTS
   
         VClass *result=NEW VClass(pool(), name, immediate_parents);          VClass *result=NEW VClass(pool(), name, immediate_parents);
           result->set_name(name);
         classes().put(name, result);          classes().put(name, result);
                                   
         for(int i=0; i<compiled_methods.size(); i++) {          for(int i=0; i<compiled_methods.size(); i++) {
Line 72  VClass *Request::construct_class(String& Line 73  VClass *Request::construct_class(String&
 char *Request::execute_MAIN(VClass *class_RUN) {  char *Request::execute_MAIN(VClass *class_RUN) {
         // initialize contexts          // initialize contexts
         root=self=rcontext=class_RUN;          root=self=rcontext=class_RUN;
         wcontext=NEW WContext(pool(), class_RUN);          wcontext=NEW WWrapper(pool(), class_RUN);
   
         // locate @main code          // locate @main code
         String name_main(pool());          String name_main(pool());
         name_main.APPEND_CONST(MAIN_METHOD_NAME);          name_main.APPEND_CONST(MAIN_METHOD_NAME);
   
         Method *method_main=class_RUN->get_method(name_main);          Value *value_main=class_RUN->get_element(name_main);
         if(!method_main)          if(!value_main)
                 THROW(0,0,                  THROW(0,0,
                         &class_RUN->name(),                          &class_RUN->name(),
                         "no '"MAIN_METHOD_NAME"' method in class");                          "no '"MAIN_METHOD_NAME"' method in class");
   
           Junction *junction_main=value_main->get_junction();
           const Method *method_main=junction_main->method;
   
           if(!method_main)
                   THROW(0,0,
                           &class_RUN->name(),
                           "'"MAIN_METHOD_NAME"' in class is not a method");
   
         // execute!               // execute!     
         execute(method_main->code);          execute(method_main->code);
   

Removed from v.1.27  
changed lines
  Added in v.1.30


E-mail: