X Tutup
Skip to content

Commit 88459fa

Browse files
committed
Add #greaseAsByteArray and implementation for Squeak
1 parent 05a6c4e commit 88459fa

File tree

23 files changed

+119
-2
lines changed

23 files changed

+119
-2
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*Grease-Core
2+
greaseAsByteArray
3+
^ self asByteArray
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"name" : "Collection"
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
encoding
2+
integerAsByteArray: anInteger
3+
^ anInteger asByteArray
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*Grease-Core
2+
greaseAsByteArray
3+
^ GRPlatform current integerAsByteArray: self
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*Grease-Core
2+
greaseByteAt: index
3+
^ self subclassResponsibility
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*Grease-Core
2+
greaseBytesCount
3+
^ self subclassResponsibility
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
encoding
2+
integerAsByteArray: anInteger
3+
| stream |
4+
stream := ByteArray new writeStream.
5+
anInteger greaseBytesCount to: 1 by: -1 do: [:digitIndex |
6+
stream nextPut: (anInteger greaseByteAt: digitIndex)].
7+
^ stream contents
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
*Grease-Squeak-Core
2+
greaseByteAt: index
3+
"Primitive. Answer the value of an indexable field in the receiver. LargePositiveInteger uses bytes of base two number, and each is a 'digit' base 256. Fail if the argument (the index) is not an Integer or is out of bounds. Essential. See Object documentation whatIsAPrimitive."
4+
5+
<primitive: 60>
6+
self bytesCount < index
7+
ifTrue: [^0]
8+
ifFalse: [^super at: index]
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
*Grease-Squeak-Core
2+
greaseBytesCount
3+
"Primitive. Answer the number of indexable fields in the receiver. This
4+
value is the same as the largest legal subscript. Essential. See Object
5+
documentation whatIsAPrimitive."
6+
7+
<primitive: 62>
8+
self primitiveFailed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"name" : "LargeInteger"
3+
}

0 commit comments

Comments
 (0)
X Tutup