1 " |
1 " |
2 COPYRIGHT (c) 1991 by Claus Gittinger |
2 COPYRIGHT (c) 1991 by Claus Gittinger |
3 All Rights Reserved |
3 All Rights Reserved |
4 |
4 |
5 This software is furnished under a license and may be used |
5 This software is furnished under a license and may be used |
6 only in accordance with the terms of that license and with the |
6 only in accordance with the terms of that license and with the |
7 inclusion of the above copyright notice. This software may not |
7 inclusion of the above copyright notice. This software may not |
8 be provided or otherwise made available to, or used by, any |
8 be provided or otherwise made available to, or used by, any |
15 classVariableNames:'' |
15 classVariableNames:'' |
16 poolDictionaries:'' |
16 poolDictionaries:'' |
17 category:'System-Compiler' |
17 category:'System-Compiler' |
18 ! |
18 ! |
19 |
19 |
20 Decompiler comment:' |
20 !Decompiler class methodsFor:'documentation'! |
21 |
21 |
22 COPYRIGHT (c) 1991 by Claus Gittinger |
22 copyright |
23 All Rights Reserved |
23 " |
24 |
24 COPYRIGHT (c) 1991 by Claus Gittinger |
25 additional methods for decompilation |
25 All Rights Reserved |
26 |
26 |
27 $Header: /cvs/stx/stx/libcomp/Decompiler.st,v 1.3 1993-10-13 02:41:18 claus Exp $ |
27 This software is furnished under a license and may be used |
28 '! |
28 only in accordance with the terms of that license and with the |
|
29 inclusion of the above copyright notice. This software may not |
|
30 be provided or otherwise made available to, or used by, any |
|
31 other person. No title to or ownership of the software is |
|
32 hereby transferred. |
|
33 " |
|
34 ! |
|
35 |
|
36 version |
|
37 ^ '$Header: /cvs/stx/stx/libcomp/Decompiler.st,v 1.4 1995-11-11 15:30:20 cg Exp $' |
|
38 ! |
|
39 |
|
40 documentation |
|
41 " |
|
42 only for stx-debugging. Not for public eyes. |
|
43 |
|
44 Decompiler decompile:(someClass compiledMethodAt:#someSelector) |
|
45 " |
|
46 ! ! |
29 |
47 |
30 !Decompiler class methodsFor:'decompiling'! |
48 !Decompiler class methodsFor:'decompiling'! |
31 |
49 |
32 decompile:aMethod |
50 decompile:aMethod |
33 ^ (self new) decompile:aMethod |
51 ^ (self new) decompile:aMethod |
201 |
219 |
202 decompile:aMethod |
220 decompile:aMethod |
203 |nBytes offs byte sym sel| |
221 |nBytes offs byte sym sel| |
204 |
222 |
205 aMethod isNil ifTrue:[ |
223 aMethod isNil ifTrue:[ |
206 Transcript showCr:'nil method'. |
224 Transcript showCr:'nil method'. |
207 ^ self |
225 ^ self |
208 ]. |
226 ]. |
209 |
227 |
210 bytes := aMethod byteCode. |
228 bytes := aMethod byteCode. |
211 bytes isNil ifTrue:[ |
229 bytes isNil ifTrue:[ |
212 Transcript showCr:'no bytecode'. |
230 Transcript showCr:'no bytecode'. |
213 ^ self |
231 ^ self |
214 ]. |
232 ]. |
215 literals := aMethod literals. |
233 literals := aMethod literals. |
216 index := 1. |
234 index := 1. |
217 nBytes := bytes size. |
235 nBytes := bytes size. |
218 [index <= nBytes] whileTrue:[ |
236 [index <= nBytes] whileTrue:[ |
219 self showPC. |
237 self showPC. |
220 sym := self symbolicCodeFor:(bytes at:index). |
238 sym := self symbolicCodeFor:(bytes at:index). |
221 Transcript show:sym. |
239 Transcript show:sym. |
222 " |
240 " |
223 extra notNil ifTrue:[Transcript show:(extra printString)]. |
241 extra notNil ifTrue:[Transcript show:(extra printString)]. |
224 " |
242 " |
225 hasLineNo ifTrue:[ |
243 hasLineNo ifTrue:[ |
226 index := index + 1 |
244 index := index + 1 |
227 ]. |
245 ]. |
228 index := index + 1. |
246 index := index + 1. |
229 extra notNil ifTrue:[ |
247 extra notNil ifTrue:[ |
230 Transcript show:' '. |
248 Transcript show:' '. |
231 byte := bytes at:index. |
249 byte := bytes at:index. |
232 |
250 |
233 "compute argument showXXX selector from extra ..." |
251 "compute argument showXXX selector from extra ..." |
234 |
252 |
235 sel := 'show' , extra , ':'. |
253 sel := 'show' , extra , ':'. |
236 sel at:5 put:(sel at:5) asUppercase. |
254 sel at:5 put:(sel at:5) asUppercase. |
237 self perform:sel asSymbol with:byte |
255 self perform:sel asSymbol with:byte |
238 ]. |
256 ]. |
239 Transcript showCr:'' |
257 Transcript showCr:'' |
240 ] |
258 ] |
241 ! |
259 ! |
242 |
260 |
243 symbolicCodeFor:aByte |
261 symbolicCodeFor:aByte |
244 |syms extras lnos| |
262 |syms extras lnos| |
245 |
263 |
246 syms := #( retTop " 0 " |
264 syms := #( retTop " 0 " |
247 retNil |
265 retNil |
248 retTrue |
266 retTrue |
249 retFalse |
267 retFalse |
250 ret0 |
268 ret0 |
251 retSelf " 5 " |
269 retSelf " 5 " |
252 blockRetTop |
270 blockRetTop |
253 nil |
271 nil |
254 nil |
272 nil |
255 nil |
273 nil |
256 pushNil " 10 " |
274 pushNil " 10 " |
257 pushTrue |
275 pushTrue |
258 pushFalse |
276 pushFalse |
259 pushInt |
277 pushInt |
260 pushLit |
278 pushLit |
261 pushSelf " 15 " |
279 pushSelf " 15 " |
262 pushNum |
280 pushNum |
263 pushChar |
281 pushChar |
264 drop |
282 drop |
265 send |
283 send |
266 superSend " 20 " |
284 superSend " 20 " |
267 send0 |
285 send0 |
268 send1 |
286 send1 |
269 send2 |
287 send2 |
270 send3 |
288 send3 |
271 sendDrop " 25 " |
289 sendDrop " 25 " |
272 sendDrop0 |
290 sendDrop0 |
273 sendDrop1 |
291 sendDrop1 |
274 sendDrop2 |
292 sendDrop2 |
275 sendDrop3 |
293 sendDrop3 |
276 pushMethodArg " 30 " |
294 pushMethodArg " 30 " |
277 pushMethodVar |
295 pushMethodVar |
278 pushBlockArg |
296 pushBlockArg |
279 pushBlockVar |
297 pushBlockVar |
280 pushInstVar |
298 pushInstVar |
281 pushClassVar " 35 " |
299 pushClassVar " 35 " |
282 pushGlobal |
300 pushGlobal |
283 storeMethodVar |
301 storeMethodVar |
284 storeBlockVar |
302 storeBlockVar |
285 storeInstVar |
303 storeInstVar |
286 storeClassVar " 40 " |
304 storeClassVar " 40 " |
287 storeGlobal |
305 storeGlobal |
288 pushOuterBlockArg |
306 pushOuterBlockArg |
289 pushOuter1BlockArg |
307 pushOuter1BlockArg |
290 pushOuter2BlockArg |
308 pushOuter2BlockArg |
291 equal " 45 " |
309 equal " 45 " |
292 notEqual |
310 notEqual |
293 dup |
311 dup |
294 equal0 |
312 equal0 |
295 notEqual0 |
313 notEqual0 |
296 falseJump " 50 " |
314 falseJump " 50 " |
297 trueJump |
315 trueJump |
298 nilJump |
316 nilJump |
299 notNilJump |
317 notNilJump |
300 jump |
318 jump |
301 makeBlock " 55 " |
319 makeBlock " 55 " |
302 zeroJump |
320 zeroJump |
303 notZeroJump |
321 notZeroJump |
304 eqJump |
322 eqJump |
305 notEqJump |
323 notEqJump |
306 falseJump " 60 " |
324 falseJump " 60 " |
307 trueJump |
325 trueJump |
308 nilJump |
326 nilJump |
309 notNilJump |
327 notNilJump |
310 jump |
328 jump |
311 makeBlock " 65 " |
329 makeBlock " 65 " |
312 zeroJump |
330 zeroJump |
313 notZeroJump |
331 notZeroJump |
314 eqJump |
332 eqJump |
315 notEqJump |
333 notEqJump |
316 falseJump " 70 " |
334 falseJump " 70 " |
317 trueJump |
335 trueJump |
318 nilJump |
336 nilJump |
319 notNilJump |
337 notNilJump |
320 jump |
338 jump |
321 makeBlock " 75 " |
339 makeBlock " 75 " |
322 zeroJump |
340 zeroJump |
323 notZeroJump |
341 notZeroJump |
324 eqJump |
342 eqJump |
325 notEqJump |
343 notEqJump |
326 pushMethodVar1 " 80 " |
344 pushMethodVar1 " 80 " |
327 pushMethodVar2 |
345 pushMethodVar2 |
328 pushMethodVar3 |
346 pushMethodVar3 |
329 pushMethodVar4 |
347 pushMethodVar4 |
330 pushMethodVar5 |
348 pushMethodVar5 |
331 pushMethodVar6 " 85 " |
349 pushMethodVar6 " 85 " |
332 pushMethodArg1 |
350 pushMethodArg1 |
333 pushMethodArg2 |
351 pushMethodArg2 |
334 pushMethodArg3 |
352 pushMethodArg3 |
335 pushMethodArg4 |
353 pushMethodArg4 |
336 pushInstVar1 " 90 " |
354 pushInstVar1 " 90 " |
337 pushInstVar2 |
355 pushInstVar2 |
338 pushInstVar3 |
356 pushInstVar3 |
339 pushInstVar4 |
357 pushInstVar4 |
340 pushInstVar5 |
358 pushInstVar5 |
341 pushInstVar6 " 95 " |
359 pushInstVar6 " 95 " |
342 pushInstVar7 |
360 pushInstVar7 |
343 pushInstVar8 |
361 pushInstVar8 |
344 pushInstVar9 |
362 pushInstVar9 |
345 pushInstVar10 |
363 pushInstVar10 |
346 storeMethodVar1 " 100 " |
364 storeMethodVar1 " 100 " |
347 storeMethodVar2 |
365 storeMethodVar2 |
348 storeMethodVar3 |
366 storeMethodVar3 |
349 storeMethodVar4 |
367 storeMethodVar4 |
350 storeMethodVar5 |
368 storeMethodVar5 |
351 storeMethodVar6 " 105 " |
369 storeMethodVar6 " 105 " |
352 sendY |
370 sendY |
353 sendX |
371 sendX |
354 sendWidth |
372 sendWidth |
355 sendHeight |
373 sendHeight |
356 storeInstVar1 " 110 " |
374 storeInstVar1 " 110 " |
357 storeInstVar2 |
375 storeInstVar2 |
358 storeInstVar3 |
376 storeInstVar3 |
359 storeInstVar4 |
377 storeInstVar4 |
360 storeInstVar5 |
378 storeInstVar5 |
361 storeInstVar6 " 115 " |
379 storeInstVar6 " 115 " |
362 storeInstVar7 |
380 storeInstVar7 |
363 storeInstVar8 |
381 storeInstVar8 |
364 storeInstVar9 |
382 storeInstVar9 |
365 storeInstVar10 |
383 storeInstVar10 |
366 push0 " 120 " |
384 push0 " 120 " |
367 push1 |
385 push1 |
368 pushMinus1 |
386 pushMinus1 |
369 sendPlus1 |
387 sendPlus1 |
370 sendMinus1 |
388 sendMinus1 |
371 incMethodVar " 125 " |
389 incMethodVar " 125 " |
372 decMethodVar |
390 decMethodVar |
373 retNum |
391 retNum |
374 pushOuterBlockVar |
392 pushOuterBlockVar |
375 storeOuterBlockVar |
393 storeOuterBlockVar |
376 sendEQ " 130 " |
394 sendEQ " 130 " |
377 sendPLUS |
395 sendPLUS |
378 sendNE |
396 sendNE |
379 sendMINUS |
397 sendMINUS |
380 sendCLASS |
398 sendCLASS |
381 sendAT " 135 " |
399 sendAT " 135 " |
382 sendATPUT |
400 sendATPUT |
383 sendBitAnd |
401 sendBitAnd |
384 sendBitOr |
402 sendBitOr |
385 push2 |
403 push2 |
386 pushBlockArg1 " 140 " |
404 pushBlockArg1 " 140 " |
387 pushBlockArg2 |
405 pushBlockArg2 |
388 pushBlockArg3 |
406 pushBlockArg3 |
389 pushBlockArg4 |
407 pushBlockArg4 |
390 pushContext |
408 pushContext |
391 sendGT " 145 " |
409 sendGT " 145 " |
392 sendGE |
410 sendGE |
393 sendLT |
411 sendLT |
394 sendLE |
412 sendLE |
395 sendNEXT |
413 sendNEXT |
396 sendPEEK " 150 " |
414 sendPEEK " 150 " |
397 sendVALUE |
415 sendVALUE |
398 sendVALUE1 |
416 sendVALUE1 |
399 sendSIZE |
417 sendSIZE |
400 sendORIGIN |
418 sendORIGIN |
401 sendEXTENT " 155 " |
419 sendEXTENT " 155 " |
402 make0Block |
420 make0Block |
403 makeNILBlock |
421 makeNILBlock |
404 nil |
422 nil |
405 nil |
423 nil |
406 retMvar1 " 160 " |
424 retMvar1 " 160 " |
407 retMvar2 |
425 retMvar2 |
408 retMvar3 |
426 retMvar3 |
409 retMvar4 |
427 retMvar4 |
410 retMvar5 |
428 retMvar5 |
411 retMvar6 " 165 " |
429 retMvar6 " 165 " |
412 retIvar1 |
430 retIvar1 |
413 retIvar2 |
431 retIvar2 |
414 retIvar3 |
432 retIvar3 |
415 retIvar4 |
433 retIvar4 |
416 retIvar5 " 170 " |
434 retIvar5 " 170 " |
417 retIvar6 |
435 retIvar6 |
418 retIvar7 |
436 retIvar7 |
419 retIvar8 |
437 retIvar8 |
420 retMarg1 |
438 retMarg1 |
421 retMarg2 " 175 " |
439 retMarg2 " 175 " |
422 pushClassInstVar |
440 pushClassInstVar |
423 storeClassInstVar |
441 storeClassInstVar |
424 nil |
442 nil |
425 nil |
443 nil |
426 sendSelf0 " 180 " |
444 sendSelf0 " 180 " |
427 sendSelf1 |
445 sendSelf1 |
428 sendSelf2 |
446 sendSelf2 |
429 sendSelf3 |
447 sendSelf3 |
430 sendSelfDrop0 |
448 sendSelfDrop0 |
431 sendSelfDrop1 " 185 " |
449 sendSelfDrop1 " 185 " |
432 sendSelfDrop2 |
450 sendSelfDrop2 |
433 sendSelfDrop3 |
451 sendSelfDrop3 |
434 nil |
452 nil |
435 nil |
453 nil |
436 falseJumpAbs " 190 " |
454 falseJumpAbs " 190 " |
437 trueJumpAbs |
455 trueJumpAbs |
438 nilJumpAbs |
456 nilJumpAbs |
439 notNilJumpAbs |
457 notNilJumpAbs |
440 jumpAbs |
458 jumpAbs |
441 makeBlockAbs " 195 " |
459 makeBlockAbs " 195 " |
442 zeroJumpAbs |
460 zeroJumpAbs |
443 notZeroJumpAbs |
461 notZeroJumpAbs |
444 eqJumpAbs |
462 eqJumpAbs |
445 notEqJumpAbs " 199 " |
463 notEqJumpAbs " 199 " |
446 ). |
464 ). |
447 |
465 |
448 lnos := #( false " 0 " |
466 lnos := #( false " 0 " |
449 false |
467 false |
450 false |
468 false |
451 false |
469 false |
452 false |
470 false |
453 false " 5 " |
471 false " 5 " |
454 false |
472 false |
455 false |
473 false |
456 false |
474 false |
457 false |
475 false |
458 false " 10 " |
476 false " 10 " |
459 false |
477 false |
460 false |
478 false |
461 false |
479 false |
462 false |
480 false |
463 false " 15 " |
481 false " 15 " |
464 false |
482 false |
465 false |
483 false |
466 false |
484 false |
467 true |
485 true |
468 true " 20 " |
486 true " 20 " |
469 true |
487 true |
470 true |
488 true |
471 true |
489 true |
472 true |
490 true |
473 true " 25 " |
491 true " 25 " |
474 true |
492 true |
475 true |
493 true |
476 true |
494 true |
477 true |
495 true |
478 false " 30 " |
496 false " 30 " |
479 false |
497 false |
480 false |
498 false |
481 false |
499 false |
482 false |
500 false |
483 false " 35 " |
501 false " 35 " |
484 false |
502 false |
485 false |
503 false |
486 false |
504 false |
487 false |
505 false |
488 false " 40 " |
506 false " 40 " |
489 false |
507 false |
490 false |
508 false |
491 false |
509 false |
492 false |
510 false |
493 false " 45 " |
511 false " 45 " |
494 false |
512 false |
495 false |
513 false |
496 false |
514 false |
497 false |
515 false |
498 false " 50 " |
516 false " 50 " |
499 false |
517 false |
500 false |
518 false |
501 false |
519 false |
502 false |
520 false |
503 false " 55 " |
521 false " 55 " |
504 false |
522 false |
505 false |
523 false |
506 false |
524 false |
507 false |
525 false |
508 false " 60 " |
526 false " 60 " |
509 false |
527 false |
510 false |
528 false |
511 false |
529 false |
512 false |
530 false |
513 false " 65 " |
531 false " 65 " |
514 false |
532 false |
515 false |
533 false |
516 false |
534 false |
517 false |
535 false |
518 false " 70 " |
536 false " 70 " |
519 false |
537 false |
520 false |
538 false |
521 false |
539 false |
522 false |
540 false |
523 false " 75 " |
541 false " 75 " |
524 false |
542 false |
525 false |
543 false |
526 false |
544 false |
527 false |
545 false |
528 false " 80 " |
546 false " 80 " |
529 false |
547 false |
530 false |
548 false |
531 false |
549 false |
532 false |
550 false |
533 false " 85 " |
551 false " 85 " |
534 false |
552 false |
535 false |
553 false |
536 false |
554 false |
537 false |
555 false |
538 false " 90 " |
556 false " 90 " |
539 false |
557 false |
540 false |
558 false |
541 false |
559 false |
542 false |
560 false |
543 false " 95 " |
561 false " 95 " |
544 false |
562 false |
545 false |
563 false |
546 false |
564 false |
547 false |
565 false |
548 false " 100 " |
566 false " 100 " |
549 false |
567 false |
550 false |
568 false |
551 false |
569 false |
552 false |
570 false |
553 false " 105 " |
571 false " 105 " |
554 false |
572 false |
555 false |
573 false |
556 false |
574 false |
557 false |
575 false |
558 false " 110 " |
576 false " 110 " |
559 false |
577 false |
560 false |
578 false |
561 false |
579 false |
562 false |
580 false |
563 false " 115 " |
581 false " 115 " |
564 false |
582 false |
565 false |
583 false |
566 false |
584 false |
567 false |
585 false |
568 false " 120 " |
586 false " 120 " |
569 false |
587 false |
570 false |
588 false |
571 false |
589 false |
572 false |
590 false |
573 false " 125 " |
591 false " 125 " |
574 false |
592 false |
575 false |
593 false |
576 false |
594 false |
577 false |
595 false |
578 false " 130 " |
596 false " 130 " |
579 false |
597 false |
580 false |
598 false |
581 false |
599 false |
582 false |
600 false |
583 false " 135 " |
601 false " 135 " |
584 false |
602 false |
585 false |
603 false |
586 false |
604 false |
587 false |
605 false |
588 false " 140 " |
606 false " 140 " |
589 false |
607 false |
590 false |
608 false |
591 false |
609 false |
592 false |
610 false |
593 false " 145 " |
611 false " 145 " |
594 false |
612 false |
595 false |
613 false |
596 false |
614 false |
597 false |
615 false |
598 false " 150 " |
616 false " 150 " |
599 false |
617 false |
600 false |
618 false |
601 false |
619 false |
602 false |
620 false |
603 false " 155 " |
621 false " 155 " |
604 false |
622 false |
605 false |
623 false |
606 false |
624 false |
607 false |
625 false |
608 false " 160 " |
626 false " 160 " |
609 false |
627 false |
610 false |
628 false |
611 false |
629 false |
612 false |
630 false |
613 false " 165 " |
631 false " 165 " |
614 false |
632 false |
615 false |
633 false |
616 false |
634 false |
617 false |
635 false |
618 false " 170 " |
636 false " 170 " |
619 false |
637 false |
620 false |
638 false |
621 false |
639 false |
622 false |
640 false |
623 false " 175 " |
641 false " 175 " |
624 false |
642 false |
625 false |
643 false |
626 false |
644 false |
627 false |
645 false |
628 true " 180 " |
646 true " 180 " |
629 true |
647 true |
630 true |
648 true |
631 true |
649 true |
632 true |
650 true |
633 true " 185 " |
651 true " 185 " |
634 true |
652 true |
635 true |
653 true |
636 false |
654 false |
637 false |
655 false |
638 false " 190 " |
656 false " 190 " |
639 false |
657 false |
640 false |
658 false |
641 false |
659 false |
642 false |
660 false |
643 false " 195 " |
661 false " 195 " |
644 false |
662 false |
645 false |
663 false |
646 false |
664 false |
647 false " 199 " |
665 false " 199 " |
648 ). |
666 ). |
649 |
667 |
650 extras := #(nil " 0 " |
668 extras := #(nil " 0 " |
651 nil |
669 nil |
652 nil |
670 nil |
653 nil |
671 nil |
654 nil |
672 nil |
655 nil " 5 " |
673 nil " 5 " |
656 nil |
674 nil |
657 nil |
675 nil |
658 nil |
676 nil |
659 nil |
677 nil |
660 nil " 10 " |
678 nil " 10 " |
661 nil |
679 nil |
662 nil |
680 nil |
663 nil |
681 nil |
664 literal |
682 literal |
665 nil " 15 " |
683 nil " 15 " |
666 number |
684 number |
667 nil |
685 nil |
668 nil |
686 nil |
669 sendArgs |
687 sendArgs |
670 superSendArgs " 20 " |
688 superSendArgs " 20 " |
671 literal |
689 literal |
672 literal |
690 literal |
673 literal |
691 literal |
674 literal |
692 literal |
675 sendArgs " 25 " |
693 sendArgs " 25 " |
676 literal |
694 literal |
677 literal |
695 literal |
678 literal |
696 literal |
679 literal |
697 literal |
680 index " 30 " |
698 index " 30 " |
681 index |
699 index |
682 index |
700 index |
683 index |
701 index |
684 index |
702 index |
685 literalSkip5 " 35 " |
703 literalSkip5 " 35 " |
686 literalSkip5 |
704 literalSkip5 |
687 index |
705 index |
688 index |
706 index |
689 index |
707 index |
690 literalSkip5 " 40 " |
708 literalSkip5 " 40 " |
691 literalSkip5 |
709 literalSkip5 |
692 indexLevel |
710 indexLevel |
693 index |
711 index |
694 index |
712 index |
695 nil " 45 " |
713 nil " 45 " |
696 nil |
714 nil |
697 nil |
715 nil |
698 nil |
716 nil |
699 nil |
717 nil |
700 offset " 50 " |
718 offset " 50 " |
701 offset |
719 offset |
702 offset |
720 offset |
703 offset |
721 offset |
704 offset |
722 offset |
705 offsetLevel " 55 " |
723 offsetLevel " 55 " |
706 offset |
724 offset |
707 offset |
725 offset |
708 offset |
726 offset |
709 offset |
727 offset |
710 longOffset " 60 " |
728 longOffset " 60 " |
711 longOffset |
729 longOffset |
712 longOffset |
730 longOffset |
713 longOffset |
731 longOffset |
714 longOffset |
732 longOffset |
715 longOffsetLevel " 65 " |
733 longOffsetLevel " 65 " |
716 longOffset |
734 longOffset |
717 longOffset |
735 longOffset |
718 longOffset |
736 longOffset |
719 longOffset |
737 longOffset |
720 veryLongOffset " 70 " |
738 veryLongOffset " 70 " |
721 veryLongOffset |
739 veryLongOffset |
722 veryLongOffset |
740 veryLongOffset |
723 veryLongOffset |
741 veryLongOffset |
724 veryLongOffset |
742 veryLongOffset |
725 veryLongOffsetLevel " 75 " |
743 veryLongOffsetLevel " 75 " |
726 veryLongOffset |
744 veryLongOffset |
727 veryLongOffset |
745 veryLongOffset |
728 veryLongOffset |
746 veryLongOffset |
729 veryLongOffset |
747 veryLongOffset |
730 nil " 80 " |
748 nil " 80 " |
731 nil |
749 nil |
732 nil |
750 nil |
733 nil |
751 nil |
734 nil |
752 nil |
735 nil " 85 " |
753 nil " 85 " |
736 nil |
754 nil |
737 nil |
755 nil |
738 nil |
756 nil |
739 nil |
757 nil |
740 nil " 90 " |
758 nil " 90 " |
741 nil |
759 nil |
742 nil |
760 nil |
743 nil |
761 nil |
744 nil |
762 nil |
745 nil " 95 " |
763 nil " 95 " |
746 nil |
764 nil |
747 nil |
765 nil |
748 nil |
766 nil |
749 nil |
767 nil |
750 nil " 100 " |
768 nil " 100 " |
751 nil |
769 nil |
752 nil |
770 nil |
753 nil |
771 nil |
754 nil |
772 nil |
755 nil " 105 " |
773 nil " 105 " |
756 nil |
774 nil |
757 nil |
775 nil |
758 nil |
776 nil |
759 nil |
777 nil |
760 nil " 110 " |
778 nil " 110 " |
761 nil |
779 nil |
762 nil |
780 nil |
763 nil |
781 nil |
764 nil |
782 nil |
765 nil " 115 " |
783 nil " 115 " |
766 nil |
784 nil |
767 nil |
785 nil |
768 nil |
786 nil |
769 nil |
787 nil |
770 nil " 120 " |
788 nil " 120 " |
771 nil |
789 nil |
772 nil |
790 nil |
773 nil |
791 nil |
774 nil |
792 nil |
775 index " 125 " |
793 index " 125 " |
776 index |
794 index |
777 number |
795 number |
778 indexLevel |
796 indexLevel |
779 indexLevel |
797 indexLevel |
780 nil " 130 " |
798 nil " 130 " |
781 nil |
799 nil |
782 nil |
800 nil |
783 nil |
801 nil |
784 nil |
802 nil |
785 nil " 135 " |
803 nil " 135 " |
786 nil |
804 nil |
787 nil |
805 nil |
788 nil |
806 nil |
789 nil |
807 nil |
790 nil " 140 " |
808 nil " 140 " |
791 nil |
809 nil |
792 nil |
810 nil |
793 nil |
811 nil |
794 nil |
812 nil |
795 nil " 145 " |
813 nil " 145 " |
796 nil |
814 nil |
797 nil |
815 nil |
798 nil |
816 nil |
799 nil |
817 nil |
800 nil " 150 " |
818 nil " 150 " |
801 nil |
819 nil |
802 nil |
820 nil |
803 nil |
821 nil |
804 nil |
822 nil |
805 nil " 155 " |
823 nil " 155 " |
806 nil |
824 nil |
807 nil |
825 nil |
808 nil |
826 nil |
809 nil |
827 nil |
810 nil " 160 " |
828 nil " 160 " |
811 nil |
829 nil |
812 nil |
830 nil |
813 nil |
831 nil |
814 nil |
832 nil |
815 nil " 165 " |
833 nil " 165 " |
816 nil |
834 nil |
817 nil |
835 nil |
818 nil |
836 nil |
819 nil |
837 nil |
820 nil " 170 " |
838 nil " 170 " |
821 nil |
839 nil |
822 nil |
840 nil |
823 nil |
841 nil |
824 nil |
842 nil |
825 nil " 175 " |
843 nil " 175 " |
826 index |
844 index |
827 index |
845 index |
828 nil |
846 nil |
829 nil |
847 nil |
830 literal " 180 " |
848 literal " 180 " |
831 literal |
849 literal |
832 literal |
850 literal |
833 literal |
851 literal |
834 literal |
852 literal |
835 literal " 185 " |
853 literal " 185 " |
836 literal |
854 literal |
837 literal |
855 literal |
838 nil |
856 nil |
839 nil |
857 nil |
840 absOffset " 190 " |
858 absOffset " 190 " |
841 absOffset |
859 absOffset |
842 absOffset |
860 absOffset |
843 absOffset |
861 absOffset |
844 absOffset |
862 absOffset |
845 absOffsetLevel |
863 absOffsetLevel |
846 absOffset |
864 absOffset |
847 absOffset |
865 absOffset |
848 absOffset |
866 absOffset |
849 absOffset " 199 " |
867 absOffset " 199 " |
850 ). |
868 ). |
851 |
869 |
852 extra := extras at:(aByte + 1). |
870 extra := extras at:(aByte + 1). |
853 hasLineNo := lnos at:(aByte + 1). |
871 hasLineNo := lnos at:(aByte + 1). |
854 ^ syms at:(aByte + 1) |
872 ^ syms at:(aByte + 1) |
855 ! ! |
873 ! ! |