DEADSOFTWARE

Remove batch
[gpcp-linux.git] / gpcp / PeUtilForJVM.cp
1 (* ============================================================ *)
2 (* PeUtil is the module which writes PE files using the *)
3 (* managed interface. *)
4 (* Copyright (c) John Gough 1999, 2000. *)
5 (* ============================================================ *)
6 (* ============================================================ *)
7 (* THIS IS THE EMPTY VERSION, THAT IS REQUIRED TO BOOTSTRAP *)
8 (* THE JVM VERSION WITHOUT THE MSCORLIB ASSEMBLY AVAILABLE. *)
9 (* ============================================================ *)
10 (* ============================================================ *)
12 MODULE PeUtil;
14 IMPORT
15 GPCPcopyright,
16 Mu := MsilUtil,
17 Id := IdDesc,
18 Lv := LitValue,
19 Sy := Symbols,
20 Ty := TypeDesc;
22 (* ============================================================ *)
24 TYPE PeFile* = POINTER TO RECORD (Mu.MsilFile)
25 (* Fields inherited from MsilFile *
26 * srcS* : LitValue.CharOpen; (* source file name *)
27 * outN* : LitValue.CharOpen; (* output file name *)
28 * proc* : ProcInfo;
29 *)
30 END;
32 (* ============================================================ *)
33 (* Constructor Method *)
34 (* ============================================================ *)
36 PROCEDURE newPeFile*(IN nam : ARRAY OF CHAR; isDll : BOOLEAN) : PeFile;
37 BEGIN
38 RETURN NIL;
39 END newPeFile;
41 (* ============================================================ *)
43 PROCEDURE (t : PeFile)fileOk*() : BOOLEAN;
44 BEGIN
45 RETURN FALSE;
46 END fileOk;
48 (* ============================================================ *)
50 PROCEDURE (os : PeFile)MkNewProcInfo*(proc : Sy.Scope);
51 BEGIN
52 END MkNewProcInfo;
54 (* ============================================================ *)
56 PROCEDURE (os : PeFile)newLabel*() : Mu.Label;
57 BEGIN
58 RETURN NIL;
59 END newLabel;
61 (* ============================================================ *)
62 (* Exported Methods *)
63 (* ============================================================ *)
65 PROCEDURE (os : PeFile)MethodDecl*(attr : SET; proc : Id.Procs);
66 END MethodDecl;
68 (* ============================================================ *)
70 PROCEDURE (os : PeFile)ExternList*();
71 END ExternList;
73 (* ============================================================ *)
75 PROCEDURE (os : PeFile)DefLab*(l : Mu.Label);
76 END DefLab;
78 (* -------------------------------------------- *)
80 PROCEDURE (os : PeFile)DefLabC*(l : Mu.Label; IN c : ARRAY OF CHAR);
81 END DefLabC;
83 (* ============================================================ *)
85 PROCEDURE (os : PeFile)Code*(code : INTEGER);
86 END Code;
88 (* -------------------------------------------- *)
90 PROCEDURE (os : PeFile)CodeI*(code,int : INTEGER);
91 END CodeI;
93 (* -------------------------------------------- *)
95 PROCEDURE (os : PeFile)CodeT*(code : INTEGER; type : Sy.Type);
96 END CodeT;
98 (* -------------------------------------------- *)
100 PROCEDURE (os : PeFile)CodeTn*(code : INTEGER; type : Sy.Type);
101 END CodeTn;
103 (* -------------------------------------------- *)
105 PROCEDURE (os : PeFile)CodeL*(code : INTEGER; long : LONGINT);
106 END CodeL;
108 (* -------------------------------------------- *)
110 PROCEDURE (os : PeFile)CodeR*(code : INTEGER; real : REAL);
111 END CodeR;
113 (* -------------------------------------------- *)
115 PROCEDURE (os : PeFile)CodeLb*(code : INTEGER; labl : Mu.Label);
116 END CodeLb;
118 (* ============================================================ *)
120 PROCEDURE (os : PeFile)StaticCall*(s : INTEGER; d : INTEGER);
121 END StaticCall;
123 (* -------------------------------------------- *)
125 PROCEDURE (os : PeFile)CodeS*(code : INTEGER; str : INTEGER);
126 END CodeS;
128 (* ============================================================ *)
130 PROCEDURE (os : PeFile)Try*();
131 END Try;
133 (* -------------------------------------------- *)
135 PROCEDURE (os : PeFile)Catch*(proc : Id.Procs);
136 END Catch;
138 (* -------------------------------------------- *)
140 PROCEDURE (os : PeFile)CloseCatch*();
141 END CloseCatch;
143 (* -------------------------------------------- *)
145 PROCEDURE (os : PeFile)CopyCall*(typ : Ty.Record);
146 END CopyCall;
148 (* -------------------------------------------- *)
150 PROCEDURE (os : PeFile)PushStr*(IN str : ARRAY OF CHAR);
151 END PushStr;
153 (* ============================================================ *)
155 PROCEDURE (os : PeFile)CallIT*(code : INTEGER;
156 proc : Id.Procs;
157 type : Ty.Procedure);
158 END CallIT;
160 (* ============================================================ *)
162 PROCEDURE (os : PeFile)CallCT*(proc : Id.Procs;
163 type : Ty.Procedure);
164 END CallCT;
166 (* ============================================================ *)
168 PROCEDURE (os : PeFile)CallDelegate*(typ : Ty.Procedure);
169 END CallDelegate;
171 (* ============================================================ *)
173 PROCEDURE (os : PeFile)PutGetS*(code : INTEGER;
174 blk : Id.BlkId;
175 fId : Id.VarId);
176 END PutGetS;
178 (* -------------------------------------------- *)
180 PROCEDURE (os : PeFile)GetValObj*(code : INTEGER; ptrT : Ty.Pointer);
181 END GetValObj;
183 (* -------------------------------------------- *)
185 PROCEDURE (os : PeFile)PutGetXhr*(code : INTEGER;
186 proc : Id.Procs;
187 locl : Id.LocId);
188 END PutGetXhr;
190 (* -------------------------------------------- *)
192 PROCEDURE (os : PeFile)PutGetF*(code : INTEGER;
193 fId : Id.FldId);
194 END PutGetF;
196 (* ============================================================ *)
197 (* ============================================================ *)
199 PROCEDURE (os : PeFile)MkNewRecord*(typ : Ty.Record);
200 END MkNewRecord;
202 (* ============================================================ *)
203 (* ============================================================ *)
205 PROCEDURE (os : PeFile)MkNewProcVal*(p : Sy.Idnt; (* src Proc *)
206 t : Sy.Type); (* dst Type *)
207 END MkNewProcVal;
209 (* ============================================================ *)
211 PROCEDURE (os : PeFile)CallSuper*(rTp : Ty.Record;
212 prc : Id.PrcId);
213 END CallSuper;
215 (* ============================================================ *)
217 PROCEDURE (os : PeFile)InitHead*(rTp : Ty.Record;
218 prc : Id.PrcId);
219 END InitHead;
221 (* ============================================================ *)
223 PROCEDURE (os : PeFile)CopyHead*(typ : Ty.Record);
224 END CopyHead;
226 (* ============================================================ *)
228 PROCEDURE (os : PeFile)MarkInterfaces*(IN seq : Sy.TypeSeq);
229 END MarkInterfaces;
231 (* ============================================================ *)
233 PROCEDURE (os : PeFile)MainHead*(xAtt : SET);
234 END MainHead;
236 PROCEDURE (os : PeFile)SubSys*(xAtt : SET);
237 END SubSys;
239 (* ============================================================ *)
241 PROCEDURE (os : PeFile)StartBoxClass*(rec : Ty.Record;
242 att : SET;
243 blk : Id.BlkId);
244 END StartBoxClass;
247 PROCEDURE (os : PeFile)MainTail*();
248 END MainTail;
250 (* ------------------------------------------------------------ *)
252 PROCEDURE (os : PeFile)MethodTail*(id : Id.Procs);
253 END MethodTail;
255 (* ------------------------------------------------------------ *)
257 PROCEDURE (os : PeFile)ClinitTail*();
258 END ClinitTail;
260 (* ------------------------------------------------------------ *)
262 PROCEDURE (os : PeFile)CopyTail*();
263 END CopyTail;
265 (* ------------------------------------------------------------ *)
267 PROCEDURE (os : PeFile)InitTail*(typ : Ty.Record);
268 END InitTail;
270 (* ============================================================ *)
272 PROCEDURE (os : PeFile)ClinitHead*();
273 END ClinitHead;
275 (* ============================================================ *)
277 PROCEDURE (os : PeFile)EmitField*(id : Id.AbVar; att : SET);
278 END EmitField;
280 (* ============================================================ *)
282 PROCEDURE (os : PeFile)EmitEventMethods*(id : Id.AbVar);
283 END EmitEventMethods;
285 (* ============================================================ *)
287 PROCEDURE (os : PeFile)MkAndLinkDelegate*(dl : Sy.Idnt;
288 id : Sy.Idnt;
289 ty : Sy.Type;
290 isA : BOOLEAN);
291 END MkAndLinkDelegate;
293 (* ============================================================ *)
294 (* ============================================================ *)
296 PROCEDURE (os : PeFile)EmitPTypeBody*(tId : Id.TypId);
297 END EmitPTypeBody;
299 (* ============================================================ *)
300 (* End of Procedure Variable and Event Stuff *)
301 (* ============================================================ *)
303 PROCEDURE (os : PeFile)Line*(nm : INTEGER),EMPTY;
305 (* ============================================================ *)
307 PROCEDURE (os : PeFile)LoadType*(id : Sy.Idnt);
308 END LoadType;
310 (* ============================================================ *)
312 PROCEDURE (os : PeFile)Finish*();
313 END Finish;
315 (* ============================================================ *)
317 PROCEDURE (os : PeFile)RefRTS*();
318 END RefRTS;
320 (* ============================================================ *)
322 PROCEDURE (os : PeFile)StartNamespace*(nm : Lv.CharOpen);
323 END StartNamespace;
325 (* ============================================================ *)
327 PROCEDURE (os : PeFile)MkBodyClass*(mod : Id.BlkId);
328 END MkBodyClass;
330 (* ============================================================ *)
332 PROCEDURE (os : PeFile)ClassHead*(attSet : SET;
333 thisRc : Ty.Record;
334 superT : Ty.Record);
335 END ClassHead;
337 (* ============================================================ *)
339 PROCEDURE (os : PeFile)CheckNestedClass*(typ : Ty.Record;
340 scp : Sy.Scope;
341 rNm : Lv.CharOpen);
342 END CheckNestedClass;
344 (* ============================================================ *)
346 PROCEDURE (os : PeFile)ClassTail*();
347 END ClassTail;
349 (* ============================================================ *)
351 PROCEDURE (os : PeFile)MkRecX*(t : Ty.Record; s : Sy.Scope);
352 END MkRecX;
354 (* ============================================================ *)
356 PROCEDURE (os : PeFile)MkPtrX*(t : Ty.Pointer);
357 END MkPtrX;
359 (* ============================================================ *)
361 PROCEDURE (os : PeFile)MkArrX*(t : Ty.Array);
362 END MkArrX;
364 (* ============================================================ *)
366 PROCEDURE (os : PeFile)MkBasX*(t : Ty.Base);
367 END MkBasX;
369 (* ============================================================ *)
371 PROCEDURE (os : PeFile)MkEnuX*(t : Ty.Enum; s : Sy.Scope);
372 END MkEnuX;
374 (* ============================================================ *)
376 PROCEDURE (os : PeFile)NumberParams*(pId : Id.Procs;
377 pTp : Ty.Procedure);
378 END NumberParams;
380 (* ============================================================ *)
382 PROCEDURE (os : PeFile)SwitchHead*(num : INTEGER);
383 END SwitchHead;
385 PROCEDURE (os : PeFile)SwitchTail*();
386 END SwitchTail;
388 PROCEDURE (os : PeFile)LstLab*(l : Mu.Label);
389 END LstLab;
391 (* ============================================================ *)
392 (* ============================================================ *)
393 END PeUtil.
394 (* ============================================================ *)
395 (* ============================================================ *)