1 SystemOrganization addCategory: #Thrift!
2 SystemOrganization addCategory: #'Thrift-Protocol'!
3 SystemOrganization addCategory: #'Thrift-Transport'!
5 Error subclass: #TError
6 instanceVariableNames: 'code'
11 !TError class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:28'!
12 signalWithCode: anInteger
13 self new code: anInteger; signal! !
15 !TError methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:28'!
19 !TError methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:28'!
23 TError subclass: #TProtocolError
24 instanceVariableNames: ''
25 classVariableNames: ''
27 category: 'Thrift-Protocol'!
29 !TProtocolError class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 18:39'!
33 !TProtocolError class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 18:39'!
37 !TProtocolError class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 18:39'!
41 !TProtocolError class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 18:40'!
45 !TProtocolError class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 18:40'!
49 TError subclass: #TTransportError
50 instanceVariableNames: ''
51 classVariableNames: ''
53 category: 'Thrift-Transport'!
55 TTransportError subclass: #TTransportClosedError
56 instanceVariableNames: ''
57 classVariableNames: ''
59 category: 'Thrift-Transport'!
61 Object subclass: #TClient
62 instanceVariableNames: 'iprot oprot seqid remoteSeqid'
63 classVariableNames: ''
67 !TClient class methodsFor: 'as yet unclassified' stamp: 'pc 11/7/2007 06:00'!
68 binaryOnHost: aString port: anInteger
70 sock := TSocket new host: aString; port: anInteger; open; yourself.
72 inProtocol: (TBinaryProtocol new transport: sock);
75 !TClient methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 23:03'!
78 oprot ifNil: [oprot := aProtocol]! !
80 !TClient methodsFor: 'as yet unclassified' stamp: 'pc 10/26/2007 04:28'!
84 ifNotNil: [seqid := seqid + 1]! !
86 !TClient methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:51'!
87 outProtocol: aProtocol
90 !TClient methodsFor: 'as yet unclassified' stamp: 'pc 10/28/2007 15:32'!
91 validateRemoteMessage: aMsg
93 ifNil: [remoteSeqid := aMsg seqid]
95 [(remoteSeqid + 1) = aMsg seqid ifFalse:
96 [TProtocolError signal: 'Bad seqid: ', aMsg seqid asString,
97 '; wanted: ', remoteSeqid asString].
98 remoteSeqid := aMsg seqid]! !
100 Object subclass: #TField
101 instanceVariableNames: 'name type id'
102 classVariableNames: ''
104 category: 'Thrift-Protocol'!
106 !TField methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:05'!
110 !TField methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:44'!
114 !TField methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:04'!
116 ^ name ifNil: ['']! !
118 !TField methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:44'!
122 !TField methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:05'!
124 ^ type ifNil: [TType stop]! !
126 !TField methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:44'!
130 Object subclass: #TMessage
131 instanceVariableNames: 'name seqid type'
132 classVariableNames: ''
134 category: 'Thrift-Protocol'!
136 TMessage subclass: #TCallMessage
137 instanceVariableNames: ''
138 classVariableNames: ''
140 category: 'Thrift-Protocol'!
142 !TCallMessage methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:53'!
146 !TMessage methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:05'!
148 ^ name ifNil: ['']! !
150 !TMessage methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:35'!
154 !TMessage methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:05'!
156 ^ seqid ifNil: [0]! !
158 !TMessage methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:35'!
160 seqid := anInteger! !
162 !TMessage methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:06'!
166 !TMessage methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:35'!
170 Object subclass: #TProtocol
171 instanceVariableNames: 'transport'
172 classVariableNames: ''
174 category: 'Thrift-Protocol'!
176 TProtocol subclass: #TBinaryProtocol
177 instanceVariableNames: ''
178 classVariableNames: ''
180 category: 'Thrift-Protocol'!
182 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 11/1/2007 04:24'!
183 intFromByteArray: buf
185 vals := Array new: buf size.
186 1 to: buf size do: [:n | vals at: n put: ((buf at: n) bitShift: (buf size - n) * 8)].
189 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 18:46'!
191 ^ self readByte isZero not! !
193 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/25/2007 00:02'!
195 ^ (self transport read: 1) first! !
197 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/28/2007 16:24'!
201 ^ val basicAt: 1 put: (self readRawInt: 4);
202 basicAt: 2 put: (self readRawInt: 4);
205 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 20:02'!
208 field := TField new type: self readByte.
210 ^ field type = TType stop
212 ifFalse: [field id: self readI16; yourself]! !
214 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:15'!
218 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:20'!
222 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:20'!
226 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 11/1/2007 02:35'!
229 buf := transport read: size.
230 val := self intFromByteArray: buf.
232 ifTrue: [self unsignedInt: val size: size]
235 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:57'!
238 elemType: self readByte;
239 size: self readI32! !
241 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:58'!
244 keyType: self readByte;
245 valueType: self readByte;
246 size: self readI32! !
248 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 11/1/2007 04:22'!
251 version := self readI32.
253 (version bitAnd: self versionMask) = self version1
254 ifFalse: [TProtocolError signalWithCode: TProtocolError badVersion].
257 type: (version bitAnd: 16r000000FF);
258 name: self readString;
259 seqid: self readI32! !
261 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/28/2007 16:24'!
263 ^ self intFromByteArray: (transport read: size)! !
265 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 11/1/2007 00:59'!
269 elemType: self readByte;
270 size: self readI32! !
272 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 10/26/2007 04:48'!
274 ^ (transport read: self readI32) asString! !
276 !TBinaryProtocol methodsFor: 'reading' stamp: 'pc 11/1/2007 04:22'!
277 unsignedInt: val size: size
278 ^ 0 - ((val - 1) bitXor: ((2 raisedTo: (size * 8)) - 1))! !
280 !TBinaryProtocol methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:13'!
284 !TBinaryProtocol methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 18:01'!
288 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 18:35'!
290 transport write: aString! !
292 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:23'!
294 bool ifTrue: [self writeByte: 1]
295 ifFalse: [self writeByte: 0]! !
297 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/26/2007 09:31'!
299 aNumber > 16rFF ifTrue: [TError signal: 'writeByte too big'].
300 transport write: (Array with: aNumber)! !
302 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/28/2007 16:16'!
304 self writeI32: (aDouble basicAt: 1);
305 writeI32: (aDouble basicAt: 2)! !
307 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:56'!
309 self writeByte: aField type;
310 writeI16: aField id! !
312 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/25/2007 00:01'!
313 writeFieldBegin: aField
314 self writeByte: aField type.
315 self writeI16: aField id! !
317 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 18:04'!
319 self writeByte: TType stop! !
321 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 11/1/2007 02:06'!
323 self writeInt: i16 size: 2! !
325 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 11/1/2007 02:06'!
327 self writeInt: i32 size: 4! !
329 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 11/1/2007 02:06'!
331 self writeInt: i64 size: 8! !
333 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 11/1/2007 04:23'!
334 writeInt: val size: size
335 1 to: size do: [:n | self writeByte: ((val bitShift: (size negated + n) * 8) bitAnd: 16rFF)]! !
337 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 11/1/2007 00:48'!
338 writeListBegin: aList
339 self writeByte: aList elemType; writeI32: aList size! !
341 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:55'!
343 self writeByte: aMap keyType;
344 writeByte: aMap valueType;
345 writeI32: aMap size! !
347 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 20:36'!
348 writeMessageBegin: msg
349 self writeI32: (self version1 bitOr: msg type);
350 writeString: msg name;
351 writeI32: msg seqid! !
353 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 11/1/2007 00:56'!
355 self writeByte: aSet elemType; writeI32: aSet size! !
357 !TBinaryProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 18:35'!
359 self writeI32: aString size;
362 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
365 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
368 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
371 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
374 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
377 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
380 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
383 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
386 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
389 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
392 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
395 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
398 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:39'!
401 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:39'!
404 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
407 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
410 !TProtocol methodsFor: 'reading' stamp: 'pc 10/25/2007 16:10'!
411 readSimpleType: aType
412 aType = TType bool ifTrue: [^ self readBool].
413 aType = TType byte ifTrue: [^ self readByte].
414 aType = TType double ifTrue: [^ self readDouble].
415 aType = TType i16 ifTrue: [^ self readI16].
416 aType = TType i32 ifTrue: [^ self readI32].
417 aType = TType i64 ifTrue: [^ self readI64].
418 aType = TType list ifTrue: [^ self readBool].! !
420 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
423 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
427 !TProtocol methodsFor: 'reading' stamp: 'pc 10/24/2007 19:40'!
430 !TProtocol methodsFor: 'reading' stamp: 'pc 10/26/2007 21:34'!
432 aType = TType stop ifTrue: [^ self].
433 aType = TType bool ifTrue: [^ self readBool].
434 aType = TType byte ifTrue: [^ self readByte].
435 aType = TType i16 ifTrue: [^ self readI16].
436 aType = TType i32 ifTrue: [^ self readI32].
437 aType = TType i64 ifTrue: [^ self readI64].
438 aType = TType string ifTrue: [^ self readString].
439 aType = TType double ifTrue: [^ self readDouble].
440 aType = TType struct ifTrue:
442 self readStructBegin.
443 [(field := self readFieldBegin) type = TType stop] whileFalse:
444 [self skip: field type. self readFieldEnd].
445 ^ self readStructEnd].
446 aType = TType map ifTrue:
448 map := self readMapBegin.
449 map size timesRepeat: [self skip: map keyType. self skip: map valueType].
451 aType = TType list ifTrue:
453 list := self readListBegin.
454 list size timesRepeat: [self skip: list elemType].
456 aType = TType set ifTrue:
458 set := self readSetBegin.
459 set size timesRepeat: [self skip: set elemType].
462 self error: 'Unknown type'! !
464 !TProtocol methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 23:02'!
468 !TProtocol methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:28'!
469 transport: aTransport
470 transport := aTransport! !
472 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
475 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
478 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:38'!
479 writeDouble: aFloat! !
481 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:38'!
482 writeFieldBegin: aField! !
484 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
487 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
490 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
493 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
496 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
499 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:39'!
500 writeListBegin: aList! !
502 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
505 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:39'!
506 writeMapBegin: aMap! !
508 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
511 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:36'!
514 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:36'!
517 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:39'!
518 writeSetBegin: aSet! !
520 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
523 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:38'!
524 writeString: aString! !
526 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:38'!
527 writeStructBegin: aStruct! !
529 !TProtocol methodsFor: 'writing' stamp: 'pc 10/24/2007 19:37'!
532 Object subclass: #TResult
533 instanceVariableNames: 'success oprot iprot exception'
534 classVariableNames: ''
538 !TResult methodsFor: 'as yet unclassified' stamp: 'pc 10/26/2007 21:35'!
542 !TResult methodsFor: 'as yet unclassified' stamp: 'pc 10/26/2007 21:35'!
544 exception := anError! !
546 !TResult methodsFor: 'as yet unclassified' stamp: 'pc 10/26/2007 14:43'!
550 !TResult methodsFor: 'as yet unclassified' stamp: 'pc 10/26/2007 14:43'!
552 success := anObject! !
554 Object subclass: #TSizedObject
555 instanceVariableNames: 'size'
556 classVariableNames: ''
558 category: 'Thrift-Protocol'!
560 TSizedObject subclass: #TList
561 instanceVariableNames: 'elemType'
562 classVariableNames: ''
564 category: 'Thrift-Protocol'!
566 !TList methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:04'!
568 ^ elemType ifNil: [TType stop]! !
570 !TList methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:42'!
572 elemType := anInteger! !
574 TList subclass: #TSet
575 instanceVariableNames: ''
576 classVariableNames: ''
578 category: 'Thrift-Protocol'!
580 TSizedObject subclass: #TMap
581 instanceVariableNames: 'keyType valueType'
582 classVariableNames: ''
584 category: 'Thrift-Protocol'!
586 !TMap methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:04'!
588 ^ keyType ifNil: [TType stop]! !
590 !TMap methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:45'!
592 keyType := anInteger! !
594 !TMap methodsFor: 'accessing' stamp: 'pc 10/24/2007 20:04'!
596 ^ valueType ifNil: [TType stop]! !
598 !TMap methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:45'!
600 valueType := anInteger! !
602 !TSizedObject methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 20:03'!
606 !TSizedObject methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 20:06'!
610 Object subclass: #TSocket
611 instanceVariableNames: 'host port stream'
612 classVariableNames: ''
614 category: 'Thrift-Transport'!
616 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:34'!
618 self isOpen ifTrue: [stream close]! !
620 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:23'!
622 ^ (self socketStream openConnectionToHost:
623 (NetNameResolver addressForName: host) port: port)
628 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 20:35'!
632 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:08'!
636 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 20:34'!
639 and: [stream socket isConnected]
640 and: [stream socket isOtherEndClosed not]! !
642 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:22'!
644 stream := self connect! !
646 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:09'!
650 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:17'!
653 [data := stream next: size.
654 data isEmpty ifTrue: [TTransportError signal: 'Could not read ', size asString, ' bytes'].
657 do: [TTransportClosedError signal]! !
659 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:18'!
661 ^ Smalltalk at: #FastSocketStream ifAbsent: [SocketStream] ! !
663 !TSocket methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 22:17'!
665 [stream nextPutAll: aCollection]
667 do: [TTransportClosedError signal]! !
669 Object subclass: #TStruct
670 instanceVariableNames: 'name'
671 classVariableNames: ''
673 category: 'Thrift-Protocol'!
675 !TStruct methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:47'!
679 !TStruct methodsFor: 'accessing' stamp: 'pc 10/24/2007 19:47'!
683 Object subclass: #TTransport
684 instanceVariableNames: ''
685 classVariableNames: ''
687 category: 'Thrift-Transport'!
689 !TTransport methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:18'!
691 self subclassResponsibility! !
693 !TTransport methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:22'!
695 self subclassResponsibility! !
697 !TTransport methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:18'!
699 self subclassResponsibility! !
701 !TTransport methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:18'!
703 self subclassResponsibility! !
705 !TTransport methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:18'!
707 self subclassResponsibility! !
709 !TTransport methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:22'!
711 ^ String streamContents: [:str |
712 [str size < anInteger] whileTrue:
713 [str nextPutAll: (self read: anInteger - str size)]]! !
715 !TTransport methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:22'!
717 self subclassResponsibility! !
719 Object subclass: #TType
720 instanceVariableNames: ''
721 classVariableNames: ''
725 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:03'!
729 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:03'!
733 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/25/2007 15:55'!
735 self typeMap do: [:each | each first = aTypeName ifTrue: [^ each second]].
738 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:03'!
742 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
746 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
750 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
754 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
758 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
762 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/25/2007 15:56'!
764 self typeMap do: [:each | each second = aTypeCode ifTrue: [^ each first]].
767 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
771 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:03'!
775 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
779 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:04'!
783 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/25/2007 15:51'!
785 ^ #((bool 2) (byte 3) (double 4) (i16 6) (i32 8) (i64 10) (list 15)
786 (map 13) (set 15) (stop 0) (string 11) (struct 12) (void 1))! !
788 !TType class methodsFor: 'as yet unclassified' stamp: 'pc 10/24/2007 17:03'!