Changeset 7881d14d in tol


Ignore:
Timestamp:
Apr 21, 2010, 4:31:27 PM (17 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
6ad2ca7
Parents:
b686a59
Message:

Fixes #837

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

Location:
tol
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/bgrammar/class.cpp

    rb686a59 r7881d14d  
    12481248      ok = (class_!=NULL);
    12491249      cdr = cdr->cdr();
     1250      BText owner = "";
    12501251      while(ok && !memberLst && cdr &&
    12511252            cdr->car() && cdr->car()->IsListClass())
    … …  
    12531254        car = ((List*)(cdr->car()))->car();
    12541255        tok = (BToken*)car;
    1255         if((tok->TokenType()==TYPE) &&
     1256        BText parentName = "";
     1257        if(tok->Name()=="::")
     1258        {
     1259          ok = false;
     1260          if(cdr->car() && cdr->car()->IsListClass())
     1261          {
     1262            cdr = ((List*)(cdr->car()))->cdr();
     1263            if(cdr && cdr->car()->IsListClass())
     1264            {
     1265              car = ((List*)(cdr->car()))->car();
     1266              cdr = cdr->cdr();
     1267              BToken* tokOwner = (BToken*)car;
     1268              if(owner.HasName()) { owner = owner + "::" + tokOwner->Name(); }
     1269              else { owner = tokOwner->Name(); }
     1270              ok = true;
     1271            }
     1272          }
     1273          continue;
     1274        }
     1275        else if((tok->TokenType()==TYPE) &&
    12561276           (!tok->Close()) &&
    12571277           (((BTypeToken*)tok)->type_==BTypeToken::BCLASS))
    12581278        {
    12591279          parentArr.ReallocBuffer(nParent+1);
    1260           parentArr[nParent] = FindClass(tok->Name(),-1);
    1261           if(parentArr[nParent])
     1280          BClass* parent = NULL;
     1281          if(owner.HasName())
    12621282          {
     1283            parent = FindClass(owner+"::"+tok->Name(),-1);
     1284            owner = "";
     1285          }
     1286          else
     1287          {
     1288            parent = FindClass(tok->Name(),-1);
     1289          }
     1290          if(parent)
     1291          {
     1292            parentArr[nParent] = parent;
    12631293            nParent++;
    12641294            cdr = ((List*)(cdr->car()))->cdr();
    … …  
    12791309        }
    12801310      }
    1281       if(ok && !memberLst && cdr)
     1311      if(ok && !parentArr.Size())
     1312      {
     1313        ok = false;
     1314        parentArr.ReallocBuffer(0);
     1315        Error(I2("No valid parent class list",
     1316                 "Lista de clases padre no válida")+":\n"+
     1317              BParser::Unparse(tree));
     1318      }
     1319      else if(ok && !memberLst && cdr)
    12821320      {
    12831321        memberLst = (List*)(cdr->car());
  • tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_missingBlock.tol

    rb686a59 r7881d14d  
    88
    99////////////////////////////////////////////////////////////////////////////
    10 Class @BlockMissingBase :
     10Class @BlockMissingBase
    1111////////////////////////////////////////////////////////////////////////////
    1212{
  • tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/gibbs/_outputMissing.tol

    rb686a59 r7881d14d  
    77
    88////////////////////////////////////////////////////////////////////////////
    9 Class @OutputMissingBase :
     9Class @OutputMissingBase
    1010////////////////////////////////////////////////////////////////////////////
    1111{
Note: See TracChangeset for help on using the changeset viewer.