Changeset aa86123 in tol


Ignore:
Timestamp:
Jun 7, 2011, 9:09:33 AM (15 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
c00e3a5
Parents:
21a0cae
Message:

Fixes #1224

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

Location:
tol/btol/bgrammar
Files:
3 edited

Legend:

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

    r21a0cae raa86123  
    503503
    504504//--------------------------------------------------------------------
     505  void BMember::PutDescription(const BText& desc)
     506//--------------------------------------------------------------------
     507{
     508//if(desc=="Devuelve el valor de @C::_.A")
     509//  printf("");
     510  BSyntaxObject* obj = NULL;
     511  description_ = desc;
     512  if(method_) { obj = method_; }
     513  else if(static_) { obj = static_; }
     514  if(obj)
     515  {
     516    obj->PutDescription(desc);
     517  }
     518}
     519
     520//--------------------------------------------------------------------
    505521BMemberOwner::BMemberOwner()
    506522//--------------------------------------------------------------------
    … …  
    15671583    BClass* parent = (BClass*)mbr->parent_;
    15681584    BClass* firstParent = (BClass*)mbr->firstParent_;
    1569     if(!parent || !firstParent) { return(false); }
     1585    if(!parent || !firstParent)
     1586    {
     1587      if(mbr->description_.HasName() && mbr->description_!=desc)
     1588      {
     1589        return(false);
     1590      }
     1591      else
     1592      {
     1593        mbr->PutDescription(desc);
     1594        return(true);
     1595      }
     1596    }
    15701597    if(( mbr->method_ && (parent     ==this)) ||
    15711598       (!mbr->method_ && (firstParent==mbr->parent_)) )
    15721599    {
    1573       mbr->description_ = desc;
    1574       if(mbr->method_) { obj = mbr->method_; }
    1575       else if(mbr->static_) { obj = mbr->static_; }
    1576       if(obj)
    1577       {
    1578         obj->PutDescription(desc);
    1579       }
     1600      mbr->PutDescription(desc);
    15801601    }
    15811602    else
    15821603    {
    1583       if(!mbr->method_)
    1584       {
    1585         mbr->description_ = firstParent->FindMember(name)->description_;
    1586       }
    1587       else
    1588       {
    1589         mbr->description_ = desc;
    1590       }
    1591       ok = false;
    15921604      if(mbr->method_)
    15931605      {
     1606        ok = false;
    15941607        Warning(I2("Cannot change description of non overloaded method ",
    15951608                   "No se puede cambiar la descripción de un método no sobrecargado ")+
    … …  
    16001613      else
    16011614      {
     1615        BMember* inherited = firstParent->FindMember(name);
     1616        ok = false;
     1617        if(!inherited)
     1618        {
     1619          Warning(I2("Cannot find attribute ",
     1620                     "No se encuentra el atributo ")+
     1621                  getFullNameRef()+"::"+name+
     1622                  I2(" inherited from "," heredado de ")+
     1623                  firstParent->getFullNameRef()+"::"+name);
     1624        }
     1625        else
     1626        {
     1627          mbr->PutDescription(inherited->description_);
     1628        }
    16021629        Warning(I2("Cannot change description of non method member ",
    1603                    "No se puede cambiar la descripción de un miembro que no es un método ")+
     1630                   "No se puede cambiar la descripción de un atrib ")+
    16041631                getFullNameRef()+"::"+name+
    16051632                I2(" originally inherited from "," heredado originalmente de ")+
  • tol/btol/bgrammar/spfuninst.cpp

    r21a0cae raa86123  
    10311031      else if(!obj)
    10321032      {
    1033         obj = gra->LeftEvaluateExpr(tokenName);     
     1033        obj = FindStruct(tokenName);
     1034        if(!obj) { obj = gra->LeftEvaluateExpr(tokenName); }
    10341035      }
    10351036    }
  • tol/btol/bgrammar/tol_bclass.h

    r21a0cae raa86123  
    102102  int BuildMethod();
    103103  int BuildStatic();
    104         BText       Dump            () const;
    105 
     104        BText   Dump () const;
     105  void PutDescription(const BText& desc);
    106106  DeclareClassNewDelete(BMember);
    107107};
Note: See TracChangeset for help on using the changeset viewer.