Changeset 43a523a in tol


Ignore:
Timestamp:
Apr 2, 2012, 12:31:50 PM (15 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
fa76d3a
Parents:
61fc3db
Message:

Fixes #1497

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

Location:
tol/btol/bgrammar
Files:
2 edited

Legend:

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

    r61fc3db r43a523a  
    13911391{
    13921392  return(array_[k]);
     1393}
     1394
     1395//--------------------------------------------------------------------
     1396  BText BRequiredPackage::GetRequiredPackageVersion(int k) const
     1397//--------------------------------------------------------------------
     1398{
     1399  BText pkg = array_[k];
     1400  BText pkg_ver_expr = BText("\".\"<<")+
     1401      pkg+"::_.autodoc.version.high << \".\" << "+
     1402      pkg+"::_.autodoc.version.low";
     1403//Std(BText("\nTRACE pkg_ver_expr=")+pkg_ver_expr+"\n");
     1404  BSyntaxObject*  aux = GraText()->EvaluateExpr(pkg_ver_expr);
     1405  BText pkg_ver = pkg+Text(aux);
     1406  DESTROY(aux);
     1407  return(pkg_ver);
    13931408}
    13941409
    … …  
    18761891
    18771892
     1893//--------------------------------------------------------------------
     1894DeclareContensClass(BSet, BSetTemporary, BSetRequiredPackages);
     1895DefExtOpr(1, BSetRequiredPackages, "RequiredPackages", 1, 1, "Real",
     1896 "(Real unused)",
     1897 I2("Returns a set of strings with the extact name and version of "
     1898    "all currently required packages.",
     1899    "Devuelve un conjunto de textos con los nombres y versiones "
     1900    "exactas de todos los paquetes requeridos en el momento de la "
     1901    "llamada."),
     1902 BOperClassify::System_);
     1903//--------------------------------------------------------------------
     1904void BSetRequiredPackages::CalcContens()
     1905//--------------------------------------------------------------------
     1906{
     1907  int i;
     1908  BText pkg_ver;
     1909  BSyntaxObject* aux;
     1910  const BRequiredPackage& grp = BNameBlock::GlobalRequiredPackages();
     1911  int n = grp.CountRequiredPackage();
     1912  contens_.PrepareStore(n);
     1913  for(i=0; i<n; i++)
     1914  {
     1915    pkg_ver = grp.GetRequiredPackageVersion(i);
     1916    contens_.AddElement(new BContensText("",pkg_ver,""));
     1917  }
     1918}
     1919
     1920//--------------------------------------------------------------------
     1921DeclareContensClass(BDat, BDatTemporary, BDatRequireSetOfPackages);
     1922DefExtOpr(1, BDatRequireSetOfPackages, "RequireSetOfPackages", 1, 1, "Set",
     1923 "(Set packages)",
     1924 I2("Requires a list of packages. Returns the number of true loaded "
     1925    "packages.",
     1926    "Requiere una lista de paquetes. Devuelve el número de paquetes "
     1927    "que realmente se han podido cargar o ya lo estaban."),
     1928 BOperClassify::System_);
     1929//--------------------------------------------------------------------
     1930void BDatRequireSetOfPackages::CalcContens()
     1931//--------------------------------------------------------------------
     1932{
     1933  const BSet& pkg = Set(Arg(1));
     1934  int i;
     1935  int k = 0;
     1936  for(i=1; i<=pkg.Card(); i++)
     1937  {
     1938    if(pkg[i]->Grammar() == GraText())
     1939    {
     1940      BSyntaxObject* loaded = BPackage::Load(Text(pkg[i]),true);
     1941      if(loaded) { k++; }
     1942    }
     1943  }
     1944  contens_ = k;
     1945}
  • tol/btol/bgrammar/tol_bnameblock.h

    r61fc3db r43a523a  
    6060  int CountRequiredPackage() const;
    6161  const BText& GetRequiredPackage(int k) const;
     62  BText GetRequiredPackageVersion(int k) const;
    6263};
    6364
    … …  
    110111  static BSyntaxObject* UsingMember(const BObjClassify&  oc, const BText& memberName);
    111112  static BList* Select(BList* lst, const BObjClassify&  oc);
     113  static const BRequiredPackage& GlobalRequiredPackages() { return globalRequiredPackages_; }
    112114
    113115  BNameBlock();
Note: See TracChangeset for help on using the changeset viewer.