Changeset d072dc9 in tol
- Timestamp:
- Mar 27, 2012, 5:39:32 PM (15 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 7427dd4c
- Parents:
- 318feeb
- Location:
- tol
- Files:
-
- 2 edited
-
btol/bgrammar/str.cpp (modified) (4 diffs)
-
init.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tol/btol/bgrammar/str.cpp
r318feeb rd072dc9 35 35 #include <tol/tol_bgrammar.h> 36 36 #include <tol/tol_bsymboltable.h> 37 #include <tol/tol_btxtgra.h> 37 38 #include <tol/tol_bsetgra.h> 38 39 #include <tol/tol_bcodgra.h> … … 40 41 #include <tol/tol_bclass.h> 41 42 43 static BStruct* strStructFieldInfo_ = NULL; 42 44 43 45 #ifdef CATCH_NON_STANDARD_STRUCT … … 240 242 # define TRACE_SHOW_STRUCT_STEP(fun,status,pos,step) 241 243 #endif 244 242 245 243 246 //-------------------------------------------------------------------- … … 725 728 return(ok); 726 729 } 730 731 //-------------------------------------------------------------------- 732 DeclareContensClass(BSet, BSetTemporary, BStructFields); 733 DefExtOpr(1, BStructFields, "StructFields", 1, 1, "Text", 734 "(Text className)", 735 I2("Returns a set with a register of information about each field " 736 " on a structure. The information is returned using structure\n", 737 "Devuelve un conjunto con un registro de información acerca " 738 "de cada uno de los campos de una estructura. La " 739 "información se devuelve usando la estructura:\n")+ 740 " @StructFieldInfo { \n" 741 " Text Type,\n" 742 " Text Name,\n" 743 " Text Description }\n", 744 BOperClassify::System_); 745 //-------------------------------------------------------------------- 746 void BStructFields::CalcContens() 747 //-------------------------------------------------------------------- 748 { 749 static BStruct* strStructFieldInfo_ = NULL; 750 if(!strStructFieldInfo_) 751 { 752 strStructFieldInfo_ = FindStruct("@StructFieldInfo"); 753 } 754 assert(strStructFieldInfo_); 755 const BText& strName = Text(Arg(1)); 756 BStruct* str = FindStruct(strName); 757 if(!str) { return; } 758 int i; 759 contens_.PrepareStore(str->Size()); 760 for(i=0; i<str->Size(); i++) 761 { 762 BField& fld = (*str)[i]; 763 BSet reg; 764 reg.PrepareStore(3); 765 reg.AddElement(new BContensText("",fld.GetType(),"")); 766 reg.AddElement(new BContensText("",fld.Name(),"")); 767 reg.AddElement(new BContensText("","","")); 768 reg.PutStruct(strStructFieldInfo_); 769 contens_.AddElement(new BSetTuple("", reg)); 770 } 771 } -
tol/init.cpp
r318feeb rd072dc9 985 985 986 986 InitRefStructs(); 987 988 BStruct* strStructFieldInfo_ = NewStruct("@StructFieldInfo", 989 "Text:Type," 990 "Text:Name," 991 "Text:Description"); 987 992 988 993 TOLHasBeenInitialized_ = true;
Note: See TracChangeset
for help on using the changeset viewer.
