/* 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); }