Changeset 4419

Show
Ignore:
Timestamp:
03/26/12 12:06:36 (6 years ago)
Author:
vdebuen
Message:

Fixes #1489 in 3.1

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • tolp/branches/release_3.1/tol/btol/bgrammar/nameblock.cpp

    r4407 r4419  
    225225        BUserCode* uCode = UCode(obj); 
    226226        BOperator* opr   = GetOperator(uCode); 
    227         if ( opr->NameBlock() && opr->NameBlock() == this ) { 
     227        if ( opr && opr->NameBlock() && opr->NameBlock() == this ) { 
    228228          opr->PutNameBlock( NULL ); 
    229229        } 
     
    567567      { 
    568568        mbr = memberOwner.member_[n]->member_;  
    569         if(mbr->method_)  
     569        if(mbr && mbr->method_)  
    570570        {  
    571571          mbr->method_->PutNameBlock(NULL);  
     
    573573          { 
    574574            BUserCode* uCode = UCode(mbr->method_); 
    575             uCode->Contens().Operator()->PutNameBlock(NULL); 
     575            BOperator* opr = uCode->Contens().Operator(); 
     576            if(opr) { opr->PutNameBlock(NULL); } 
    576577          } 
    577578        } 
    578         if(mbr->static_)  
     579        if(mbr && mbr->static_)  
    579580        {  
    580581          mbr->static_->PutNameBlock(NULL);  
     
    582583          { 
    583584            BUserCode* uCode = UCode(mbr->static_); 
    584             uCode->Contens().Operator()->PutNameBlock(NULL); 
     585            BOperator* opr = uCode->Contens().Operator(); 
     586            if(opr) { opr->PutNameBlock(NULL); } 
    585587          } 
    586588        } 
     
    932934      { 
    933935        BUserCode* uCode = UCode(met); 
    934         uCode->Contens().Operator()->PutNameBlock(this); 
     936        BOperator* opr = uCode->Contens().Operator(); 
     937        if(opr) { opr->PutNameBlock(this); } 
    935938      } 
    936939      result = met;  
     
    965968      { 
    966969        BUserCode* uCode = UCode(met); 
    967         uCode->Contens().Operator()->PutNameBlock(this); 
     970        BOperator* opr = uCode->Contens().Operator(); 
     971        if(opr) { opr->PutNameBlock(this); } 
    968972      } 
    969973      result = met;  
     
    11421146      { 
    11431147        BUserCode* uCode = UCode(met); 
    1144         uCode->Contens().Operator()->PutNameBlock(this); 
     1148        BOperator* opr = uCode->Contens().Operator(); 
     1149        if(opr) { opr->PutNameBlock(this); } 
    11451150      } 
    11461151      result = met;