Changeset 7e5625d in tol


Ignore:
Timestamp:
Jun 24, 2010, 1:47:16 PM (16 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
7508034
Parents:
ff4ad677
Message:

Refs #921
Using new method CheckNonDeclarativeAction
New built-in functions ClassAscentOf

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/set_type/setgra.cpp

    rff4ad677 r7e5625d  
    4343#include <tol/tol_btsrgrp.h>
    4444#include <tol/tol_bstruct.h>
     45#include <tol/tol_bclass.h>
    4546
    4647#if defined(__USE_TC__)
    … …  
    130131  BSyntaxObject* Evaluator(BList* arg) const
    131132  {
     133    if(CheckNonDeclarativeAction("Append")) { return(NULL); }
    132134    BList* lst = arg;
    133135    bool incrementalIndexByName = false;
    … …  
    472474//--------------------------------------------------------------------
    473475{
     476  if(CheckNonDeclarativeAction("PutStructure")) { return; }
    474477  BText    name = Text(Arg(1));
    475478  BStruct* str  = FindStruct(name);
    … …  
    942945//--------------------------------------------------------------------
    943946{
     947  if(CheckNonDeclarativeAction("SetIndexByName")) { return; }
    944948  BSet& set = Set(Arg(1));
    945949  contens_ = set.SetIndexByName();
    … …  
    25952599//--------------------------------------------------------------------
    25962600{
     2601  if(CheckNonDeclarativeAction("Tcl_Eval")) { return; }
    25972602  BText &script = Text(Arg(1));
    25982603  BList * result = NIL;
    … …  
    26362641//--------------------------------------------------------------------
    26372642{
     2643  if(CheckNonDeclarativeAction("Tcl_EvalEx")) { return; }
    26382644  BSet &cmd = Set(Arg(1));
    26392645  BList * result = NIL;
    … …  
    27512757
    27522758
    2753 
     2759//--------------------------------------------------------------------
     2760DeclareContensClass(BSet, BSetTemporary, BSetClassAscentOf);
     2761DefExtOpr(1, BSetClassAscentOf, "ClassAscentOf", 1, 1,
     2762          "Text",
     2763          "(Text className)",
     2764          I2("Returns the ascent classes of a given class\"\"",
     2765             "Retorna las clases ascendientes de una clase dada \"\""),
     2766          BOperClassify::General_);
     2767
     2768//--------------------------------------------------------------------
     2769void BSetClassAscentOf::CalcContens()
     2770//--------------------------------------------------------------------
     2771{
     2772  const BText& name = Text(Arg(1));
     2773  BClass* found = FindClass(name,1);
     2774  if(found)
     2775  {
     2776    BMemberOwner::BClassByNameHash* hash = found->ascentHash_;
     2777    BMemberOwner::BClassByNameHash::const_iterator iterC;
     2778    contens_.PrepareStore(hash->size());
     2779    for(iterC=hash->begin(); iterC!=hash->end(); iterC++)
     2780    {
     2781      BText fn = iterC->second->FullName();
     2782    //Std(BText(""\nBOisCreator::Write BMemberOwner parent ")+fn);
     2783      contens_.AddElement(new BContensText("",fn,""));
     2784    }
     2785  }
     2786}
Note: See TracChangeset for help on using the changeset viewer.