/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: June 12, 1992 10:44:06 am PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: XTkCollectionsImpl, module: XTkCollectionsImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [4155442612,4079303707] XTkCollectionsImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {W8 f; W8 r;} W16; typedef struct {W8 f; word r;} W9; typedef struct {W16 f; W9 r;} W25; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef struct {W8 f; W2 r;} W10; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef W5 *W5Pt; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {word f0, f1, f2;} W3; typedef W3 *W3Pt; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) static void NoName←Q3408(); static void XTkCollectionsImpl←P0(); static word InitSuperClass←P60(); static void CollectionInitInstPart←P180(); static word Create←P240(); static void RemoveChild←P300(); static void action←P1500(); static void RemoveChildLR←P360(); static void AddChild←P420(); static void action←P1560(); static void AddChildLR←P480(); static void AddChildren←P540(); static void action←P1620(); static void AddChildrenLR←P600(); static void EnumerateChildren←P660(); static word Find←P720(); static void RemoveXWindowsLR←P780(); static word RemoveAndSquezeLR←P840(); static void AssertEmptySlotsLR←P900(); static void AssertEmptySlotsILR←P960(); static word RemoveChildInPlaceLR←P1020(); static word RemoveInPlaceLR←P2016(); static word RemoveChildAndSqueezeLR←P1080(); static word SqueezeNRemoveLR←P2076(); static void AddChildInFirstPlaceLR←P1140(); static void IncludeHardLR←P2232(); static word IncludeLR←P2292(); static void DefaultAddChildrenLR←P1200(); static word CountChildren←P1260(); static void BasicEnumerateChildren←P1320(); static word InternalEnumerateChildren←P1380(); static word NewCollectionClassPart←P1440(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\141\025\232\152\300\166\121\005\142\101\254\000\000"}; static struct {unsigned f; char r[12];} string2 = {524296, "\011\000\004\000\040\000\004\001\000\000\000"}; static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300a\025\232j\300vQ\005bA|\000\000"}; static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\141\025\232\152\300\166\121\005\142\101\240\000\000"}; static struct {unsigned f; char r[4];} string7 = {131074, "\0048\000"}; static struct {unsigned f; char r[12];} string8 = {655372, "Collection\000"}; static struct {unsigned f; char r[16];} string9 = {983056, "collectionSuper"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\367\257\005\264\300\363\045\074\033\100\164\000\000"}; static struct {unsigned f; char r[12];} string11 = {655370, "\006\003 \001$\001@H\004\003\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"}; static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"}; static struct {unsigned f; char r[12];} string14 = {1481927491, "ollections"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\141\025\232\152\300\166\121\005\142\100\164\000\000"}; static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"}; static struct { word f0[20]; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71; word f72; word f73[5]; } globalframe = { {0}, (word) NewCollectionClassPart←P1440, 0, (word) InternalEnumerateChildren←P1380, 0, (word) BasicEnumerateChildren←P1320, 0, (word) CountChildren←P1260, 0, (word) DefaultAddChildrenLR←P1200, 0, (word) AddChildInFirstPlaceLR←P1140, 0, (word) RemoveChildAndSqueezeLR←P1080, 0, (word) RemoveChildInPlaceLR←P1020, 0, (word) AssertEmptySlotsILR←P960, 0, (word) AssertEmptySlotsLR←P900, 0, (word) RemoveAndSquezeLR←P840, 0, (word) RemoveXWindowsLR←P780, 0, (word) Find←P720, 0, (word) EnumerateChildren←P660, 0, (word) AddChildrenLR←P600, 0, (word) AddChildren←P540, 0, (word) AddChildLR←P480, 0, (word) AddChild←P420, 0, (word) RemoveChildLR←P360, 0, (word) RemoveChild←P300, 0, (word) Create←P240, 0, (word) CollectionInitInstPart←P180, 0, (word) InitSuperClass←P60, 0, (word) XTkCollectionsImpl←P0, 0, 2147483648, 2147483648, 2147483648, 2147483648, 2147483648, {0} }; static void NoName←Q3408() { register ptr gf←c0220 = (ptr) &globalframe; word var←c22724; (* (( (ptr) gf←c0220)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0220)+12) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0220)+16) ) = (word) XR←GetTypeIndexS((word) (&string5)); (* (( (ptr) gf←c0220)+17) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7); (* (ptr) (( (bPt) gf←c0220)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0220)+12) ), (word) &string8); (* (ptr) (( (bPt) gf←c0220)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0220)+12) ), (word) &string9); (void) XR←DeclareGlobalFrame((word) "XTkCollectionsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11) , (word) (( (bPt) gf←c0220)+264)/* var←c20804 */ ); var←c22724 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string12)), 218); (* (( (ptr) gf←c0220)+75)/* var←c21124 */ ) = var←c22724; (void) XR←ImportProcS(var←c22724, 539906); var←c22724 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string13)), 50); (* (( (ptr) gf←c0220)+74)/* var←c21060 */ ) = var←c22724; (void) XR←ImportProcS(var←c22724, 272641); (void) XR←ImportProcS(var←c22724, 69992451); var←c22724 = (word) XR←ImportInterface((word) &string14, (word) XR←GetTypeIndexS((word) (&string15)), 16); (* (( (ptr) gf←c0220)+76)/* var←c21636 */ ) = var←c22724; var←c22724 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string16)), 33); (* (( (ptr) gf←c0220)+73)/* var←c20964 */ ) = var←c22724; (void) XR←ImportProcS(var←c22724, 531970); (void) XR←ImportProcS(var←c22724, 265217); (void) XR←ImportProcS(var←c22724, 531202); (void) XR←ImportProcS(var←c22724, 264961); (void) XR←ImportProcS(var←c22724, 2098180); (void) XR←ImportProcS(var←c22724, 67636482); (void) XR←ImportProcS(var←c22724, 530434); (void) XR←ImportProcS(var←c22724, 73666049); var←c22724 = (word) XR←ExportInterface((word) &string14, (word) XR←GetTypeIndexS((word) (&string15)), 16); (* (( (ptr) gf←c0220)+77)/* var←c22756 */ ) = var←c22724; (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+240)/* var←c20708 */ , 69992451); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+232)/* var←c20676 */ , 1048836); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+224)/* var←c20644 */ , 1049092); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+216)/* var←c20612 */ , 1049348); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+208)/* var←c20580 */ , 1049604); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+200)/* var←c20548 */ , 787715); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+192)/* var←c20516 */ , 787971); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+184)/* var←c20484 */ , 788227); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+152)/* var←c20356 */ , 526338); (void) XR←ExportVar(var←c22724, 10, (word) (( (bPt) gf←c0220)+32)/* collectionClass←v2664 */ ); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+80)/* var←c20068 */ , 67373825); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+136)/* var←c20292 */ , 67636226); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+128)/* var←c20260 */ , 67636482); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+120)/* var←c20228 */ , 1052164); (void) XR←ExportProcS(var←c22724, (word) (( (bPt) gf←c0220)+96)/* var←c20132 */ , 790275); } static void XTkCollectionsImpl←P0(formal←c039, formal←c037) word formal←c039; word formal←c037; { register ptr gf←c22788 = (ptr) &globalframe; /* XTkCollectionsImpl: */ SOURCE(58, 9815) /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ /* moved to installation proc */ SOURCE(206, 48) (* (( (ptr) gf←c22788)+8)/* collectionClass←v2664 */ ) = (word) InitSuperClass←P60(); SOURCE(788, 54) { word var←c20900; var←c20900 = XR←NewObject(4, (* (( (ptr) gf←c22788)+10) )); (* (ptr) var←c20900 ) = 0; (* (( (ptr) gf←c22788)+9)/* dymmyChildren←v2720 */ ) = var←c20900; }; } static word InitSuperClass←P60() { register ptr gf←c22820 = (ptr) &globalframe; word csc←v3444; /* InitSuperClass: */ SOURCE(256, 526) SOURCE(256, 526) csc←v3444 = 0; SOURCE(316, 285) { W25 var←c042; (* (ptr) &var←c042 ) = (* (( (ptr) gf←c22820)+19) ); (* (( (ptr) &var←c042)+1) ) = (* (( (ptr) gf←c22820)+18) ); (* (( (ptr) &var←c042)+2) ) = 0; (* (( (ptr) &var←c042)+3) ) = 1; (* (( (ptr) &var←c042)+4) ) = 1; (* (( (ptr) &var←c042)+5) ) = 0; (* (( (ptr) &var←c042)+6) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+7) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+8) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+9) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+10) ) = 0; (* (( (ptr) &var←c042)+11) ) = (* (( (ptr) (* (( (ptr) gf←c22820)+73)/* var←c20964 */ ))+28) ); (* (( (ptr) &var←c042)+12) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+13) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+14) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+15) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+16) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+17) ) = (word) (( (bPt) gf←c22820)+88)/* var←c20100 */ ; (* (( (ptr) &var←c042)+18) ) = (word) (( (bPt) gf←c22820)+248)/* var←c20740 */ ; (* (( (ptr) &var←c042)+19) ) = 0; (* (( (ptr) &var←c042)+20) ) = 0; (* (( (ptr) &var←c042)+21) ) = 0; (* (( (ptr) &var←c042)+22) ) = 0; (* (( (ptr) &var←c042)+23) ) = XR←CheckProc(0); (* (( (ptr) &var←c042)+24) ) = XR←CheckProc(0); { word pd17; pd17 = (* (( (ptr) (* (( (ptr) gf←c22820)+73)/* var←c20964 */ ))+18) ); csc←v3444 = (word) ( *( (fPt) ((* (ptr) pd17 ))))((word) (&var←c042), pd17); }; }; SOURCE(603, 179) { word var←c20996; var←c20996 = XR←NewObject(12, (* (( (ptr) gf←c22820)+16) )); (* (ptr) var←c20996 ) = (word) (( (bPt) gf←c22820)+96)/* var←c20132 */ ; (* (( (ptr) var←c20996)+1) ) = (word) (( (bPt) gf←c22820)+120)/* var←c20228 */ ; (* (( (ptr) var←c20996)+2) ) = (word) (( (bPt) gf←c22820)+112)/* var←c20196 */ ; { word idx18; word limit19; (* ((( (ptr) csc←v3444)+30)+( idx18 = (* (( (ptr) csc←v3444)+27) ), limit19 = (* (( (ptr) csc←v3444)+29) ), BCK(idx18, limit19) )) ) = var←c20996; }; }; SOURCE(256, 526) return(csc←v3444); } static void CollectionInitInstPart←P180(widget←v10964, arguments←v10992) word widget←v10964; word arguments←v10992; { register ptr gf←c22852 = (ptr) &globalframe; word ip←v6448; /* CollectionInitInstPart: */ SOURCE(1019, 263) SOURCE(1072, 79) ip←v6448 = XR←NewObject(24, (* (( (ptr) gf←c22852)+17) )); (* (( (ptr) ip←v6448)+5) ) = (* (( (ptr) gf←c22852)+9)/* dymmyChildren←v2720 */ ); SOURCE(1153, 73) if (( (int)(* (( (ptr) widget←v10964)+9) ) < (int)0)) { SOURCE(1193, 33) (* (( (ptr) widget←v10964)+9) ) = 0; }; SOURCE(1228, 54) { word val←v20020; val←v20020 = ip←v6448; { word idx20; word limit21; (* ((( (ptr) widget←v10964)+49)+( idx20 = (* (( (ptr) (* (( (ptr) gf←c22852)+8)/* collectionClass←v2664 */ ))+4) ), limit21 = (* (( (ptr) widget←v10964)+48) ), BCK(idx20, limit21) )) ) = val←v20020; }; }; } static word Create←P240(widgetSpec←v3620, children←v3648, childCount←v3676) W9 widgetSpec←v3620; word children←v3648; word childCount←v3676; { register ptr gf←c22884 = (ptr) &globalframe; word widget←v3804; /* Create: */ SOURCE(1288, 333) SOURCE(1288, 333) widget←v3804 = 0; SOURCE(1434, 54) { word pd22; pd22 = (* (( (ptr) (* (( (ptr) gf←c22884)+74)/* var←c21060 */ ))+4) ); widget←v3804 = (word) ( *( (fPt) ((* (ptr) pd22 ))))(widgetSpec←v3620, (* (( (ptr) gf←c22884)+8)/* collectionClass←v2664 */ ), 0, pd22) ; }; SOURCE(1490, 59) if ((childCount←v3676 > 0)) { SOURCE(1511, 38) (void) AssertEmptySlotsLR←P900(widget←v3804, childCount←v3676); }; SOURCE(1562, 59) if ((children←v3648 != 0)) { SOURCE(1583, 38) (void) AddChildrenLR←P600(widget←v3804, children←v3648, 0); }; SOURCE(1288, 333) return(widget←v3804); } static void RemoveChild←P300(formal←c0269, formal←c0270, formal←c0271, formal←c0272) word formal←c0269; word formal←c0270; word formal←c0271; word formal←c0272; { W10 var←c22916; /* declaration of collection←v3864 skipped */ /* declaration of child←v3892 skipped */ /* declaration of reConsiderNow←v3920 skipped */ /* declaration of preventDestruction←v3948 skipped */ register ptr gf←c22948 = (ptr) &globalframe; /* declaration of var←c21092 skipped */ word rootTQ←v6492; (* (( (ptr) &var←c22916)+4)/* collection←v3864 */ ) = formal←c0269; (* (( (ptr) &var←c22916)+5)/* child←v3892 */ ) = formal←c0270; (* (( (ptr) &var←c22916)+6)/* reConsiderNow←v3920 */ ) = formal←c0271; (* (( (ptr) &var←c22916)+7)/* preventDestruction←v3948 */ ) = formal←c0272; /* RemoveChild: */ SOURCE(1638, 366) { word tmpAddr23; tmpAddr23 = (word) (( (ptr) &var←c22916)+8)/* var←c21092 */ ; (* (ptr) tmpAddr23 ) = ( ((word) (fPt) action←P1500) ); (* (( (ptr) tmpAddr23) + 1) ) = 1; }; SOURCE(1775, 33) rootTQ←v6492 = (* (( (ptr) (* (( (ptr) &var←c22916)+4)/* collection←v3864 */ ))+45) ); SOURCE(1896, 108) if ((rootTQ←v6492 == 0)) { SOURCE(1916, 57) (void) action←P1500((word) ((( (bPt) &var←c22916)+32)/* var←c21092 */ )); } else { SOURCE(1973, 31) { word pd24; pd24 = (* (( (ptr) (* (( (ptr) gf←c22948)+75)/* var←c21124 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd24 ))))(rootTQ←v6492, (word) (( (bPt) &var←c22916)+32)/* var←c21092 */ , pd24); }; }; } static void action←P1500(formal←c22980) word formal←c22980; { formal←c22980 = (formal←c22980 - 32); /* action: */ SOURCE(1810, 83) SOURCE(1826, 67) (void) RemoveChildLR←P360((* (( (ptr) formal←c22980)+4) ), (* (( (ptr) formal←c22980)+5) ), (* (( (ptr) formal←c22980)+6) ), (* (( (ptr) formal←c22980)+7) )); } static void RemoveChildLR←P360(collection←v4008, child←v4036, reConsiderNow←v4064, preventDestruction←v4092) word collection←v4008; word child←v4036; word reConsiderNow←v4064; word preventDestruction←v4092; { register ptr gf←c23012 = (ptr) &globalframe; word done←v6580; /* RemoveChildLR: */ SOURCE(2010, 570) SOURCE(2161, 32) if (((* (( (ptr) child←v4036)+31) ) != collection←v4008)) { SOURCE(2193, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(2200, 52) { word x25; (* (( (ptr) child←v4036)+10) ) = ((x25 = (* (( (ptr) child←v4036)+10) ), MAX( (unsigned) , 2, x25)) & 7); }; SOURCE(2254, 50) { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf←c23012)+73)/* var←c20964 */ ))+17) ); done←v6580 = (word) ( *( (fPt) ((* (ptr) pd26 ))))(collection←v4008, child←v4036, pd26); }; SOURCE(2306, 204) if ((0 != done←v6580)) { SOURCE(2321, 83) if (((* (( (ptr) child←v4036)+38) ) < 2)) { SOURCE(2351, 53) { word pd27; pd27 = (* (( (ptr) (* (( (ptr) gf←c23012)+73)/* var←c20964 */ ))+8) ); (void) ( *( (fPt) ((* (ptr) pd27 ))))(child←v4036, (* (W5Pt) (( (ptr) gf←c23012)+68)/* var←c20868 */ ), 2, 1, pd27); }; }; SOURCE(2406, 104) if ((0 != preventDestruction←v4092)) { SOURCE(2434, 38) { word pd28; pd28 = (* (( (ptr) (* (( (ptr) gf←c23012)+73)/* var←c20964 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd28 ))))(child←v4036, pd28); }; } else { SOURCE(2472, 38) { word pd29; pd29 = (* (( (ptr) (* (( (ptr) gf←c23012)+73)/* var←c20964 */ ))+31) ); (void) ( *( (fPt) ((* (ptr) pd29 ))))(child←v4036, 0, pd29); }; }; }; SOURCE(2513, 67) if ((0 != reConsiderNow←v4064)) { SOURCE(2535, 45) { word pd30; pd30 = (* (( (ptr) (* (( (ptr) gf←c23012)+73)/* var←c20964 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd30 ))))(collection←v4008, pd30); }; }; } static void AddChild←P420(formal←c0273, formal←c0274, formal←c0275, formal←c0276) word formal←c0273; word formal←c0274; word formal←c0275; word formal←c0276; { W10 var←c23044; /* declaration of collection←v4152 skipped */ /* declaration of newChild←v4180 skipped */ /* declaration of position←v4208 skipped */ /* declaration of reConsiderNow←v4236 skipped */ register ptr gf←c23076 = (ptr) &globalframe; /* declaration of var←c21156 skipped */ word rootTQ←v6624; (* (( (ptr) &var←c23044)+4)/* collection←v4152 */ ) = formal←c0273; (* (( (ptr) &var←c23044)+5)/* newChild←v4180 */ ) = formal←c0274; (* (( (ptr) &var←c23044)+6)/* position←v4208 */ ) = formal←c0275; (* (( (ptr) &var←c23044)+7)/* reConsiderNow←v4236 */ ) = formal←c0276; /* AddChild: */ SOURCE(2584, 343) { word tmpAddr31; tmpAddr31 = (word) (( (ptr) &var←c23044)+8)/* var←c21156 */ ; (* (ptr) tmpAddr31 ) = ( ((word) (fPt) action←P1560) ); (* (( (ptr) tmpAddr31) + 1) ) = 1; }; SOURCE(2708, 33) rootTQ←v6624 = (* (( (ptr) (* (( (ptr) &var←c23044)+4)/* collection←v4152 */ ))+45) ); SOURCE(2819, 108) if ((rootTQ←v6624 == 0)) { SOURCE(2839, 57) (void) action←P1560((word) ((( (bPt) &var←c23044)+32)/* var←c21156 */ )); } else { SOURCE(2896, 31) { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c23076)+75)/* var←c21124 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd32 ))))(rootTQ←v6624, (word) (( (bPt) &var←c23044)+32)/* var←c21156 */ , pd32); }; }; } static void action←P1560(formal←c23108) word formal←c23108; { formal←c23108 = (formal←c23108 - 32); /* action: */ SOURCE(2743, 73) SOURCE(2759, 57) (void) AddChildLR←P480((* (( (ptr) formal←c23108)+4) ), (* (( (ptr) formal←c23108)+5) ), (* (( (ptr) formal←c23108)+6) ), (* ( ( (ptr) formal←c23108)+7) )); } static void AddChildLR←P480(collection←v4312, newChild←v4340, position←v4368, reConsiderNow←v4396) word collection←v4312; word newChild←v4340; word position←v4368; word reConsiderNow←v4396; { register ptr gf←c23140 = (ptr) &globalframe; word classPart←v6712; /* AddChildLR: */ SOURCE(2933, 454) SOURCE(3059, 67) { word var←c21188; word var←c0250; var←c21188 = (* (( (ptr) collection←v4312)+4) ); { word idx33; word limit34; var←c0250 = (* ((( (ptr) var←c21188)+30)+( idx33 = (* (( (ptr) (* (( (ptr) gf←c23140)+8)/* collectionClass←v2664 */ ))+27) ), limit34 = (* (( (ptr) var←c21188)+29) ), BCK(idx33, limit34) )) ); }; classPart←v6712 = XR←Narrow(var←c0250, (* (( (ptr) gf←c23140)+16) )); }; SOURCE(3128, 108) { word var←c21220; var←c21220 = (* (( (ptr) newChild←v4340)+31) ); if ((var←c21220 == 0) || (var←c21220 == collection←v4312)) { SOURCE(3175, 61) { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf←c23140)+73)/* var←c20964 */ ))+34) ); (void) ( *( (fPt) ((* (ptr) pd35 ))))(newChild←v4340, collection←v4312, pd35); }; } else { SOURCE(3249, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(3256, 62) if (((* (( (ptr) newChild←v4340)+10) ) == 3)) { SOURCE(3291, 27) (* (( (ptr) newChild←v4340)+10) ) = 0; }; SOURCE(3320, 67) { word pd36; pd36 = (* (( (ptr) classPart←v6712)+1) ); (void) ( *( (fPt) ((* (ptr) pd36 ))))(collection←v4312, newChild←v4340, position←v4368, reConsiderNow←v4396, pd36); }; } static void AddChildren←P540(formal←c0277, formal←c0278, formal←c0279) word formal←c0277; word formal←c0278; word formal←c0279; { W9 var←c23172; /* declaration of collection←v4468 skipped */ /* declaration of children←v4496 skipped */ /* declaration of reConsiderNow←v4524 skipped */ register ptr gf←c23204 = (ptr) &globalframe; /* declaration of var←c21252 skipped */ word rootTQ←v6756; (* (( (ptr) &var←c23172)+4)/* collection←v4468 */ ) = formal←c0277; (* (( (ptr) &var←c23172)+5)/* children←v4496 */ ) = formal←c0278; (* (( (ptr) &var←c23172)+6)/* reConsiderNow←v4524 */ ) = formal←c0279; /* AddChildren: */ SOURCE(3393, 326) { word tmpAddr37; tmpAddr37 = (word) (( (ptr) &var←c23172)+7)/* var←c21252 */ ; (* (ptr) tmpAddr37 ) = ( ((word) (fPt) action←P1620) ); (* (( (ptr) tmpAddr37) + 1) ) = 1; }; SOURCE(3507, 33) rootTQ←v6756 = (* (( (ptr) (* (( (ptr) &var←c23172)+4)/* collection←v4468 */ ))+45) ); SOURCE(3611, 108) if ((rootTQ←v6756 == 0)) { SOURCE(3631, 57) (void) action←P1620((word) ((( (bPt) &var←c23172)+28)/* var←c21252 */ )); } else { SOURCE(3688, 31) { word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf←c23204)+75)/* var←c21124 */ ))+65) ); (void) ( *( (fPt) ((* (ptr) pd38 ))))(rootTQ←v6756, (word) (( (bPt) &var←c23172)+28)/* var←c21252 */ , pd38); }; }; } static void action←P1620(formal←c23236) word formal←c23236; { formal←c23236 = (formal←c23236 - 28); /* action: */ SOURCE(3542, 66) SOURCE(3558, 50) (void) AddChildrenLR←P600((* (( (ptr) formal←c23236)+4) ), (* (( (ptr) formal←c23236)+5) ), (* (( (ptr) formal←c23236)+6) )); } static void AddChildrenLR←P600(collection←v4668, children←v4696, reConsiderNow←v4724) word collection←v4668; word children←v4696; word reConsiderNow←v4724; { register ptr gf←c23268 = (ptr) &globalframe; word classPart←v6844; /* AddChildrenLR: */ SOURCE(3725, 498) SOURCE(3841, 67) { word var←c21284; word var←c0251; var←c21284 = (* (( (ptr) collection←v4668)+4) ); { word idx39; word limit40; var←c0251 = (* ((( (ptr) var←c21284)+30)+( idx39 = (* (( (ptr) (* (( (ptr) gf←c23268)+8)/* collectionClass←v2664 */ ))+27) ), limit40 = (* (( (ptr) var←c21284)+29) ), BCK(idx39, limit40) )) ); }; classPart←v6844 = XR←Narrow(var←c0251, (* (( (ptr) gf←c23268)+16) )); }; SOURCE(3910, 242) { register word l←v6888; l←v6888 = children←v4696; lab←L100003: ; if ((l←v6888 != 0)) { } else { goto lab←L100000; }; SOURCE(3966, 106) { word var←c21316; var←c21316 = (* (( (ptr) (* (ptr) l←v6888 ))+31) ); if ((var←c21316 == 0) || (var←c21316 == collection←v4668)) { SOURCE(4012, 60) { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf←c23268)+73)/* var←c20964 */ ))+34) ); (void) ( *( (fPt) ((* (ptr) pd41 ))))((* (ptr) l←v6888 ), collection←v4668, pd41); }; } else { SOURCE(4085, 5) (void) XR←RaiseUnnamedError(); }; }; SOURCE(4092, 60) if (((* (( (ptr) (* (ptr) l←v6888 ))+10) ) == 3)) { SOURCE(4126, 26) (* (( (ptr) (* (ptr) l←v6888 ))+10) ) = 0; }; l←v6888 = (* (( (ptr) l←v6888)+1) ); goto lab←L100003; lab←L100000: ; }; SOURCE(4163, 60) { word pd42; pd42 = (* (( (ptr) classPart←v6844)+2) ); (void) ( *( (fPt) ((* (ptr) pd42 ))))(collection←v4668, children←v4696, reConsiderNow←v4724, pd42); }; } static void EnumerateChildren←P660(collection←v4868, eachChild←v4896, data←v4924) word collection←v4868; word eachChild←v4896; word data←v4924; { register ptr gf←c23300 = (ptr) &globalframe; word classPart←v7016; /* EnumerateChildren: */ SOURCE(4229, 234) SOURCE(4338, 67) { word var←c21348; word var←c0252; var←c21348 = (* (( (ptr) collection←v4868)+4) ); { word idx43; word limit44; var←c0252 = (* ((( (ptr) var←c21348)+30)+( idx43 = (* (( (ptr) (* (( (ptr) gf←c23300)+8)/* collectionClass←v2664 */ ))+27) ), limit44 = (* (( (ptr) var←c21348)+29) ), BCK(idx43, limit44) )) ); }; classPart←v7016 = XR←Narrow(var←c0252, (* (( (ptr) gf←c23300)+16) )); }; SOURCE(4407, 56) { word pd45; pd45 = (* (ptr) classPart←v7016 ); (void) ( *( (fPt) ((* (ptr) pd45 ))))(collection←v4868, eachChild←v4896, data←v4924, pd45); }; } static word Find←P720(ip←v4996, child←v5024, start←v5052) word ip←v4996; word child←v5024; word start←v5052; { word var←c5096; /* Find: */ SOURCE(4469, 172) SOURCE(4469, 172) var←c5096 = (word) -1; SOURCE(4563, 78) { register word i←v7060; register word noName←c21380; word var←c21412; word var←c0253; i←v7060 = start←v5052; noName←c21380 = (* (ptr) ip←v4996 ); if ((i←v7060 >= noName←c21380)) { goto lab←L100004; }; lab←L100007: ; SOURCE(4602, 39) var←c21412 = (* (( (ptr) ip←v4996)+5) ); { word limit46; var←c0253 = (* ((( (ptr) var←c21412)+1)+( limit46 = (* (ptr) var←c21412 ), BCK(i←v7060, limit46) )) ); }; if ((var←c0253 == child←v5024)) { SOURCE(4631, 10) return(i←v7060); }; i←v7060 = (i←v7060 + 1); if ((i←v7060 < noName←c21380)) { goto lab←L100007; }; lab←L100004: ; }; SOURCE(4469, 172) return(var←c5096); } static void RemoveXWindowsLR←P780(child←v5156) word child←v5156; { register ptr gf←c23332 = (ptr) &globalframe; /* RemoveXWindowsLR: */ SOURCE(4656, 135) SOURCE(4699, 92) if ((child←v5156 != 0)) { SOURCE(4717, 76) { word p←v7104; SOURCE(4719, 24) p←v7104 = (* (( (ptr) child←v5156)+31) ); SOURCE(4745, 46) if ((p←v7104 != 0)) { SOURCE(4759, 32) { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf←c23332)+73)/* var←c20964 */ ))+15) ); (void) ( *( (fPt) ((* (ptr) pd47 ))))(child←v5156, pd47); }; }; }; }; } static word RemoveAndSquezeLR←P840(ip←v5216, child←v5244) word ip←v5216; word child←v5244; { word idx←v5288; /* RemoveAndSquezeLR: */ SOURCE(4800, 290) SOURCE(4887, 21) idx←v5288 = (word) Find←P720(ip←v5216, child←v5244, 0); SOURCE(4910, 180) if (( (int)idx←v5288 >= (int)0)) { SOURCE(4927, 15) (* (( (ptr) ip←v5216)+4) ) = 0; SOURCE(4945, 70) { register word i←v7148; register word noName←c21444; i←v7148 = idx←v5288; noName←c21444 = (* (ptr) ip←v5216 ); if (( (int)i←v7148 >= (int)noName←c21444)) { goto lab←L100008; }; i←v7148 = (i←v7148 + 1); if (( (int)i←v7148 == (int)noName←c21444)) { goto lab←L100008; }; lab←L100011: ; SOURCE(4982, 33) { word var←c21508; word var←c21540; var←c21508 = (i←v7148 - 1); var←c21540 = (* (( (ptr) ip←v5216)+5) ); { word var←c21476; var←c21476 = (* (( (ptr) ip←v5216)+5) ); { word limit48; word limit49; (* ((( (ptr) var←c21540)+1)+( limit48 = (* (ptr) var←c21540 ), BCK(var←c21508, limit48) )) ) = (* ((( (ptr) var←c21476)+1)+( limit49 = (* (ptr) var←c21476 ), BCK(i←v7148, limit49) )) ); }; }; }; i←v7148 = (i←v7148 + 1); if (( (int)i←v7148 < (int)noName←c21444)) { goto lab←L100011; }; lab←L100008: ; }; SOURCE(5026, 29) { word idx50; (* (ptr) ip←v5216 ) = ( idx50 = (word) ((* (ptr) ip←v5216 ) - 1), SGNCK(idx50) ); }; SOURCE(5057, 33) { word var←c21572; var←c21572 = (* (( (ptr) ip←v5216)+5) ); { word idx51; word limit52; (* ((( (ptr) var←c21572)+1)+( idx51 = (* (ptr) ip←v5216 ), limit52 = (* (ptr) var←c21572 ), BCK(idx51, limit52) )) ) = 0; }; }; }; SOURCE(4800, 290) return(idx←v5288); } static void AssertEmptySlotsLR←P900(collection←v5348, num←v5376) word collection←v5348; word num←v5376; { register ptr gf←c23364 = (ptr) &globalframe; word ip←v7192; /* AssertEmptySlotsLR: */ SOURCE(5099, 165) SOURCE(5176, 58) { word var←c21604; word superClass←v19388; superClass←v19388 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c23364)+76)/* var←c21636 */ ))+14) ) ); { word idx53; word limit54; var←c21604 = (* ((( (ptr) collection←v5348)+49)+( idx53 = (* (( (ptr) superClass←v19388)+4) ), limit54 = (* (( (ptr) collection←v5348)+48) ), BCK(idx53, limit54) )) ); }; ip←v7192 = XR←Narrow(var←c21604, (* (( (ptr) gf←c23364)+17) )); }; SOURCE(5236, 28) (void) AssertEmptySlotsILR←P960(ip←v7192, num←v5376); } static void AssertEmptySlotsILR←P960(ip←v5436, num←v5464) word ip←v5436; word num←v5464; { register ptr gf←c23396 = (ptr) &globalframe; word oldCount←v7236; /* AssertEmptySlotsILR: */ SOURCE(5270, 613) SOURCE(5335, 33) oldCount←v7236 = (* (ptr) (* (( (ptr) ip←v5436)+5) ) ); SOURCE(5370, 21) if ((num←v5464 < 1)) { SOURCE(5384, 7) num←v5464 = 7; }; SOURCE(5393, 41) if ((((* (ptr) ip←v5436 ) + num←v5464) <= oldCount←v7236)) { SOURCE(5428, 6) return; }; SOURCE(5436, 131) if ((0 != (* (( (ptr) ip←v5436)+1) ))) { SOURCE(5463, 104) { register word i←v7280 = 0; register word noName←c21668; word var←c21700; noName←c21668 = (* (ptr) ip←v5436 ); if (( (int)i←v7280 >= (int)noName←c21668)) { goto lab←L100013; }; lab←L100016: ; SOURCE(5498, 69) { word limit55; var←c21700 = (* (( (ptr) ip←v5436)+5) ); if (((* ((( (ptr) var←c21700)+1)+( limit55 = (* (ptr) var←c21700 ), BCK(i←v7280, limit55) )) ) == 0)) { SOURCE(5532, 11) num←v5464 = SGNCK((num←v5464 - 1)); SOURCE(5545, 22) if ((num←v5464 == 0)) { SOURCE(5561, 6) return; }; }; }; i←v7280 = (i←v7280 + 1); if (( (int)i←v7280 < (int)noName←c21668)) { goto lab←L100016; }; lab←L100013: ; }; }; SOURCE(5582, 41) if ((((* (ptr) ip←v5436 ) + num←v5464) <= oldCount←v7236)) { SOURCE(5617, 6) return; }; SOURCE(5625, 260) { word newCount←v7324; word newCd←v7352; SOURCE(5631, 70) { word x56; word x57; word x58; newCount←v7324 = (x56 = ((oldCount←v7236 + oldCount←v7236) + 1), x57 = MAX( (unsigned) , (oldCount←v7236 + 5), x56), x58 = ((* (ptr) ip←v5436 ) + num←v5464), MAX( (unsigned) , x57, x58)); }; SOURCE(5703, 53) { word var←c21732; word var←c21764; word var←c21796; var←c21732 = BCK(newCount←v7324, 67108863); var←c21764 = (var←c21732 << 2); var←c21796 = XR←NewObject((4 + var←c21764), (* (( (ptr) gf←c23396)+10) )); (* (ptr) var←c21796 ) = var←c21732; newCd←v7352 = var←c21796; }; SOURCE(5758, 15) (* (( (ptr) ip←v5436)+4) ) = 0; SOURCE(5775, 78) { register word i←v7408 = 0; register word noName←c21828; noName←c21828 = (* (ptr) ip←v5436 ); if (( (int)i←v7408 >= (int)noName←c21828)) { goto lab←L100017; }; lab←L100020: ; SOURCE(5810, 43) { word var←c21860; var←c21860 = (* (( (ptr) ip←v5436)+5) ); { word limit59; word limit60; (* ((( (ptr) newCd←v7352)+1)+( limit59 = (* (ptr) newCd←v7352 ), BCK(i←v7408, limit59) )) ) = (* ((( (ptr) var←c21860)+1)+( limit60 = (* (ptr) var←c21860 ), BCK(i←v7408, limit60) )) ); }; }; i←v7408 = (i←v7408 + 1); if (( (int)i←v7408 < (int)noName←c21828)) { goto lab←L100020; }; lab←L100017: ; }; SOURCE(5864, 19) (* (( (ptr) ip←v5436)+5) ) = newCd←v7352; }; } static word RemoveChildInPlaceLR←P1020(widget←v5524, child←v5552) word widget←v5524; word child←v5552; { W6 var←c23428; register ptr gf←c23460 = (ptr) &globalframe; word done←v5596; /* declaration of var←c21892 skipped */ word ip←v7480; /* RemoveChildInPlaceLR: */ SOURCE(5894, 541) { word tmpAddr61; tmpAddr61 = (word) (( (ptr) &var←c23428)+4)/* var←c21892 */ ; (* (ptr) tmpAddr61 ) = ( ((word) (fPt) RemoveInPlaceLR←P2016) ); (* (( (ptr) tmpAddr61) + 1) ) = 1; }; SOURCE(5894, 541) done←v5596 = 0; SOURCE(6249, 54) { word var←c21924; word superClass←v19960; superClass←v19960 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c23460)+76)/* var←c21636 */ ))+14) ) ); { word idx62; word limit63; var←c21924 = (* ((( (ptr) widget←v5524)+49)+( idx62 = (* (( (ptr) superClass←v19960)+4) ), limit63 = (* (( (ptr) widget←v5524)+48) ), BCK(idx62, limit63) )) ); }; ip←v7480 = XR←Narrow(var←c21924, (* (( (ptr) gf←c23460)+17) )); }; SOURCE(6305, 18) if ((child←v5552 == 0)) { SOURCE(6323, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(6330, 105) if (( (int)(word) RemoveInPlaceLR←P2016(ip←v7480, child←v5552, (word) (( (bPt) &var←c23428)+16)/* var←c21892 */ ) >= (int)0)) { SOURCE(6370, 11) done←v5596 = 1; SOURCE(6383, 23) (void) RemoveXWindowsLR←P780(child←v5552); SOURCE(6408, 27) { word pd64; pd64 = (* (( (ptr) (* (( (ptr) gf←c23460)+74)/* var←c21060 */ ))+45) ); (void) ( *( (fPt) ((* (ptr) pd64 ))))(widget←v5524, pd64); }; }; SOURCE(5894, 541) return(done←v5596); } static word RemoveInPlaceLR←P2016(ip←v7556, child←v7584, formal←c23492) word ip←v7556; word child←v7584; word formal←c23492; { word idx←v7628; formal←c23492 = (formal←c23492 - 16); /* RemoveInPlaceLR: */ SOURCE(5985, 256) SOURCE(6070, 21) idx←v7628 = (word) Find←P720(ip←v7556, child←v7584, 0); SOURCE(6093, 148) if (( (int)idx←v7628 >= (int)0)) { SOURCE(6110, 15) (* (( (ptr) ip←v7556)+4) ) = 0; SOURCE(6128, 24) { word var←c21956; var←c21956 = (* (( (ptr) ip←v7556)+5) ); { word limit65; (* ((( (ptr) var←c21956)+1)+( limit65 = (* (ptr) var←c21956 ), BCK(idx←v7628, limit65) )) ) = 0; }; }; SOURCE(6154, 87) if (( (int)(idx←v7628 + 1) == (int)(* (ptr) ip←v7556 ))) { SOURCE(6182, 36) { word idx66; (* (ptr) ip←v7556 ) = ( idx66 = (word) ((* (ptr) ip←v7556 ) - 1), SGNCK(idx66) ); }; } else { SOURCE(6218, 23) (* (( (ptr) ip←v7556)+1) ) = 1; }; }; SOURCE(5985, 256) return(idx←v7628); } static word RemoveChildAndSqueezeLR←P1080(widget←v5656, child←v5684) word widget←v5656; word child←v5684; { W6 var←c23524; register ptr gf←c23556 = (ptr) &globalframe; word done←v5728; /* declaration of var←c21988 skipped */ word ip←v7684; /* RemoveChildAndSqueezeLR: */ SOURCE(6444, 862) { word tmpAddr67; tmpAddr67 = (word) (( (ptr) &var←c23524)+4)/* var←c21988 */ ; (* (ptr) tmpAddr67 ) = ( ((word) (fPt) SqueezeNRemoveLR←P2076) ); (* (( (ptr) tmpAddr67) + 1) ) = 1; }; SOURCE(6444, 862) done←v5728 = 0; SOURCE(7116, 54) { word var←c22020; word superClass←v19916; superClass←v19916 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c23556)+76)/* var←c21636 */ ))+14) ) ); { word idx68; word limit69; var←c22020 = (* ((( (ptr) widget←v5656)+49)+( idx68 = (* (( (ptr) superClass←v19916)+4) ), limit69 = (* (( (ptr) widget←v5656)+48) ), BCK(idx68, limit69) )) ); }; ip←v7684 = XR←Narrow(var←c22020, (* (( (ptr) gf←c23556)+17) )); }; SOURCE(7172, 18) if ((child←v5684 == 0)) { SOURCE(7190, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(7197, 109) if ((0 != (word) SqueezeNRemoveLR←P2076(ip←v7684, child←v5684, (word) (( (bPt) &var←c23524)+16)/* var←c21988 */ ))) { SOURCE(7241, 11) done←v5728 = 1; SOURCE(7254, 23) (void) RemoveXWindowsLR←P780(child←v5684); SOURCE(7279, 27) { word pd70; pd70 = (* (( (ptr) (* (( (ptr) gf←c23556)+74)/* var←c21060 */ ))+45) ); (void) ( *( (fPt) ((* (ptr) pd70 ))))(widget←v5656, pd70); }; }; SOURCE(6444, 862) return(done←v5728); } static word SqueezeNRemoveLR←P2076(ip←v7760, child←v7788, formal←c23588) word ip←v7760; word child←v7788; word formal←c23588; { word found←v7832; word nextToUse←v7860 = 0; word nextToWatch←v7888 = 0; formal←c23588 = (formal←c23588 - 16); /* SqueezeNRemoveLR: */ SOURCE(6538, 573) SOURCE(6538, 573) found←v7832 = 0; SOURCE(6666, 298) lab←L100025: ; if ((nextToWatch←v7888 < (* (ptr) ip←v7760 ))) { } else { goto lab←L100023; }; { word c←v7932; SOURCE(6700, 46) { word var←c22052; var←c22052 = (* (( (ptr) ip←v7760)+5) ); { word limit71; c←v7932 = (* ((( (ptr) var←c22052)+1)+( limit71 = (* (ptr) var←c22052 ), BCK(nextToWatch←v7888, limit71) )) ); }; }; SOURCE(6748, 27) nextToWatch←v7888 = (nextToWatch←v7888 + 1); if ((c←v7932 == 0) || ((* (( (ptr) c←v7932)+38) ) == 4)) { SOURCE(6820, 15) (* (( (ptr) ip←v7760)+4) ) = 0; SOURCE(6837, 4) goto lab←L100025; } else { if ((c←v7932 == child←v7788)) { SOURCE(6856, 12) found←v7832 = 1; SOURCE(6870, 15) (* (( (ptr) ip←v7760)+4) ) = 0; SOURCE(6887, 4) goto lab←L100025; } else { SOURCE(6907, 32) { word var←c22084; var←c22084 = (* (( (ptr) ip←v7760)+5) ); { word limit72; (* ((( (ptr) var←c22084)+1)+( limit72 = (* (ptr) var←c22084 ), BCK(nextToUse←v7860, limit72) )) ) = c←v7932; }; }; SOURCE(6941, 23) nextToUse←v7860 = (nextToUse←v7860 + 1); }; }; }; goto lab←L100025; lab←L100023: ; SOURCE(6978, 81) { register word empty←v7976; register word noName←c22116; empty←v7976 = nextToUse←v7860; noName←c22116 = (* (ptr) ip←v7760 ); if ((empty←v7976 >= noName←c22116)) { goto lab←L100026; }; lab←L100029: ; SOURCE(7025, 34) { word var←c22148; var←c22148 = (* (( (ptr) ip←v7760)+5) ); { word limit73; (* ((( (ptr) var←c22148)+1)+( limit73 = (* (ptr) var←c22148 ), BCK(empty←v7976, limit73) )) ) = 0; }; }; empty←v7976 = (empty←v7976 + 1); if ((empty←v7976 < noName←c22116)) { goto lab←L100029; }; lab←L100026: ; }; SOURCE(7061, 24) (* (ptr) ip←v7760 ) = nextToUse←v7860; SOURCE(7087, 24) (* (( (ptr) ip←v7760)+1) ) = 0; SOURCE(6538, 573) return(found←v7832); } static void AddChildInFirstPlaceLR←P1140(collection←v5788, newChild←v5816, position←v5844, reConsiderNow←v5872) word collection←v5788; word newChild←v5816; word position←v5844; word reConsiderNow←v5872; { W6 var←c23620; register ptr gf←c23652 = (ptr) &globalframe; /* declaration of var←c22180 skipped */ word ip←v8048; /* AddChildInFirstPlaceLR: */ SOURCE(7315, 1027) { word tmpAddr74; tmpAddr74 = (word) (( (ptr) &var←c23620)+4)/* var←c22180 */ ; (* (ptr) tmpAddr74 ) = ( ((word) (fPt) IncludeHardLR←P2232) ); (* (( (ptr) tmpAddr74) + 1) ) = 1; }; SOURCE(8025, 58) { word var←c22212; word superClass←v19872; superClass←v19872 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c23652)+76)/* var←c21636 */ ))+14) ) ); { word idx75; word limit76; var←c22212 = (* ((( (ptr) collection←v5788)+49)+( idx75 = (* (( (ptr) superClass←v19872)+4) ), limit76 = (* (( (ptr) collection←v5788)+48) ), BCK(idx75, limit76) )) ); }; ip←v8048 = XR←Narrow(var←c22212, (* (( (ptr) gf←c23652)+17) )); }; SOURCE(8085, 51) if ((newChild←v5816 == 0) || ((* (( (ptr) newChild←v5816)+31) ) != collection←v5788)) { SOURCE(8136, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(8143, 30) if (( (int)(word) Find←P720(ip←v8048, newChild←v5816, 0) >= (int)0)) { SOURCE(8173, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(8214, 27) (void) IncludeHardLR←P2232(ip←v8048, newChild←v5816, (word) (( (bPt) &var←c23620)+16)/* var←c22180 */ ); SOURCE(8243, 31) { word pd77; pd77 = (* (( (ptr) (* (( (ptr) gf←c23652)+74)/* var←c21060 */ ))+45) ); (void) ( *( (fPt) ((* (ptr) pd77 ))))(collection←v5788, pd77); }; SOURCE(8276, 66) if ((0 != reConsiderNow←v5872)) { SOURCE(8298, 44) { word pd78; pd78 = (* (( (ptr) (* (( (ptr) gf←c23652)+73)/* var←c20964 */ ))+16) ); (void) ( *( (fPt) ((* (ptr) pd78 ))))(collection←v5788, pd78); }; }; } static void IncludeHardLR←P2232(ip←v8124, newChild←v8152, formal←c23716) word ip←v8124; word newChild←v8152; word formal←c23716; { W6 var←c23684; /* declaration of var←c22244 skipped */ word idx←v8208; formal←c23716 = (formal←c23716 - 16); var←c23684.f0 = formal←c23716; /* IncludeHardLR: */ SOURCE(7440, 577) { word tmpAddr79; tmpAddr79 = (word) (( (ptr) &var←c23684)+4)/* var←c22244 */ ; (* (ptr) tmpAddr79 ) = ( ((word) (fPt) IncludeLR←P2292) ); (* (( (ptr) tmpAddr79) + 1) ) = 1; }; SOURCE(7909, 34) idx←v8208 = (word) IncludeLR←P2292(ip←v8124, newChild←v8152, (word) (( (bPt) &var←c23684)+16)/* var←c22244 */ ); SOURCE(7945, 72) if (( (int)idx←v8208 < (int)0)) { SOURCE(7961, 26) (void) AssertEmptySlotsILR←P960(ip←v8124, 1); SOURCE(7989, 28) { word var←c22276; var←c22276 = (word) IncludeLR←P2292(ip←v8124, newChild←v8152, (word) (( (bPt) &var←c23684)+16)/* var←c22244 */ ); }; }; } static word IncludeLR←P2292(ip←v8284, w←v8312, formal←c23748) word ip←v8284; word w←v8312; word formal←c23748; { word var←c8356; formal←c23748 = (formal←c23748 - 16); /* IncludeLR: */ SOURCE(7507, 394) SOURCE(7507, 394) var←c8356 = (word) -1; SOURCE(7580, 194) if ((0 != (* (( (ptr) ip←v8284)+1) ))) { SOURCE(7605, 169) { word idx←v8384; SOURCE(7607, 24) idx←v8384 = (word) Find←P720(ip←v8284, 0, 0); SOURCE(7633, 14) if (( (int)idx←v8384 < (int)0)) { SOURCE(7647, 5) (void) XR←RaiseUnnamedError(); }; SOURCE(7680, 22) { word var←c22308; var←c22308 = (* (( (ptr) ip←v8284)+5) ); { word limit80; (* ((( (ptr) var←c22308)+1)+( limit80 = (* (ptr) var←c22308 ), BCK(idx←v8384, limit80) )) ) = w←v8312; }; }; SOURCE(7704, 55) if (( (int)(word) Find←P720(ip←v8284, 0, SGNCK((idx←v8384 + 1))) < (int)0)) { SOURCE(7735, 24) (* (( (ptr) ip←v8284)+1) ) = 0; }; SOURCE(7761, 13) return(idx←v8384); }; }; SOURCE(7777, 124) if (((* (ptr) ip←v8284 ) < (* (ptr) (* (( (ptr) ip←v8284)+5) ) ))) { SOURCE(7816, 87) { word idx←v8428; SOURCE(7818, 23) idx←v8428 = (* (ptr) ip←v8284 ); SOURCE(7843, 22) { word var←c22340; var←c22340 = (* (( (ptr) ip←v8284)+5) ); { word limit81; (* ((( (ptr) var←c22340)+1)+( limit81 = (* (ptr) var←c22340 ), BCK(idx←v8428, limit81) )) ) = w←v8312; }; }; SOURCE(7867, 20) (* (ptr) ip←v8284 ) = (idx←v8428 + 1); SOURCE(7889, 12) return(idx←v8428); }; }; SOURCE(7507, 394) return(var←c8356); } static void DefaultAddChildrenLR←P1200(collection←v5944, children←v5972, reConsiderNow←v6000) word collection←v5944; word children←v5972; word reConsiderNow←v6000; { register ptr gf←c23780 = (ptr) &globalframe; word classPart←v8472; /* DefaultAddChildrenLR: */ SOURCE(8348, 312) SOURCE(8457, 67) { word var←c22372; word var←c0254; var←c22372 = (* (( (ptr) collection←v5944)+4) ); { word idx82; word limit83; var←c0254 = (* ((( (ptr) var←c22372)+30)+( idx82 = (* (( (ptr) (* (( (ptr) gf←c23780)+8)/* collectionClass←v2664 */ ))+27) ), limit83 = (* (( (ptr) var←c22372)+29) ), BCK(idx82, limit83) )) ); }; classPart←v8472 = XR←Narrow(var←c0254, (* (( (ptr) gf←c23780)+16) )); }; SOURCE(8526, 134) { register word l←v8516; l←v8516 = children←v5972; lab←L100034: ; if ((l←v8516 != 0)) { } else { goto lab←L100031; }; SOURCE(8582, 78) { word pd84; pd84 = (* (( (ptr) classPart←v8472)+1) ); (void) ( *( (fPt) ((* (ptr) pd84 ))))(collection←v5944, (* (ptr) l←v8516 ), 0, ( ((* (( (ptr) l←v8516)+1) ) != 0) ? (0 != reConsiderNow←v6000) : 0 ) , pd84) ; }; l←v8516 = (* (( (ptr) l←v8516)+1) ); goto lab←L100034; lab←L100031: ; }; } static word CountChildren←P1260(collection←v6144) word collection←v6144; { register ptr gf←c23812 = (ptr) &globalframe; word n←v6188; word ip←v8644; /* CountChildren: */ SOURCE(8675, 246) SOURCE(8675, 246) n←v6188 = 0; SOURCE(8751, 58) { word var←c22404; word superClass←v19828; superClass←v19828 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c23812)+76)/* var←c21636 */ ))+14) ) ); { word idx85; word limit86; var←c22404 = (* ((( (ptr) collection←v6144)+49)+( idx85 = (* (( (ptr) superClass←v19828)+4) ), limit86 = (* (( (ptr) collection←v6144)+48) ), BCK(idx85, limit86) )) ); }; ip←v8644 = XR←Narrow(var←c22404, (* (( (ptr) gf←c23812)+17) )); }; SOURCE(8811, 110) { register word i←v8688 = 0; register word noName←c22436; noName←c22436 = (* (ptr) ip←v8644 ); if ((i←v8688 >= noName←c22436)) { goto lab←L100036; }; lab←L100039: ; { word c←v8732; SOURCE(8846, 26) { word var←c22468; var←c22468 = (* (( (ptr) ip←v8644)+5) ); { word limit87; c←v8732 = (* ((( (ptr) var←c22468)+1)+( limit87 = (* (ptr) var←c22468 ), BCK(i←v8688, limit87) )) ); }; }; SOURCE(8874, 47) if ( ( (c←v8732 != 0) ? ((* (( (ptr) c←v8732)+38) ) < 4) : 0 ) ) { SOURCE(8905, 16) n←v6188 = (n←v6188 + 1); }; }; i←v8688 = (i←v8688 + 1); if ((i←v8688 < noName←c22436)) { goto lab←L100039; }; lab←L100036: ; }; SOURCE(8675, 246) return(n←v6188); } static void BasicEnumerateChildren←P1320(collection←v6248, eachChild←v6276, data←v6304) word collection←v6248; word eachChild←v6276; word data←v6304; { register ptr gf←c23844 = (ptr) &globalframe; word ip←v8776; /* BasicEnumerateChildren: */ SOURCE(8927, 322) SOURCE(9041, 58) { word var←c22500; word superClass←v19784; superClass←v19784 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c23844)+76)/* var←c21636 */ ))+14) ) ); { word idx88; word limit89; var←c22500 = (* ((( (ptr) collection←v6248)+49)+( idx88 = (* (( (ptr) superClass←v19784)+4) ), limit89 = (* (( (ptr) collection←v6248)+48) ), BCK(idx88, limit89) )) ); }; ip←v8776 = XR←Narrow(var←c22500, (* (( (ptr) gf←c23844)+17) )); }; SOURCE(9101, 148) { register word i←v8820 = 0; register word noName←c22532; noName←c22532 = (* (ptr) ip←v8776 ); if ((i←v8820 >= noName←c22532)) { goto lab←L100041; }; lab←L100044: ; { word c←v8864; SOURCE(9136, 26) { word var←c22564; var←c22564 = (* (( (ptr) ip←v8776)+5) ); { word limit90; c←v8864 = (* ((( (ptr) var←c22564)+1)+( limit90 = (* (ptr) var←c22564 ), BCK(i←v8820, limit90) )) ); }; }; SOURCE(9164, 85) if ( ( (c←v8864 != 0) ? ((* (( (ptr) c←v8864)+38) ) < 4) : 0 ) ) { SOURCE(9196, 53) if ((0 != (word) ( *( (fPt) ((* (ptr) eachChild←v6276 ))))(collection←v6248, c←v8864, data←v6304, i←v8820, eachChild←v6276) )) { SOURCE(9243, 6) return; }; }; }; i←v8820 = (i←v8820 + 1); if ((i←v8820 < noName←c22532)) { goto lab←L100044; }; lab←L100041: ; }; } static word InternalEnumerateChildren←P1380(self←v11736, classLevel←v11764, proc←v11792, data←v11820) word self←v11736; word classLevel←v11764; word proc←v11792; word data←v11820; { register ptr gf←c23876 = (ptr) &globalframe; word stop←v11864; word ip←v8908; /* InternalEnumerateChildren: */ SOURCE(9264, 269) SOURCE(9264, 269) stop←v11864 = 0; SOURCE(9329, 52) { word var←c22596; word superClass←v19740; superClass←v19740 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c23876)+76)/* var←c21636 */ ))+14) ) ); { word idx91; word limit92; var←c22596 = (* ((( (ptr) self←v11736)+49)+( idx91 = (* (( (ptr) superClass←v19740)+4) ), limit92 = (* (( (ptr) self←v11736)+48) ), BCK(idx91, limit92) )) ); }; ip←v8908 = XR←Narrow(var←c22596, (* (( (ptr) gf←c23876)+17) )); }; SOURCE(9383, 150) { register word i←v8952 = 0; register word noName←c22628; noName←c22628 = (* (ptr) ip←v8908 ); if ((i←v8952 >= noName←c22628)) { goto lab←L100046; }; lab←L100049: ; { word c←v8996; SOURCE(9418, 26) { word var←c22660; var←c22660 = (* (( (ptr) ip←v8908)+5) ); { word limit93; c←v8996 = (* ((( (ptr) var←c22660)+1)+( limit93 = (* (ptr) var←c22660 ), BCK(i←v8952, limit93) )) ); }; }; SOURCE(9446, 87) if ( ( (c←v8996 != 0) ? ((* (( (ptr) c←v8996)+38) ) < 4) : 0 ) ) { SOURCE(9480, 53) if ((0 != (word) ( *( (fPt) ((* (ptr) proc←v11792 ))))(self←v11736, c←v8996, data←v11820, proc←v11792))) { SOURCE(9514, 11) stop←v11864 = 1; SOURCE(9527, 6) return(stop←v11864); }; }; }; i←v8952 = (i←v8952 + 1); if ((i←v8952 < noName←c22628)) { goto lab←L100049; }; lab←L100046: ; }; SOURCE(9264, 269) return(stop←v11864); } static word NewCollectionClassPart←P1440(class←v6376) word class←v6376; { register ptr gf←c23908 = (ptr) &globalframe; word newClassPart←v6420; word oldClassPart←v9040; /* NewCollectionClassPart: */ SOURCE(9552, 321) SOURCE(9552, 321) newClassPart←v6420 = 0; SOURCE(9666, 86) { word idx94; word limit95; oldClassPart←v9040 = XR←Narrow((* ((( (ptr) class←v6376)+30)+( idx94 = (* (( (ptr) (* (( (ptr) gf←c23908)+8)/* collectionClass←v2664 */ ))+27) ), limit95 = (* (( (ptr) class←v6376)+29) ), BCK(idx94, limit95) )) ), (* (( (ptr) gf←c23908)+16) )); }; SOURCE(9756, 58) { word var←c22692; var←c22692 = XR←NewObject(12, (* (( (ptr) gf←c23908)+16) )); (* (W3Pt) var←c22692 ) = (* (W3Pt) oldClassPart←v9040 ); newClassPart←v6420 = var←c22692; }; SOURCE(9816, 57) { word idx96; word limit97; (* ((( (ptr) class←v6376)+30)+( idx96 = (* (( (ptr) (* (( (ptr) gf←c23908)+8)/* collectionClass←v2664 */ ))+27) ), limit97 = (* (( (ptr) class←v6376)+29) ), BCK(idx96, limit97) )) ) = newClassPart←v6420; }; SOURCE(9552, 321) return(newClassPart←v6420); } /* file: XTkCollectionsImpl, module: XTkCollectionsImpl, compiled at: June 12, 1992 10:44:05 am PDT */ extern void XR←install←XTkCollectionsImpl() { NoName←Q3408(); } extern void XR←run←XTkCollectionsImpl() { XR←Start(&globalframe); }