Changeset 9bece5f in tol


Ignore:
Timestamp:
Jan 11, 2011, 9:49:33 AM (16 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
a94d7fe
Parents:
2c3c594
Message:

Refs #1054
Dependencies will be handled directly by the NameBlock

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@3003 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tol
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • tol/LoadDynLib/LoadDynLib.cpp

    r2c3c594 r9bece5f  
    6666  uCode->PutName(name);
    6767  uCode->PutDescription(desc);
    68   nb.AddElement(uCode,true);
     68  nb.AddElement(uCode,true,false);
    6969  return(uCode);
    7070}
  • tol/OIS/oisloader.cpp

    r2c3c594 r9bece5f  
    175175    {
    176176      EnsureFileOpenR(hrchyDetail_, "hrchyDetail", ".hrchyDetail"    );
     177    //hrchyDetail_.SetPos(strlen(".hrchyDetail"));
    177178      TRACE_SHOW_LOW(fun,"2.15");
    178179      EnsureFileOpenR(hrchyOffset_, "hrchyOffset", ".hrchyOffset"    );
     180    //hrchyOffset_.SetPos(strlen(".hrchyOffset"));
    179181      TRACE_SHOW_LOW(fun,"2.16");
    180182      EnsureFileOpenR(hrchyOrder_,  "hrchyOrder",  ".hrchyOrder"     );
     183    //hrchyOrder_.SetPos(strlen(".hrchyOrder"));
    181184      TRACE_SHOW_LOW(fun,"2.17");
    182185    }
    … …  
    215218  ERead(aux, code_   ); if(aux!=address+"/.code>\n"   ) { return(BinError(".code"    )); }
    216219  if(control_.oisEngine_.oisVersion_>="01.07") {
    217   ERead(aux, hrchyDetail_); if(aux!=address+"/.hrchyDetail>\n") { return(BinError(".hrchyDetail" )); }
    218   ERead(aux, hrchyOffset_); if(aux!=address+"/.hrchyOffset>\n") { return(BinError(".hrchyOffset" )); }
    219   ERead(aux, hrchyOrder_ ); if(aux!=address+"/.hrchyOrder>\n" ) { return(BinError(".hrchyOrder"  )); } }
     220    ERead(aux, hrchyDetail_);
     221    if(aux!=address+"/.hrchyDetail>\n") { return(BinError(".hrchyDetail" )); }
     222    hrchyDetail_->SetPos(sizeof(int)+aux.Length());
     223    ERead(aux, hrchyOffset_);
     224    if(aux!=address+"/.hrchyOffset>\n") { return(BinError(".hrchyOffset" )); }
     225    hrchyOffset_->SetPos(sizeof(int)+aux.Length());
     226    ERead(aux, hrchyOrder_ );
     227    if(aux!=address+"/.hrchyOrder>\n" ) { return(BinError(".hrchyOrder"  )); }
     228    hrchyOrder_->SetPos(sizeof(int)+aux.Length());
     229  }
    220230  else { numFiles-=3; }
    221231  enable_BSE_=(control_.oisEngine_.oisVersion_>="01.08")!=0;
    … …  
    440450        owner.getFullName()+
    441451        I2(" due to ascent Class "," debido a que su ascendiente Class ")+
    442         parentName+I2(" doesn't exist"," no existe")));
     452        parentName+I2(" doesn't exist"," no existe"))!=0);
    443453    }
    444454    const BText& fn = parent->getFullNameRef();
    … …  
    12061216              if(!mem)
    12071217              {
    1208                 oldBuilding->Contens().AddElement(unb, true);
     1218                oldBuilding->Contens().AddElement(unb, true, true);
    12091219              }
    12101220            }
    … …  
    12291239              if(!mem)
    12301240              {
    1231                 x.AddElement(r, true);
     1241                x.AddElement(r, true, true);
    12321242              }
    12331243            }
  • tol/btol/bgrammar/nameblock.cpp

    r2c3c594 r9bece5f  
    426426    if(oldBuildingLevel == level-1)
    427427    {
    428       oldBuilding->Contens().AddElement(ns_result, true);
     428      oldBuilding->Contens().AddElement(ns_result, true, false);
    429429    //BSyntaxObject* found = GraNameBlock()->EvaluateExpr(fullName);
    430430    //assert(found);
    … …  
    466466          if(obj)
    467467          {
    468             newNameBlock.AddElement(obj,true);
     468            newNameBlock.AddElement(obj,true,false);
    469469          }
    470470        }
    … …  
    554554        {
    555555          obj = GraAnything()->EvaluateTree(mbr->branch_);
    556           newNameBlock.AddElement(obj, true);
     556          newNameBlock.AddElement(obj, true, false);
    557557        }
    558558      }
    … …  
    611611
    612612//--------------------------------------------------------------------
    613   bool BNameBlock::AddElement(BSyntaxObject* obj, bool addToSet)
     613  bool BNameBlock::AddElement(BSyntaxObject* obj, bool addToSet, bool fromOis)
    614614//--------------------------------------------------------------------
    615615{
    … …  
    634634    return(false);
    635635  }
    636   if(name=="_this")
    637   {
    638     Error(I2("Reserved member name ",
    639              "Nombre de miembro reservado  ")+ name+"\n"+
    640             I2("Cannot build NameBlock ",
    641                "No se puede construir el NameBlock ")+Name());
    642     return(false);
    643   }
    644636  BSyntaxObject* mem = Member(name);
    645637  if(mem)
    … …  
    690682      nonPrivateMembers_++;
    691683    //Std(BText("\nTRACE BNameBlock::Build added read only member ")+Name()+"::"+name+"\n");
    692     }
    693   //else { Std(BText("\nTRACE BNameBlock::Build added private member ")+Name()+"::"+name+"\n"); }
     684      if(!fromOis && (name=="_.autodoc.dependencies"))
     685      {
     686        if(obj->Grammar()!=GraSet())
     687        {
     688          Error(I2("Wrong declaration of ","Definición errónea de ")+
     689                obj->Grammar()->Name()+" "+LocalName()+"::_.autodoc.dependencies"+
     690                I2("It should be of type ","Debería ser de tipo ")+"Set");
     691          return(false);
     692        }
     693        BSet& dep = ::Set(obj);
     694        if(dep.Card())
     695        {
     696          Warning(I2("Obsolete declaration of ","Definición obsoleta de ")+
     697                obj->Grammar()->Name()+" "+LocalName()+"::_.autodoc.dependencies"+
     698                I2("It should be empty due it will be filled with required packages",
     699                   "Debería estar vacío porque se rellena automáticamente con los "
     700                   "paquetes requeridos"));
     701        }
     702        int reqNum = CountRequiredPackage();
     703        dep.Delete();
     704        dep.PrepareStore(reqNum);
     705        int d;
     706        for(d=0; d<reqNum; d++)
     707        {
     708          BText txt = GetRequiredPackage(d);
     709          dep.AddElement(new BContensText("",txt,""));
     710        }
     711      }
     712      else  if(!fromOis && (name=="_.autodoc.name"))
     713      {
     714        if(obj->Grammar()!=GraText())
     715        {
     716          Error(I2("Wrong declaration of ","Definición errónea de ")+
     717                obj->Grammar()->Name()+" "+LocalName()+"::_.autodoc.name"+
     718                I2("It should be of type ","Debería ser de tipo ")+"Text");
     719          return(false);
     720        }
     721        BText& nt = Text(obj);
     722        if(nt.HasName() && (nt!=LocalName()))
     723        {
     724          Error(I2("Wrong declaration of ","Definición errónea de ")+
     725                obj->Grammar()->Name()+" "+LocalName()+"::_.autodoc.name = \""+nt+"\";\n"+
     726                I2("It should be ","Debería ser \"")+LocalName()+"\"");
     727          return(false);
     728        }
     729        nt = LocalName();
     730      }
     731
     732    }
     733    else if(name=="_this")
     734    {
     735      Error(I2("Reserved member name ",
     736               "Nombre de miembro reservado  ")+ name+"\n"+
     737              I2("Cannot build NameBlock ",
     738                 "No se puede construir el NameBlock ")+Name());
     739      return(false);
     740    }
    694741    private_[name] = obj;
    695742  }
    … …  
    737784  {
    738785    obj = set_[i+1];
    739     AddElement(obj, false);
     786    AddElement(obj, false, false);
    740787  }
    741788  return(CheckMembers());
    … …  
    12171264};
    12181265//--------------------------------------------------------------------
    1219   int BRequiredPackage::CountRequiredPackage()
     1266  int BRequiredPackage::CountRequiredPackage() const
    12201267//--------------------------------------------------------------------
    12211268{
    … …  
    12241271
    12251272//--------------------------------------------------------------------
    1226   const BText& BRequiredPackage::GetRequiredPackage(int k)
     1273  const BText& BRequiredPackage::GetRequiredPackage(int k) const
    12271274//--------------------------------------------------------------------
    12281275{
    … …  
    12431290
    12441291//--------------------------------------------------------------------
    1245   int BNameBlock::CountRequiredPackage()
     1292  int BNameBlock::CountRequiredPackage() const
    12461293//--------------------------------------------------------------------
    12471294{
    … …  
    12511298
    12521299//--------------------------------------------------------------------
    1253   const BText& BNameBlock::GetRequiredPackage(int k)
     1300  const BText& BNameBlock::GetRequiredPackage(int k) const
    12541301//--------------------------------------------------------------------
    12551302{
  • tol/btol/bgrammar/tol_bnameblock.h

    r2c3c594 r9bece5f  
    5858  BRequiredPackage();
    5959  bool AddRequiredPackage(const BText& name);
    60   int CountRequiredPackage();
    61   const BText& GetRequiredPackage(int k);
     60  int CountRequiredPackage() const;
     61  const BText& GetRequiredPackage(int k) const;
    6262};
    6363
    … …  
    143143  int BinRead (FILE*)       { return 0; }
    144144
    145   bool AddElement(BSyntaxObject* obj, bool addToSet);
     145  bool AddElement(BSyntaxObject* obj, bool addToSet, bool fromOis);
    146146  bool CheckMembers();
    147147  bool Build();
    … …  
    159159
    160160  bool AddRequiredPackage(const BText& name);
    161   int CountRequiredPackage();
    162   const BText& GetRequiredPackage(int k);
     161  int CountRequiredPackage() const;
     162  const BText& GetRequiredPackage(int k) const;
    163163
    164164  static bool AddGlobalRequiredPackage(const BText& name);
Note: See TracChangeset for help on using the changeset viewer.