#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "too many actual parameters", 27}; PRIVATE TXT txt2 = { 3, "unknown parameter", 18}; PRIVATE TXT txt3 = { 3, "positional parameters must precede keyword parameters", 54 }; PRIVATE TXT txt4 = { 3, "parameter already specified", 28}; PRIVATE TXT txt5 = { 3, "parameter not specified", 24}; PRIVATE TXT txt6 = { 3, "incompatible types", 19}; PRIVATE TXT txt7 = { 3, "VAR actual must be a designator", 32}; PRIVATE TXT txt8 = { 3, "VAR actual must be writable", 28}; PRIVATE TXT txt9 = { 3, "must be a VALUE or READONLY parameter to have a default", 56 }; PRIVATE TXT txt10 = { 3, "default is not assignable to formal", 36}; PRIVATE TXT txt11 = { 3, "default is not constant", 24}; PRIVATE TXT txt12 = { 3, "formal has no default value", 28}; PRIVATE TXT txt13 = { 3, "formal declaration??", 21}; PRIVATE TXT txt14 = { 3, "VALUE", 6}; PRIVATE TXT txt15 = { 3, "VAR", 4}; PRIVATE TXT txt16 = { 3, "READONLY", 9}; PRIVATE TXT txt17 = { 3, " ", 2}; PRIVATE TXT txt18 = { 3, " := ", 5}; #line 16 "../Interfaces/Type.i3" #define t3 ADDRESS #define t91 void typedef int t14; #line 116 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef struct { char* elts; int size[1]; } t77; #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" #define t60 t77 #define TC3 TC_Type__Map IMPORT TYPE TC_Type__Map; #line 16 "../Interfaces/Type.i3" IMPORT char VS_Type__Map__41dd9f4b33104fce; #line 14 "../Interfaces/Expr.i3" #define t17 ADDRESS #define t89 ADDRESS typedef struct { TYPE self; int private; } t89_methods; #define t89_msize (sizeof (t89_methods)) typedef struct { ADDRESS methods; } t89_fields; #define t89_size (sizeof (t89_fields)) #define TC89 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 16 "../Interfaces/M3.i3" #define t11 ADDRESS #define TC11 TC_M3__Expr IMPORT TYPE TC_M3__Expr; #line 16 IMPORT char VS_M3__Expr__8ae39aaa2d432477; #line 14 "../Interfaces/Expr.i3" #define t63 t77 #define TC17 TC_Expr__List IMPORT TYPE TC_Expr__List; #line 14 IMPORT char VS_Expr__List__3f87eceb2b9a246a; #define t23 ADDRESS #define TC23 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #define t39 ADDRESS #define TC39 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #define t40 ADDRESS #define TC40 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 18 "../Interfaces/ProcType.i3" #define t50 ADDRESS #define t8 ADDRESS #define TC8 TC_String__T IMPORT TYPE TC_String__T; #line 13 "../Interfaces/String.i3" IMPORT char VS_String__T__3a6c7dc12615e4ee; typedef struct { t8 _module; t8 _item; } t53; #line 15 "../Interfaces/M3.i3" #define t15 ADDRESS #define TC15 TC_M3__Value IMPORT TYPE TC_M3__Value; #line 15 IMPORT char VS_M3__Value__6f64cf9c2cae25fb; #line 14 "../Interfaces/ProcType.i3" typedef struct { t50 _next; t53 _name; t15 _except; } t54; #define TC50 TC_ProcType__Raisee IMPORT TYPE TC_ProcType__Raisee; #line 18 IMPORT char VS_ProcType__Raisee__5fe771ff27c179d9; #line 17 "../Interfaces/Scope.i3" #define t56 ADDRESS #define t16 t77 #define TC56 TC_Scope__ValueList IMPORT TYPE TC_Scope__ValueList; #line 17 IMPORT char VS_Scope__ValueList__64bf053e22e4e53c; #line 17 "../Interfaces/Type.i3" #define t65 ADDRESS #define t10 ADDRESS #define TC10 TC_M3__Type IMPORT TYPE TC_M3__Type; #line 18 "../Interfaces/M3.i3" IMPORT char VS_M3__Type__4d87bc25311f81d2; #line 17 "../Interfaces/Type.i3" typedef struct { t65 _next; t10 _type; } t66; #define TC65 TC_Type__List IMPORT TYPE TC_Type__List; #line 17 IMPORT char VS_Type__List__5791758e343becc1; #line 20 "Formal.m3" #define t4 ADDRESS #line 13 "./Formal.i3" typedef unsigned char t24; #line 15 "../Interfaces/Int.i3" typedef t91 (*t5)(); #line 18 "./Value.i3" typedef unsigned char t19; #line 43 "./ValueRep.i3" typedef t19 (*t20)(); #line 19 "../Interfaces/M3.i3" #define t21 ADDRESS #define TC21 TC_M3__Temp IMPORT TYPE TC_M3__Temp; #line 19 IMPORT char VS_M3__Temp__450b691937f03dae; #line 45 "./ValueRep.i3" typedef t21 (*t22)(); typedef t15 (*t25)(); typedef unsigned char t9; typedef t9 (*t18)(); typedef t11 (*t30)(); typedef t10 (*t27)(); #line 20 "Formal.m3" typedef struct { int filler; } t4_methods; #define t4_msize (sizeof (t4_methods)) typedef struct { #line 20 t14 _offset; t24 _mode; t10 _tipe; t11 _default; } t4_fields; #define t4_size (sizeof (t4_fields)) PRIVATE void t4_InitProc (); #line 20 PRIVATE void t4_SetupProc (); PRIVATE void t4_PrintProc (); PRIVATE typecell t4_TC; PRIVATE typecell t4_TC_init = {0, 0, 0, 0, 0, (PROC)NIL, #line 20 t4_size, t4_msize, NIL, 0, 0, t4_InitProc, t4_SetupProc, t4_PrintProc, "Formal#$%^_0002", 627109140, 769776531}; PRIVATE TYPE TC4 = &t4_TC; #line 20 #line 41 typedef struct { t4 _formal; t11 _actual; t9 _matched; } t7; #line 157 #define t1 t77 #define t79 ADDRESS typedef struct { TYPE self; int private; } t79_methods; #define t79_msize (sizeof (t79_methods)) typedef struct { ADDRESS methods; } t79_fields; #define t79_size (sizeof (t79_fields)) #define TC79 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t79_MapProc TC_ROOT->mapProc #define t2 ADDRESS #define TC2 TC_Wr__T IMPORT TYPE TC_Wr__T; #line 90 ".ROOT/.boots/corelib/Interfaces/Wr.i3" IMPORT char VS_Wr__T__2555b70b3f7780b1; #define t2_MapProc TC_Wr__T->mapProc #define t6 ADDRESS #define TC6 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t6_MapProc TC_TEXT->mapProc typedef signed_char t12; #line 157 "Formal.m3" typedef struct { t7 elts[100]; } t13; #line 47 typedef t4 (*t26)(); #line 29 "../Interfaces/ArrayType.i3" typedef t14 (*t28)(); #line 15 "../Interfaces/Token.i3" typedef unsigned char t68; #line 45 typedef struct { int elts[4]; } t29; #line 111 ".ROOT/.boots/corelib/Interfaces/Fmt.i3" #define t31 t77 typedef t6 (*t32)(); #line 13 typedef unsigned char t33; typedef unsigned char t34; typedef int t35; typedef double t36; typedef float t37; typedef signed_char t38; typedef unsigned char t41; #line 18 "../Interfaces/AssignStmt.i3" typedef unsigned char t42; #line 17 "../Interfaces/M3.i3" #define t43 ADDRESS #define TC43 TC_M3__Stmt IMPORT TYPE TC_M3__Stmt; #line 17 IMPORT char VS_M3__Stmt__376b307627fc1f2f; #line 16 "../Interfaces/AssignStmt.i3" typedef t43 (*t44)(); #line 16 "../Interfaces/Stmt.i3" typedef unsigned char t47; typedef struct { int elts[1]; } t45; typedef void (*t46)(); #line 17 "../Interfaces/CallExpr.i3" #define t48 ADDRESS #define TC48 TC_CallExpr__MethodList IMPORT TYPE TC_CallExpr__MethodList; #line 17 IMPORT char VS_CallExpr__MethodList__7e87c2d720444b71; #line 27 "../Interfaces/ProcType.i3" typedef t48 (*t49)(); #line 14 "../Interfaces/M3.i3" #define t51 ADDRESS #define TC51 TC_M3__Scope IMPORT TYPE TC_M3__Scope; #line 14 IMPORT char VS_M3__Scope__6e6d8848308d8a2d; #line 24 "../Interfaces/ProcType.i3" typedef t51 (*t52)(); #line 65 "../Interfaces/Token.i3" #define t67 t77 typedef struct { t8 elts[100]; } t72; #line 17 "../Interfaces/String.i3" typedef struct { t14 _top; t72 _stk; } t55; #line 15 ".ROOT/.boots/corelib/Interfaces/FPrint.i3" typedef signed_char t62; typedef struct { t14 elts[2]; } t57; #line 16 "./ValueRep.i3" typedef t9 t58; #define t59 ADDRESS #line 19 typedef struct { t5 _bind; t5 _typeCheck; t20 _class; t5 _fingerprint; t22 _load; t5 _write; t25 _select; t18 _declare0; t5 _declare1; #line 19 t5 _declare2; t18 _needsDecl; t30 _toExpr; t27 _toType; } t59_methods; #define t59_msize (sizeof (t59_methods)) typedef struct { #line 19 t14 _origin; t8 _name; t8 _extName; t51 _scope; t10 _type; unsigned _checked : 1; unsigned _incheck : 1; unsigned _readonly : 1; #line 19 unsigned _declared : 1; unsigned _bound : 1; unsigned _compiled : 1; unsigned _imported : 1; unsigned _exported : 1; unsigned _external : 1; #line 19 unsigned _used : 1; unsigned _usedAtTop : 1; unsigned _unused : 1; unsigned _obsolete : 1; unsigned _inFrame : 1; t57 _fprint; #line 19 } t59_fields; #define t59_size (sizeof (t59_fields)) #define TC59 TC_M3__Value typedef void (*t61)(); #line 121 "../Interfaces/Type.i3" typedef t3 (*t64)(); #line 65 "../Interfaces/Token.i3" typedef struct { t8 elts[97]; } t69; #line 34 "../Interfaces/String.i3" typedef t8 (*t70)(); #line 28 #define t71 t77 typedef signed_char t73; #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef t73 (*t74)(); #line 26 typedef t35 (*t75)(); #line 23 typedef t34 (*t76)(); #line 91 ".ROOT/.boots/corelib/Interfaces/Wr.i3" typedef unsigned char t78; #line 15 ".ROOT/.boots/corelib/Interfaces/Thread.i3" #define t80 ADDRESS #define TC80 TC_Thread__T IMPORT TYPE TC_Thread__T; #line 15 IMPORT char VS_Thread__T__2555b70b3f7780b1; #define t80_MapProc TC_Thread__T->mapProc typedef t39 (*t81)(); #define t82 ADDRESS #define TC82 TC_Thread__Condition IMPORT TYPE TC_Thread__Condition; #line 21 IMPORT char VS_Thread__Condition__26d5968239e08f4e; #define t82_MapProc TC_Thread__Condition->mapProc #define t83 ADDRESS #define TC83 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t83_MapProc TC_MUTEX->mapProc typedef t80 (*t84)(); #line 23 #define t85 ADDRESS #line 23 typedef struct { t81 _apply; } t85_methods; #define t85_msize (sizeof (t85_methods)) typedef struct { #line 23 int filler; } t85_fields; #define t85_size (sizeof (t85_fields)) #define TC85 TC_Thread__Closure IMPORT TYPE TC_Thread__Closure; #line 23 IMPORT char VS_Thread__Closure__7fb5c6232c5a658a; #define t85_MapProc TC_Thread__Closure->mapProc typedef t82 (*t86)(); typedef t83 (*t87)(); #line 28 #define t88 ADDRESS #line 28 typedef struct { int filler; } t88_methods; #define t88_msize (sizeof (t88_methods)) typedef struct { #line 28 t35 _stackSize; } t88_fields; #define t88_size (sizeof (t88_fields)) #define TC88 TC_Thread__SizedClosure IMPORT TYPE TC_Thread__SizedClosure; #line 28 IMPORT char VS_Thread__SizedClosure__8a46717d2eae7b07; #define t88_MapProc TC_Thread__SizedClosure->mapProc typedef CLOSURE t90; #line 10 "Formal.m3" IMPORT INITLINK* Text__init; IMPORT INITLINK* Temp__init; IMPORT INITLINK* ArrayType__init; IMPORT INITLINK* OpenArrayExpr__init; #line 10 IMPORT INITLINK* Fmt__init; IMPORT INITLINK* Wr__init; IMPORT INITLINK* Int__init; IMPORT INITLINK* AssignStmt__init; IMPORT INITLINK* KeywordExpr__init; #line 10 IMPORT INITLINK* ProcType__init; IMPORT INITLINK* Expr__init; IMPORT INITLINK* Error__init; IMPORT INITLINK* String__init; #line 10 IMPORT INITLINK* Type__init; IMPORT INITLINK* ValueRep__init; IMPORT INITLINK* Value__init; IMPORT INITLINK* Formal__init; #line 10 IMPORT TYPE TC_Text__T; IMPORT char VS_Text__T__fc4b369f3ab271fd; IMPORT TYPE TC_Temp__T; IMPORT char VS_Temp__T__3a6c7dc12615e4ee; #line 10 IMPORT t14 _ArrayType__OpenDepth (); IMPORT char VS_ArrayType__OpenDepth__0aca628230da93d9; IMPORT t11 _OpenArrayExpr__New (); #line 10 IMPORT char VS_OpenArrayExpr__New__f77b071f3e634a8e; IMPORT t6 _Fmt__Int (); IMPORT char VS_Fmt__Int__6e220fa1366cffbc; #line 10 IMPORT EXCEPTION_NAME _Thread__Alerted; IMPORT char VS_Thread__Alerted__fc88feb43485af46; IMPORT EXCEPTION_NAME _Wr__Failure; #line 10 IMPORT char VS_Wr__Failure__5f82cfb43dabf527; IMPORT EXCEPTION_NAME _Wr__Error; IMPORT char VS_Wr__Error__c367253d3ed4fd15; #line 10 IMPORT t91 _Wr__PutText (); IMPORT char VS_Wr__PutText__e034dab73a793846; IMPORT t11 _AssignStmt__CheckRHS (); IMPORT char VS_AssignStmt__CheckRHS__9aaea40f392f387e; #line 10 IMPORT t9 _KeywordExpr__Split (); IMPORT char VS_KeywordExpr__Split__c7296ea8373069e8; IMPORT t9 _ProcType__Is (); IMPORT char VS_ProcType__Is__3d26c6f7230f52c6; #line 10 IMPORT TYPE TC_Expr__T; IMPORT char VS_Expr__T__2446b70b3f7780a5; IMPORT t91 _Expr__Bind (); IMPORT char VS_Expr__Bind__7e2752da3eaf56eb; #line 10 IMPORT t10 _Expr__TypeOf (); IMPORT char VS_Expr__TypeOf__fef0a11b388c64fa; IMPORT t11 _Expr__ConstValue (); IMPORT char VS_Expr__ConstValue__ce4fd448218fe483; #line 10 IMPORT t9 _Expr__IsDesignator (); IMPORT char VS_Expr__IsDesignator__e3556614321cb906; IMPORT t9 _Expr__IsWritable (); IMPORT char VS_Expr__IsWritable__85b9bb292e4a0f55; #line 10 IMPORT t91 _Expr__TypeCheck (); IMPORT char VS_Expr__TypeCheck__af9aa9073729e7f7; IMPORT t21 _Expr__Compile (); IMPORT char VS_Expr__Compile__a7e0cc4029a2ec76; #line 10 IMPORT t91 _Expr__Fingerprint (); IMPORT char VS_Expr__Fingerprint__50ce687c31d90a5b; IMPORT t91 _Error__Msg (); IMPORT char VS_Error__Msg__4d119a332467757f; #line 10 IMPORT t91 _Error__Str (); IMPORT char VS_Error__Str__2bd0723e3872e90c; IMPORT TYPE TC_Type__T; IMPORT char VS_Type__T__2446b70b3f7780a5; #line 10 IMPORT t10 _Type__Bind (); IMPORT char VS_Type__Bind__3443ccd12eedb9e8; IMPORT t10 _Type__Base (); IMPORT char VS_Type__Base__2bebd0333659a92c; #line 10 IMPORT t9 _Type__IsEqual (); IMPORT char VS_Type__IsEqual__4098bc3f32325d05; IMPORT t91 _Type__Check (); IMPORT char VS_Type__Check__3c8ceb09206ee440; #line 10 IMPORT t9 _Type__IsAssignable (); IMPORT char VS_Type__IsAssignable__6d0a7b0e2c806002; IMPORT t91 _Type__Fingerprint (); IMPORT char VS_Type__Fingerprint__0d24a3463c25e166; #line 10 IMPORT TYPE TC_ValueRep__V; IMPORT char VS_ValueRep__V__f28699153c608442; IMPORT t91 _ValueRep__Init (); IMPORT char VS_ValueRep__Init__ba99dff739390f9a; #line 10 IMPORT t15 _ValueRep__NoDuplicates (); IMPORT char VS_ValueRep__NoDuplicates__ed93f73a247eb7b4; IMPORT t11 _ValueRep__NoExpr (); #line 10 IMPORT char VS_ValueRep__NoExpr__1297c63d2e046c2c; IMPORT t10 _ValueRep__NoType (); IMPORT char VS_ValueRep__NoType__4061f01226f55ca3; #line 10 IMPORT t21 _ValueRep__NoLoader (); IMPORT char VS_ValueRep__NoLoader__9a7f0c5b24f526c1; IMPORT t91 _ValueRep__NoWriter (); #line 10 IMPORT char VS_ValueRep__NoWriter__3b24d43c367f7122; IMPORT t91 _ValueRep__NoDeclarer (); IMPORT char VS_ValueRep__NoDeclarer__22db283420635bde; #line 10 IMPORT t9 _ValueRep__Never (); IMPORT char VS_ValueRep__Never__39b6ab0628d97589; IMPORT t9 _ValueRep__Always (); IMPORT char VS_ValueRep__Always__1b0a9bbf2173b8b3; #line 10 IMPORT TYPE TC_Value__T; IMPORT char VS_Value__T__2446b70b3f7780a5; EXPORT t15 _Formal__New (); EXPORT char VS_Formal__New__ba6f8854395f1ba4 = '\0'; #line 10 EXPORT t9 _Formal__Split (); EXPORT char VS_Formal__Split__dd8860c23cba8174 = '\0'; EXPORT t9 _Formal__HasClosure (); EXPORT char VS_Formal__HasClosure__f787b78320096703 = '\0'; #line 10 EXPORT t9 _Formal__CheckArgs (); EXPORT char VS_Formal__CheckArgs__53fce8d22f93abb5 = '\0'; PRIVATE TYPE TC_Formal__T; PRIVATE t4 _Formal__Create (); #line 10 PRIVATE t91 _Formal__Bind (); PRIVATE t91 _Formal__Check (); PRIVATE t21 _Formal__Load (); PRIVATE t91 _Formal__Compile (); #line 10 PRIVATE t19 _Formal__MyClass (); PRIVATE t9 _Formal__Declarer (); PRIVATE t91 _Formal__Err (); PRIVATE t91 _Formal__FPrinter (); #line 10 IMPORT char VS_M3__Value__c975bdb53a08f518; #line 47 "Formal.m3" PRIVATE t4 _Formal__Create (_name) t8 _name; { t4 z0; t4 z2; #line 47 "Formal.m3" { auto t4 _t; auto t4 __result; { ZERO1 (& _t); #line 47 ZERO1 (& __result); CHECKSTACKOVERFLOW; { register char** ptr = (char**) UNEWOBJ (TC4); z0 = (t4) ptr; }; _t = z0; _ValueRep__Init (_t, _name); NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_offset) = 0 ; NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_mode) = 0 ; NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_tipe) = (t10) 0; NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_default) = (t11) 0; __result = _t; return __result; } } }; #line 59 "Formal.m3" EXPORT t15 _Formal__New (_name, _m, _offset, _type, _default, _unused) t8 _name; t24 _m; t14 _offset; t10 _type; t11 _default; #line 59 t9 _unused; { t4 z2; t9 z3; t4 z1; #line 59 "Formal.m3" { auto t4 _t; auto t15 __result; { ZERO1 (& _t); #line 59 CHECKSTACKOVERFLOW; z2 = _Formal__Create (_name); _t = z2; z3 = (_m == 2 ); NILCHECKA (z1 = _t); (((t59_fields*)(z1+(0+t89_size)))->_readonly) = z3; NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_offset) = _offset; NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_mode) = _m; NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_tipe) = _type; NILCHECKA (z2 = _t); (((t4_fields*)(z2+(0+t59_size+t89_size)))->_default) = _default; NILCHECKA (z2 = _t); (((t59_fields*)(z2+(0+t89_size)))->_unused) = _unused; __result = _t; return __result; } } }; #line 73 "Formal.m3" EXPORT t9 _Formal__Split (_formal, _offset, _m, _type, _default, _unused) t15 _formal; t14 * _offset; t24 * _m; t10 * _type; #line 73 t11 * _default; t9 * _unused; { t4 z1; #line 73 "Formal.m3" { auto t9 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; { register ADDRESS ref = (ADDRESS) _formal; register int tc = TYPECODE (ref); if (tc == 0) goto tc0_0; if (ISSUBTYPE (tc, TC4)) goto tc0_1; #line 77 goto tc0_else; tc0_0:; __result = 0 ; return __result; tc0_1:; { auto t4 _t; { ZERO1 (& _t); #line 78 _t = (t4) ref; NILCHECKA (z1 = _t); (*_m) = (((t4_fields*)(z1+(0+t59_size+t89_size)))->_mode); NILCHECKA (z1 = _t); (*_offset) = (((t4_fields*)(z1+(0+t59_size+t89_size)))->_offset); NILCHECKA (z1 = _t); (*_type) = (((t4_fields*)(z1+(0+t59_size+t89_size)))->_tipe); NILCHECKA (z1 = _t); (*_default) = (((t4_fields*)(z1+(0+t59_size+t89_size)))->_default); NILCHECKA (z1 = _t); (*_unused) = (((t59_fields*)(z1+(0+t89_size)))->_unused); __result = 1 ; return __result; } } tc0_else:; __result = 0 ; return __result; tc0_exit:; }; } } }; #line 91 "Formal.m3" EXPORT t9 _Formal__HasClosure (_formal) t15 _formal; { t4 z1; t9 z3; t9 z0; t4 z4; t10 z5; t9 z2; #line 91 "Formal.m3" { auto t9 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; { register ADDRESS ref = (ADDRESS) _formal; register int tc = TYPECODE (ref); if (tc == 0) goto tc1_0; if (ISSUBTYPE (tc, TC4)) goto tc1_1; #line 93 goto tc1_else; tc1_0:; __result = 0 ; return __result; tc1_1:; { auto t4 _t; { ZERO1 (& _t); #line 94 _t = (t4) ref; NILCHECKA (z1 = _t); z3 = ((((t4_fields*)(z1+(0+t59_size+t89_size)))->_mode) == 0 ); z0 = 0; if (z3) { #line 95 NILCHECKA (z4 = _t); z5 = _Type__Base ((((t4_fields*)(z4+(0+t59_size+t89_size)))->_tipe)); z2 = _ProcType__Is (z5); #line 95 z0 = z2; }; __result = z0; return __result; } } tc1_else:; __result = 0 ; return __result; tc1_exit:; }; } } }; #line 100 "Formal.m3" PRIVATE t91 _Formal__Bind (_t) t4 _t; { t4 z2; t4 z1; t9 z3; t10 z4; #line 100 "Formal.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Expr__Bind ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_default)); NILCHECKA (z1 = _t); z3 = ((((t4_fields*)(z1+(0+t59_size+t89_size)))->_tipe) != 0); if (z3) { NILCHECKA (z2 = _t); z4 = _Type__Bind ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_tipe)); NILCHECKA (z1 = _t); (((t4_fields*)(z1+(0+t59_size+t89_size)))->_tipe) = z4; #line 104 goto if_1_end; }; NILCHECKA (z2 = _t); z4 = _Expr__TypeOf ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_default)); NILCHECKA (z1 = _t); (((t4_fields*)(z1+(0+t59_size+t89_size)))->_tipe) = z4; #line 105 if_1_end: /**/; NILCHECKA (z1 = _t); (((t59_fields*)(z1+(0+t89_size)))->_type) = (((t4_fields*)(z1+(0+t59_size+t89_size)))->_tipe); #line 107 } } }; #line 110 "Formal.m3" PRIVATE t91 _Formal__Check (_t) t4 _t; { t4 z2; t4 z1; t9 z3; t10 z5; t9 z0; t11 z4; #line 110 "Formal.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Type__Check ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_tipe)); NILCHECKA (z1 = _t); z3 = ((((t4_fields*)(z1+(0+t59_size+t89_size)))->_default) != 0); if (z3) { NILCHECKA (z2 = _t); _Expr__TypeCheck ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_default)); NILCHECKA (z1 = _t); z3 = ((((t4_fields*)(z1+(0+t59_size+t89_size)))->_mode) == 1 ); if (z3) { NILCHECKA (z2 = _t); _Error__Str ((((t59_fields*)(z2+(0+t89_size)))->_name), ((ADDRESS)(& txt9.str))); goto if_3_end; #line 117 }; if_3_end: /**/; NILCHECKA (z2 = _t); z5 = _Expr__TypeOf ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_default)); z3 = _Type__IsAssignable ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_tipe), z5); #line 119 z0 = ! z3; if (z0) { NILCHECKA (z2 = _t); _Error__Str ((((t59_fields*)(z2+(0+t89_size)))->_name), ((ADDRESS)(& txt10.str))); goto if_4_end; #line 120 }; if_4_end: /**/; NILCHECKA (z2 = _t); z4 = _Expr__ConstValue ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_default)); z3 = (z4 == 0); #line 122 if (z3) { NILCHECKA (z2 = _t); _Error__Str ((((t59_fields*)(z2+(0+t89_size)))->_name), ((ADDRESS)(& txt11.str))); goto if_5_end; #line 123 }; if_5_end: /**/; goto if_2_end; }; if_2_end: /**/; } } }; #line 128 "Formal.m3" PRIVATE t21 _Formal__Load (_t) t4 _t; { t4 z1; t9 z3; t4 z2; t21 z4; #line 128 "Formal.m3" { auto t21 __result; { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); z3 = ((((t4_fields*)(z1+(0+t59_size+t89_size)))->_default) == 0); if (z3) { NILCHECKA (z2 = _t); _Error__Str ((((t59_fields*)(z2+(0+t89_size)))->_name), ((ADDRESS)(& txt12.str))); goto if_6_end; #line 131 }; if_6_end: /**/; NILCHECKA (z2 = _t); z4 = _Expr__Compile ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_default)); __result = z4; return __result; #line 133 } } }; #line 136 "Formal.m3" PRIVATE t91 _Formal__Compile (_t) t4 _t; { #line 136 "Formal.m3" { { CHECKSTACKOVERFLOW; } } }; #line 140 "Formal.m3" PRIVATE t19 _Formal__MyClass (_t) t4 _t; { #line 140 "Formal.m3" { auto t19 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; __result = 8 ; return __result; } } }; #line 145 "Formal.m3" PRIVATE t9 _Formal__Declarer (_t) t4 _t; { t4 z2; #line 145 "Formal.m3" { auto t9 __result; { ZERO1B (& __result); CHECKSTACKOVERFLOW; NILCHECKA (z2 = _t); _Error__Str ((((t59_fields*)(z2+(0+t89_size)))->_name), ((ADDRESS)(& txt13.str))); if (! 0 ) ASSERTFAULT; } } }; #line 151 "Formal.m3" EXPORT t9 _Formal__CheckArgs (_actuals, _formals, _complain, _nFormals) t17 * _actuals; t16 _formals; t9 _complain; t14 _nFormals; #line 151 { t35 z1; t14 z2; t35 z3; t9 z4; t17 z5; t14 z6; t4 z7; t14 z0; t14 z8; t9 z9; t10 z10; t11 z11; t14 z12; #line 151 "Formal.m3" { auto t14 _j; auto t14 _n; auto t13 _slots; auto t11 _e; auto t11 _e0; auto t11 _value; auto t10 _t; auto t10 _te; auto t9 _posOK; #line 151 auto t9 _ok; auto t8 _name; auto t4 _tt; auto t9 __result; { ZERO (1000, & _slots); ZERO1B (& _posOK); ZERO1B (& _ok); ZERO1 (& _tt); #line 151 ZERO1B (& __result); CHECKSTACKOVERFLOW; { register int *ip; register int sz; register char *elts; ip = & (_formals.size[0]); #line 151 sz = ip[0] * 4; elts = (char*) alloca (sz); COPY (_formals.elts, elts, sz); _formals.elts = elts; }; #line 164 _ok = 1 ; z1 = _formals.size[0]; z2 = _nFormals; z3 = z1; if (z2 > z3) z2 = z3; _nFormals = z2; z4 = (_nFormals <= 99 ); if (!z4) ASSERTFAULT; NILCHECKB (z5 = (*_actuals)); z1 = (*((t63*) z5)).size[0]; z4 = (_nFormals < z1); if (z4) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; _Error__Msg (((ADDRESS)(& txt1.str))); _ok = 0 ; goto if_7_end; }; if_7_end: /**/; { int from, to, index; from = 0 ; z2 = _nFormals - 1 ; to = z2; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 175 _i = (t14) index; { register t77* array = & _formals; z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; z2 = (int)(array->elts + (z6 * 4)); #line 176 }; z7 = NARROW ((*(t15*)z2), t4, TC4, z7); _tt = z7; { t7 *with; NILCHECKA (z7 = _tt); z2 = (((t4_fields*)(z7+(0+t59_size+t89_size)))->_offset); if ((z2 < 0) || (99 < z2)) RANGEFAULT; #line 177 with = &(_slots.elts[z2]); { auto t7 * _z; { _z = with; ((*_z)._formal) = _tt; NILCHECKA (z7 = _tt); ((*_z)._actual) = (((t4_fields*)(z7+(0+t59_size+t89_size)))->_default); ((*_z)._matched) = 0 ; } } }; } } }; }; _posOK = 1 ; { int from, to, index; from = 0 ; NILCHECKB (z5 = (*_actuals)); z0 = (*((t63*) z5)).size[0] - 1; z6 = _nFormals - 1 ; #line 186 z2 = z0; z8 = z6; if (z2 > z8) z2 = z8; to = z2; { auto t14 _i; { for (index = from; index <= to; index += 1) { _i = (t14) index; NILCHECKB (z5 = (*_actuals)); { register t77* array = & (*((t63*) z5)); z6 = _i; if (z6 >= (array->size[0])) RANGEFAULT; #line 187 z2 = (int)(array->elts + (z6 * 4)); }; _e = (*(t11*)z2); z4 = _KeywordExpr__Split (_e, &_name, &_value); if (z4) { _posOK = 0 ; _e = _value; _j = 0 ; loop_0:; z4 = (_j >= _nFormals); if (z4) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; _Error__Str (_name, ((ADDRESS)(& txt2.str))); _ok = 0 ; _j = _i; goto loop_exit_0; }; z2 = _j; if ((z2 < 0) || (99 < z2)) RANGEFAULT; NILCHECKA (z7 = ((_slots.elts[z2])._formal)); z4 = ((((t59_fields*)(z7+(0+t89_size)))->_name) == _name); #line 200 if (z4) { goto loop_exit_0; }; _j += 1 ; goto loop_0; loop_exit_0: /**/; goto if_9_end; }; z4 = ! _posOK; if (z4) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; _Error__Msg (((ADDRESS)(& txt3.str))); _ok = 0 ; goto if_13_end; }; if_13_end: /**/; _j = _i; if_9_end: /**/; { t7 *with; z2 = _j; if ((z2 < 0) || (99 < z2)) RANGEFAULT; with = &(_slots.elts[z2]); { auto t7 * _z; { #line 211 _z = with; if (((*_z)._matched)) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; _Formal__Err (&(*_z), ((ADDRESS)(& txt4.str))); _ok = 0 ; goto if_15_end; }; if_15_end: /**/; ((*_z)._matched) = 1 ; ((*_z)._actual) = _e; } } }; } } }; }; { int from, to, index; from = 0 ; z2 = _nFormals - 1 ; to = z2; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 223 _i = (t14) index; z2 = _i; if (z2 > 99) RANGEFAULT; z9 = (((_slots.elts[z2])._actual) != 0); if (z9) { z6 = _i; if (z6 > 99) RANGEFAULT; #line 224 ((_slots.elts[z6])._matched) = 1 ; goto if_17_end; }; if_17_end: /**/; z2 = _i; if (z2 > 99) RANGEFAULT; z4 = ! ((_slots.elts[z2])._matched); if (z4) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; z6 = _i; if (z6 > 99) RANGEFAULT; _Formal__Err (&(_slots.elts[z6]), ((ADDRESS)(& txt5.str))); _ok = 0 ; goto if_18_end; }; if_18_end: /**/; } } }; }; { int from, to, index; from = 0 ; z2 = _nFormals - 1 ; to = z2; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 233 _i = (t14) index; z2 = _i; if (z2 > 99) RANGEFAULT; _e = ((_slots.elts[z2])._actual); z2 = _i; if (z2 > 99) RANGEFAULT; _tt = ((_slots.elts[z2])._formal); _e0 = _e; NILCHECKA (z7 = _tt); _t = (((t4_fields*)(z7+(0+t59_size+t89_size)))->_tipe); z10 = _Expr__TypeOf (_e); _te = z10; _Expr__TypeCheck (_e); z2 = _ArrayType__OpenDepth (_t); _n = z2; z4 = (_n != 0 ); z9 = 0; if (z4) { z6 = _ArrayType__OpenDepth (_te); z4 = (_n != z6); z9 = z4; }; if (z9) { z11 = _OpenArrayExpr__New (_t, _te, _e); _e = z11; _Expr__Bind (_e); _Expr__TypeCheck (_e); z10 = _Expr__TypeOf (_e); _te = z10; goto if_20_end; }; if_20_end: /**/; NILCHECKA (z7 = _tt); switch ((((t4_fields*)(z7+(0+t59_size+t89_size)))->_mode)) { case 0: z4 = _Type__IsAssignable (_t, _te); z9 = ! z4; if (z9) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; z6 = _i; if (z6 > 99) RANGEFAULT; _Formal__Err (&(_slots.elts[z6]), ((ADDRESS)(& txt6.str))); _ok = 0 ; goto if_21_end; }; z11 = _AssignStmt__CheckRHS (_t, _e, 1 ); _e = z11; if_21_end: /**/; break; case 1: z4 = _Expr__IsDesignator (_e); z9 = ! z4; if (z9) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; z6 = _i; if (z6 > 99) RANGEFAULT; _Formal__Err (&(_slots.elts[z6]), ((ADDRESS)(& txt7.str))); _ok = 0 ; goto if_23_end; }; z4 = _Expr__IsWritable (_e); z9 = ! z4; if (z9) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; z6 = _i; if (z6 > 99) RANGEFAULT; _Formal__Err (&(_slots.elts[z6]), ((ADDRESS)(& txt8.str))); _ok = 0 ; goto if_23_end; }; z4 = _Type__IsEqual (_t, _te); if (z4) { goto if_23_end; }; z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; z6 = _i; if (z6 > 99) RANGEFAULT; _Formal__Err (&(_slots.elts[z6]), ((ADDRESS)(& txt6.str))); _ok = 0 ; if_23_end: /**/; break; case 2: z4 = _Type__IsAssignable (_t, _te); z9 = ! z4; if (z9) { z4 = ! _complain; if (z4) { __result = 0 ; return __result; }; z6 = _i; if (z6 > 99) RANGEFAULT; _Formal__Err (&(_slots.elts[z6]), ((ADDRESS)(& txt6.str))); _ok = 0 ; goto if_27_end; }; z4 = _Expr__IsDesignator (_e); z9 = ! z4; if (z9) { z11 = _AssignStmt__CheckRHS (_t, _e, 3 ); _e = z11; goto if_27_end; }; z4 = _Type__IsEqual (_t, _te); #line 278 if (z4) { goto if_27_end; }; z11 = _AssignStmt__CheckRHS (_t, _e, 3 ); _e = z11; if_27_end: /**/; break; default: /**/; }; z4 = (_e != _e0); if (z4) { _Expr__Bind (_e); _Expr__TypeCheck (_e); goto if_29_end; }; if_29_end: /**/; z6 = _i; if (z6 > 99) RANGEFAULT; ((_slots.elts[z6])._actual) = _e; } } }; }; z4 = ! _ok; if (z4) { __result = 0 ; return __result; }; NILCHECKB (z5 = (*_actuals)); z1 = (*((t63*) z5)).size[0]; z4 = (z1 != _nFormals); if (z4) { { register t77* ptr; int sz[1]; sz[0] = _nFormals; ptr = (t77*) UNEWA(TC17, 8 + sz[0] * 4); ptr->elts = (char*)(& ptr->size[1]); #line 293 ptr->size[0] = sz[0]; z5 = (t17) ptr; }; (*_actuals) = z5; goto if_31_end; }; if_31_end: /**/; { int from, to, index; from = 0 ; z2 = _nFormals - 1 ; to = z2; { auto t14 _i; { for (index = from; index <= to; index += 1) { #line 295 _i = (t14) index; z2 = _i; if (z2 > 99) RANGEFAULT; NILCHECKB (z5 = (*_actuals)); { register t77* array = & (*((t63*) z5)); #line 295 z12 = _i; if (z12 >= (array->size[0])) RANGEFAULT; z8 = (int)(array->elts + (z12 * 4)); }; (*(t11*)z8) = ((_slots.elts[z2])._actual); #line 295 } } }; }; __result = 1 ; return __result; } } }; #line 299 "Formal.m3" PRIVATE t91 _Formal__Err (_slot, _msg) t7 * _slot; t6 _msg; { t4 z3; #line 299 "Formal.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z3 = ((*_slot)._formal)); _Error__Str ((((t59_fields*)(z3+(0+t89_size)))->_name), _msg); } } }; #line 304 "Formal.m3" PRIVATE t91 _Formal__FPrinter (_t, _map, _wr) t4 _t; t3 _map; t2 _wr; { t4 z1; t4 z5; t6 z7; t6 z3; t6 z4; t4 z2; t9 z6; t11 z8; #line 304 "Formal.m3" { { CHECKSTACKOVERFLOW; NILCHECKA (z1 = _t); switch ((((t4_fields*)(z1+(0+t59_size+t89_size)))->_mode)) { case 0: _Wr__PutText (_wr, ((ADDRESS)(& txt14.str))); break; case 1: _Wr__PutText (_wr, ((ADDRESS)(& txt15.str))); break; case 2: _Wr__PutText (_wr, ((ADDRESS)(& txt16.str))); break; default: /**/; }; NILCHECKA (z5 = _t); z7 = _Fmt__Int ((((t4_fields*)(z5+(0+t59_size+t89_size)))->_offset), 10 ); z3 = (ADDRESS) _Text__Cat (((ADDRESS)(& txt17.str)), z7); #line 311 z4 = (ADDRESS) _Text__Cat (z3, ((ADDRESS)(& txt17.str))); _Wr__PutText (_wr, z4); NILCHECKA (z2 = _t); _Type__Fingerprint ((((t4_fields*)(z2+(0+t59_size+t89_size)))->_tipe), _map, _wr); NILCHECKA (z1 = _t); z6 = ((((t4_fields*)(z1+(0+t59_size+t89_size)))->_default) != 0); if (z6) { _Wr__PutText (_wr, ((ADDRESS)(& txt18.str))); NILCHECKA (z5 = _t); z8 = _Expr__ConstValue ((((t4_fields*)(z5+(0+t59_size+t89_size)))->_default)); _Expr__Fingerprint (z8, _map, _wr); #line 315 goto if_32_end; }; if_32_end: /**/; } } }; PRIVATE int init_done = -1; #line 315 "Formal.m3" PRIVATE void Formal__initProc (g) int g; { #line 315 "Formal.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Formal__init); INITIALIZE (& Text__init); INITIALIZE (& Temp__init); #line 315 INITIALIZE (& ArrayType__init); INITIALIZE (& OpenArrayExpr__init); INITIALIZE (& Fmt__init); INITIALIZE (& Wr__init); INITIALIZE (& Int__init); #line 315 INITIALIZE (& AssignStmt__init); INITIALIZE (& KeywordExpr__init); INITIALIZE (& ProcType__init); INITIALIZE (& Expr__init); #line 315 INITIALIZE (& Error__init); INITIALIZE (& String__init); INITIALIZE (& Type__init); INITIALIZE (& ValueRep__init); INITIALIZE (& Value__init); #line 315 return; }; #line 315 "Formal.m3" PRIVATE void t4_InitProc (obj) char* obj; { register t4_fields* p; #line 315 "Formal.m3" CHECKSTACKOVERFLOW; p = (t4_fields*) (obj + TC15->datasize); }; #line 315 "Formal.m3" PRIVATE void t4_SetupProc () { register int* p; #line 315 "Formal.m3" t4_TC.datasize += TC15->datasize; t4_TC.methodsize += TC15->methodsize; p = (int*) UALLOC (t4_TC.methodsize); COPY (TC15->defaultMethods, p, (TC15->methodsize)); #line 315 p[0] = (int)(& t4_TC); p[1] = 0; ((t59_methods*) (((char*)p) + TC89->methodsize))->_bind = _Formal__Bind; ((t59_methods*) (((char*)p) + TC89->methodsize))->_typeCheck = _Formal__Check; #line 315 ((t59_methods*) (((char*)p) + TC89->methodsize))->_class = _Formal__MyClass; ((t59_methods*) (((char*)p) + TC89->methodsize))->_fingerprint = _Formal__FPrinter; #line 315 ((t59_methods*) (((char*)p) + TC89->methodsize))->_load = _Formal__Load; ((t59_methods*) (((char*)p) + TC89->methodsize))->_write = _ValueRep__NoWriter; #line 315 ((t59_methods*) (((char*)p) + TC89->methodsize))->_select = _ValueRep__NoDuplicates; ((t59_methods*) (((char*)p) + TC89->methodsize))->_declare0 = _Formal__Declarer; #line 315 ((t59_methods*) (((char*)p) + TC89->methodsize))->_declare1 = _Formal__Compile; ((t59_methods*) (((char*)p) + TC89->methodsize))->_needsDecl = _ValueRep__Never; #line 315 ((t59_methods*) (((char*)p) + TC89->methodsize))->_toExpr = _ValueRep__NoExpr; ((t59_methods*) (((char*)p) + TC89->methodsize))->_toType = _ValueRep__NoType; #line 315 t4_TC.defaultMethods = (char*) p; }; #line 315 "Formal.m3" PRIVATE void t4_PrintProc (obj) char *obj; { t4_fields* o; #line 315 "Formal.m3" CHECKSTACKOVERFLOW; if (TC15->printProc != 0) {TC15->printProc (obj); } fprintf (stderr, "{%s} ", TC4->brand); o = (t4_fields*) (obj + TC15->datasize); #line 315 fprintf (stderr, "offset = %d", o->_offset); fprintf (stderr, ", "); fprintf (stderr, "mode = %d", o->_mode); fprintf (stderr, ", "); #line 315 fprintf (stderr, "tipe = %#x", o->_tipe); fprintf (stderr, ", "); fprintf (stderr, "default = %#x", o->_default); fprintf (stderr, ", "); #line 315 }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Formal__initProc}; static char* VSimports[] = { &VS_Text__T__fc4b369f3ab271fd, &VS_Temp__T__3a6c7dc12615e4ee, &VS_ArrayType__OpenDepth__0aca628230da93d9, &VS_OpenArrayExpr__New__f77b071f3e634a8e, &VS_Fmt__Int__6e220fa1366cffbc, &VS_Thread__Alerted__fc88feb43485af46, &VS_Wr__T__2555b70b3f7780b1, &VS_Wr__Failure__5f82cfb43dabf527, &VS_Wr__Error__c367253d3ed4fd15, &VS_Wr__PutText__e034dab73a793846, &VS_AssignStmt__CheckRHS__9aaea40f392f387e, &VS_KeywordExpr__Split__c7296ea8373069e8, &VS_ProcType__Raisee__5fe771ff27c179d9, &VS_ProcType__Is__3d26c6f7230f52c6, &VS_Expr__T__2446b70b3f7780a5, &VS_Expr__List__3f87eceb2b9a246a, &VS_Expr__Bind__7e2752da3eaf56eb, &VS_Expr__TypeOf__fef0a11b388c64fa, &VS_Expr__ConstValue__ce4fd448218fe483, &VS_Expr__IsDesignator__e3556614321cb906, &VS_Expr__IsWritable__85b9bb292e4a0f55, &VS_Expr__TypeCheck__af9aa9073729e7f7, &VS_Expr__Compile__a7e0cc4029a2ec76, &VS_Expr__Fingerprint__50ce687c31d90a5b, &VS_Error__Msg__4d119a332467757f, &VS_Error__Str__2bd0723e3872e90c, &VS_String__T__3a6c7dc12615e4ee, &VS_Type__T__2446b70b3f7780a5, &VS_Type__Map__41dd9f4b33104fce, &VS_Type__List__5791758e343becc1, &VS_Type__Bind__3443ccd12eedb9e8, &VS_Type__Base__2bebd0333659a92c, &VS_Type__IsEqual__4098bc3f32325d05, &VS_Type__Check__3c8ceb09206ee440, &VS_Type__IsAssignable__6d0a7b0e2c806002, &VS_Type__Fingerprint__0d24a3463c25e166, &VS_ValueRep__V__f28699153c608442, &VS_ValueRep__Init__ba99dff739390f9a, &VS_ValueRep__NoDuplicates__ed93f73a247eb7b4, &VS_ValueRep__NoExpr__1297c63d2e046c2c, &VS_ValueRep__NoType__4061f01226f55ca3, &VS_ValueRep__NoLoader__9a7f0c5b24f526c1, &VS_ValueRep__NoWriter__3b24d43c367f7122, &VS_ValueRep__NoDeclarer__22db283420635bde, &VS_ValueRep__Never__39b6ab0628d97589, &VS_ValueRep__Always__1b0a9bbf2173b8b3, &VS_Value__T__2446b70b3f7780a5, NIL }; void Formal__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Formal__init; Formal__init = & me_0; t4_TC = t4_TC_init; REGISTERTYPE (TC4); break; }; case 1: { t4_TC.parent = TC_M3__Value; break; }; case 2: { break; }; }; };