diff --git a/BaselineOfTostSerializer/BaselineOfTostSerializer.class.st b/BaselineOfTostSerializer/BaselineOfTostSerializer.class.st index 2b82a39..b4b7bbe 100644 --- a/BaselineOfTostSerializer/BaselineOfTostSerializer.class.st +++ b/BaselineOfTostSerializer/BaselineOfTostSerializer.class.st @@ -1,10 +1,11 @@ Class { - #name : #BaselineOfTostSerializer, - #superclass : #BaselineOf, - #category : 'BaselineOfTostSerializer' + #name : 'BaselineOfTostSerializer', + #superclass : 'BaselineOf', + #category : 'BaselineOfTostSerializer', + #package : 'BaselineOfTostSerializer' } -{ #category : #baselines } +{ #category : 'baselines' } BaselineOfTostSerializer >> baseline: spec [ spec for: #'common' do: [ @@ -27,7 +28,7 @@ BaselineOfTostSerializer >> baseline: spec [ ] -{ #category : #accessing } +{ #category : 'accessing' } BaselineOfTostSerializer >> projectClass [ ^ [ self class environment at: #MetacelloCypressBaselineProject ] on: NotFound diff --git a/BaselineOfTostSerializer/package.st b/BaselineOfTostSerializer/package.st index b035751..ba98d34 100644 --- a/BaselineOfTostSerializer/package.st +++ b/BaselineOfTostSerializer/package.st @@ -1 +1 @@ -Package { #name : #BaselineOfTostSerializer } +Package { #name : 'BaselineOfTostSerializer' } diff --git a/TostSerializer-Tests/TostMaterializationTests.class.st b/TostSerializer-Tests/TostMaterializationTests.class.st index c53183f..4df482c 100644 --- a/TostSerializer-Tests/TostMaterializationTests.class.st +++ b/TostSerializer-Tests/TostMaterializationTests.class.st @@ -1,10 +1,11 @@ Class { - #name : #TostMaterializationTests, - #superclass : #TostTransportTestCase, - #category : #'TostSerializer-Tests' + #name : 'TostMaterializationTests', + #superclass : 'TostTransportTestCase', + #category : 'TostSerializer-Tests', + #package : 'TostSerializer-Tests' } -{ #category : #helpers } +{ #category : 'helpers' } TostMaterializationTests >> binaryData: aByteArray [ transportStream reset. @@ -12,18 +13,18 @@ TostMaterializationTests >> binaryData: aByteArray [ transportStream reset ] -{ #category : #running } +{ #category : 'running' } TostMaterializationTests >> createTransportStream [ transportStream := ReadWriteStream on: ByteArray new ] -{ #category : #helpers } +{ #category : 'helpers' } TostMaterializationTests >> serialize: anObject [ self serializeAll: {anObject} ] -{ #category : #helpers } +{ #category : 'helpers' } TostMaterializationTests >> serializeAll: objects [ | serializer | @@ -33,7 +34,7 @@ TostMaterializationTests >> serializeAll: objects [ transportStream reset ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testArrayWithTwoEmptyObjects [ | actual | @@ -47,7 +48,7 @@ TostMaterializationTests >> testArrayWithTwoEmptyObjects [ actual last should beInstanceOf: Object. ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testBitmapInstance [ | actual | @@ -59,7 +60,7 @@ TostMaterializationTests >> testBitmapInstance [ actual should equalInOrder: #(1 2 5 10) ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testBlockClosureWithContex [ | actual temp block | @@ -75,7 +76,7 @@ TostMaterializationTests >> testBlockClosureWithContex [ actual value should equal: temp + 2 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testBlockClosureWithoutContext [ | actual temp block | @@ -92,7 +93,7 @@ TostMaterializationTests >> testBlockClosureWithoutContext [ actual value should equal: temp + 2 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testByteArrayInstance [ | actual | @@ -104,7 +105,7 @@ TostMaterializationTests >> testByteArrayInstance [ actual should equal: #[1 2 5 10] ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testByteString [ | actual | @@ -116,7 +117,7 @@ TostMaterializationTests >> testByteString [ actual should equal: 'test string' ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testByteSymbol [ | actual | @@ -128,7 +129,7 @@ TostMaterializationTests >> testByteSymbol [ actual should equal: #'test string' ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testCharacter [ | actual | @@ -139,7 +140,7 @@ TostMaterializationTests >> testCharacter [ actual should equal: $R ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testCompiledMethod [ | actual area | @@ -153,7 +154,7 @@ TostMaterializationTests >> testCompiledMethod [ area should equal: 6 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testDictionary [ | dict actual key1 key2 | dict := Dictionary newFrom: {Object new -> #item1. Object new -> #item2}. @@ -168,7 +169,7 @@ TostMaterializationTests >> testDictionary [ actual should include: #item2 at: key2. ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testEmptyObject [ | actual | @@ -179,7 +180,7 @@ TostMaterializationTests >> testEmptyObject [ actual should beInstanceOf: Object ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testFalse [ | actual | self serialize: false. @@ -189,7 +190,7 @@ TostMaterializationTests >> testFalse [ actual should be: false ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testFloatInstance [ | actual | @@ -201,7 +202,7 @@ TostMaterializationTests >> testFloatInstance [ actual should equal: 1.5 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testFraction [ | actual | @@ -213,7 +214,7 @@ TostMaterializationTests >> testFraction [ actual should equal: 3/2 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testIntegerInstance [ | actual | @@ -224,7 +225,7 @@ TostMaterializationTests >> testIntegerInstance [ actual should equal: 300 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testIntegerInstanceOf4Bytes [ | actual | @@ -235,7 +236,7 @@ TostMaterializationTests >> testIntegerInstanceOf4Bytes [ actual should equal: 300000000 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testInternalDictionaryAsLastChild [ | dict actual key1 key2 container | dict := Dictionary newFrom: {Object new -> #item1. Object new -> #item2}. @@ -252,7 +253,7 @@ TostMaterializationTests >> testInternalDictionaryAsLastChild [ actual should include: #item2 at: key2. ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testLargeNegativeInteger [ | actual | @@ -264,7 +265,7 @@ TostMaterializationTests >> testLargeNegativeInteger [ actual should equal: -3575740990698772000111222 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testLargePositiveInteger [ | actual | @@ -276,7 +277,7 @@ TostMaterializationTests >> testLargePositiveInteger [ actual should equal: 3575740990698772000111222 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testNegativeFloatInstance [ | actual | @@ -288,7 +289,7 @@ TostMaterializationTests >> testNegativeFloatInstance [ actual should equal: -1.5 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testNegativeFraction [ | actual | @@ -300,7 +301,7 @@ TostMaterializationTests >> testNegativeFraction [ actual should equal: -3/2 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testNil [ | actual | self serialize: nil. @@ -310,7 +311,7 @@ TostMaterializationTests >> testNil [ actual should be: nil ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testObjectOfWellKnownClass [ | actual | @@ -322,7 +323,7 @@ TostMaterializationTests >> testObjectOfWellKnownClass [ actual should beInstanceOf: Object ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testObjectWhichReferenceShouldBeSubstitutedDynamicaly [ | actual object root substitution substitutionFormat | @@ -342,7 +343,7 @@ TostMaterializationTests >> testObjectWhichReferenceShouldBeSubstitutedDynamical actual content last should equal: 3@4 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testObjectWhichReferenceShouldBeSubstitutedStatically [ | actual object root substitution substitutionFormat | @@ -361,7 +362,7 @@ TostMaterializationTests >> testObjectWhichReferenceShouldBeSubstitutedStaticall actual content last should equal: 3@4 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testObjectWhichReferencesAnotherObjectWhichReferencesInteger [ | actual | @@ -374,7 +375,7 @@ TostMaterializationTests >> testObjectWhichReferencesAnotherObjectWhichReference actual content content should equal: 10 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testObjectWhichReferencesInteger [ | actual | @@ -386,7 +387,7 @@ TostMaterializationTests >> testObjectWhichReferencesInteger [ actual content should equal: 10 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testObjectWithSubstitutionWhichContainsGivenObjectItself [ | actual object root substitution substitutionFormat | @@ -412,7 +413,7 @@ TostMaterializationTests >> testObjectWithSubstitutionWhichContainsGivenObjectIt actual content first content should equal: object ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testObjectWithTwoReferencesToSameObjectWhichShouldBeSubstituted [ | actual object root substitution substitutionFormat | @@ -428,7 +429,7 @@ TostMaterializationTests >> testObjectWithTwoReferencesToSameObjectWhichShouldBe actual content should equal: { substitution. substitution } ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testPostProcessingLastSubstitution [ "When full object graph is materialized traveler can stopped at deep child object. In that case it will not perform leave node action which will not trigger post processing. @@ -451,7 +452,7 @@ TostMaterializationTests >> testPostProcessingLastSubstitution [ set should include: item2 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testPostProcessingOfMultipleActions [ "it should cover the case when last post processing action is evaluated but not removed. For example array with two sets will require two rehashing as post processing" @@ -473,7 +474,7 @@ TostMaterializationTests >> testPostProcessingOfMultipleActions [ set2 should include: item2 ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostMaterializationTests >> testReadingBytes [ | actual | @@ -484,7 +485,7 @@ TostMaterializationTests >> testReadingBytes [ actual should equal: #[1 2] ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostMaterializationTests >> testReadingOneByteInteger [ | actual | @@ -495,7 +496,7 @@ TostMaterializationTests >> testReadingOneByteInteger [ actual should equal: 10 ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostMaterializationTests >> testReadingTwoBytesInteger [ | actual | self binaryData: {2. 0. (300 byteAt: 2). (300 byteAt: 1)}. @@ -503,7 +504,7 @@ TostMaterializationTests >> testReadingTwoBytesInteger [ actual should equal: 300 ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostMaterializationTests >> testReadingTwoBytesNegativeInteger [ | actual | self binaryData: {2. 1. (300 byteAt: 2). (300 byteAt: 1)}. @@ -511,7 +512,7 @@ TostMaterializationTests >> testReadingTwoBytesNegativeInteger [ actual should equal: -300 ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostMaterializationTests >> testReadingTwoBytesPositiveInteger [ | actual | self binaryData: {2. (300 byteAt: 2). (300 byteAt: 1)}. @@ -519,7 +520,7 @@ TostMaterializationTests >> testReadingTwoBytesPositiveInteger [ actual should equal: 300 ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testSameObjectTwice [ | object first second | @@ -533,7 +534,7 @@ TostMaterializationTests >> testSameObjectTwice [ first should be: second ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testSet [ | set actual item1 item2 | set := Set new. @@ -548,7 +549,7 @@ TostMaterializationTests >> testSet [ actual should include: item2. ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testTreeObjectsOfSameClassWhereLastTwoAreSame [ | first second object third | @@ -564,7 +565,7 @@ TostMaterializationTests >> testTreeObjectsOfSameClassWhereLastTwoAreSame [ second should be: third ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testTrue [ | actual | self serialize: true. @@ -574,7 +575,7 @@ TostMaterializationTests >> testTrue [ actual should be: true ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testTwoObjectsOfSameClass [ | first second | @@ -588,7 +589,7 @@ TostMaterializationTests >> testTwoObjectsOfSameClass [ first should not be: second ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testUUIDInstance [ | actual uuid | @@ -601,7 +602,7 @@ TostMaterializationTests >> testUUIDInstance [ actual should equal: uuid ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testWellKnownEmptyObject [ | actual object | @@ -616,7 +617,7 @@ TostMaterializationTests >> testWellKnownEmptyObject [ actual first should be: object ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testWellKnownEmptyRootObject [ | actual object | @@ -630,7 +631,7 @@ TostMaterializationTests >> testWellKnownEmptyRootObject [ actual should be: object ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testWellKnownNonEmptyObjectInsideContainer [ | actual array container | @@ -645,7 +646,7 @@ TostMaterializationTests >> testWellKnownNonEmptyObjectInsideContainer [ array should equal: #(1 2) copy. ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testWellKnownNonEmptyRootObject [ | actual object | @@ -659,7 +660,7 @@ TostMaterializationTests >> testWellKnownNonEmptyRootObject [ actual should equal: #(1 2) copy ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostMaterializationTests >> testWideString [ | actual | diff --git a/TostSerializer-Tests/TostSerializationTests.class.st b/TostSerializer-Tests/TostSerializationTests.class.st index 3cd7084..d57f965 100644 --- a/TostSerializer-Tests/TostSerializationTests.class.st +++ b/TostSerializer-Tests/TostSerializationTests.class.st @@ -1,29 +1,30 @@ Class { - #name : #TostSerializationTests, - #superclass : #TostTransportTestCase, + #name : 'TostSerializationTests', + #superclass : 'TostTransportTestCase', #instVars : [ 'binaryData' ], - #category : #'TostSerializer-Tests' + #category : 'TostSerializer-Tests', + #package : 'TostSerializer-Tests' } -{ #category : #helpers } +{ #category : 'helpers' } TostSerializationTests >> binaryData [ ^binaryData := transportStream contents. ] -{ #category : #helpers } +{ #category : 'helpers' } TostSerializationTests >> clearData [ transportStream reset ] -{ #category : #running } +{ #category : 'running' } TostSerializationTests >> createTransportStream [ transportStream := ByteArray new writeStream ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testByteArrayInstance [ | object | @@ -39,7 +40,7 @@ TostSerializationTests >> testByteArrayInstance [ } asByteArray, object ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testEmptyObject [ | object classNameBytes classNameSizeBytes | @@ -51,7 +52,7 @@ TostSerializationTests >> testEmptyObject [ self binaryData should equal: ({transport formatIdFor: TostNewObjectOfNewClassFormat}, classNameSizeBytes, classNameBytes) asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testObjectAndItClass [ | object | @@ -64,7 +65,7 @@ TostSerializationTests >> testObjectAndItClass [ self binaryData first should equal: (transport formatIdFor: TostNewObjectOfNewClassFormat) ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testObjectOfWellKnownClass [ | extraFormat | @@ -76,7 +77,7 @@ TostSerializationTests >> testObjectOfWellKnownClass [ self binaryData should equal: {extraFormat id. 2} asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testSameObjectTwice [ | object | @@ -89,7 +90,7 @@ TostSerializationTests >> testSameObjectTwice [ self binaryData should equal: ({transport formatIdFor: TostDuplicatedObjectFormat}, #[1 4]) asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testThreeObjectsOfSameClassWhereFirstTwoAreSame [ | object | @@ -103,7 +104,7 @@ TostSerializationTests >> testThreeObjectsOfSameClassWhereFirstTwoAreSame [ self binaryData should equal: {transport formatIdFor: TostNewObjectOfDuplicatedClassFormat. 1. 4} asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testThreeObjectsOfSameClassWhereLastTwoAreSame [ | object objectIndex | @@ -118,7 +119,7 @@ TostSerializationTests >> testThreeObjectsOfSameClassWhereLastTwoAreSame [ self binaryData should equal: {transport formatIdFor: TostDuplicatedObjectFormat. 1. objectIndex} asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testTwoObjectsOfSameClass [ | object | @@ -132,7 +133,7 @@ TostSerializationTests >> testTwoObjectsOfSameClass [ self binaryData should equal: {transport formatIdFor: TostNewObjectOfDuplicatedClassFormat. 1. 4} asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testWellKnownCompositeObject [ | extraFormat object container | @@ -146,7 +147,7 @@ TostSerializationTests >> testWellKnownCompositeObject [ self binaryData should equal: {2. 1. extraFormat id. 2} asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testWellKnownEmptyObject [ | extraFormat object | @@ -159,7 +160,7 @@ TostSerializationTests >> testWellKnownEmptyObject [ self binaryData should equal: {extraFormat id. 2} asByteArray ] -{ #category : #'tests-objects' } +{ #category : 'tests-objects' } TostSerializationTests >> testWellKnownNonEmptyRootObject [ | extraFormat object | @@ -172,7 +173,7 @@ TostSerializationTests >> testWellKnownNonEmptyRootObject [ self binaryData should equal: {extraFormat id. 1} asByteArray ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostSerializationTests >> testWritingByteArray [ transporter writeBytes: #[1 2 3]. @@ -180,7 +181,7 @@ TostSerializationTests >> testWritingByteArray [ self binaryData should equal: #[1 2 3] ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostSerializationTests >> testWritingOneByteInteger [ transporter writeInteger: 10. @@ -188,19 +189,19 @@ TostSerializationTests >> testWritingOneByteInteger [ self binaryData should equal: #[1 0 10] ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostSerializationTests >> testWritingTwoBytesInteger [ transporter writeInteger: 300. self binaryData should equal: {2. 0. (300 byteAt: 2). (300 byteAt: 1)} asByteArray ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostSerializationTests >> testWritingTwoBytesNegativeInteger [ transporter writeInteger: -300. self binaryData should equal: {2. 1. (300 byteAt: 2). (300 byteAt: 1)} asByteArray ] -{ #category : #'tests-primitive data' } +{ #category : 'tests-primitive data' } TostSerializationTests >> testWritingTwoBytesPositiveInteger [ transporter writePositiveInteger: 300. self binaryData should equal: {2. (300 byteAt: 2). (300 byteAt: 1)} asByteArray diff --git a/TostSerializer-Tests/TostTestContainer.class.st b/TostSerializer-Tests/TostTestContainer.class.st index 2ab506f..7209133 100644 --- a/TostSerializer-Tests/TostTestContainer.class.st +++ b/TostSerializer-Tests/TostTestContainer.class.st @@ -10,26 +10,27 @@ Internal Representation and Key Implementation Points. content: " Class { - #name : #TostTestContainer, - #superclass : #Object, + #name : 'TostTestContainer', + #superclass : 'Object', #instVars : [ 'content' ], - #category : #'TostSerializer-Tests' + #category : 'TostSerializer-Tests', + #package : 'TostSerializer-Tests' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } TostTestContainer class >> with: anObject [ ^self new content: anObject ] -{ #category : #accessing } +{ #category : 'accessing' } TostTestContainer >> content [ ^ content ] -{ #category : #accessing } +{ #category : 'accessing' } TostTestContainer >> content: anObject [ content := anObject ] diff --git a/TostSerializer-Tests/TostTransportTestCase.class.st b/TostSerializer-Tests/TostTransportTestCase.class.st index 74d7b10..f8ec00d 100644 --- a/TostSerializer-Tests/TostTransportTestCase.class.st +++ b/TostSerializer-Tests/TostTransportTestCase.class.st @@ -1,25 +1,26 @@ Class { - #name : #TostTransportTestCase, - #superclass : #TestCase, + #name : 'TostTransportTestCase', + #superclass : 'TestCase', #instVars : [ 'transport', 'transporter', 'transportStream' ], - #category : #'TostSerializer-Tests' + #category : 'TostSerializer-Tests', + #package : 'TostSerializer-Tests' } -{ #category : #testing } +{ #category : 'testing' } TostTransportTestCase class >> isAbstract [ ^self == TostTransportTestCase ] -{ #category : #running } +{ #category : 'running' } TostTransportTestCase >> createTransportStream [ self subclassResponsibility ] -{ #category : #running } +{ #category : 'running' } TostTransportTestCase >> setUp [ super setUp. diff --git a/TostSerializer-Tests/TostTransportTests.class.st b/TostSerializer-Tests/TostTransportTests.class.st index c0eca0c..e049a91 100644 --- a/TostSerializer-Tests/TostTransportTests.class.st +++ b/TostSerializer-Tests/TostTransportTests.class.st @@ -1,15 +1,16 @@ Class { - #name : #TostTransportTests, - #superclass : #TostTransportTestCase, - #category : #'TostSerializer-Tests' + #name : 'TostTransportTests', + #superclass : 'TostTransportTestCase', + #category : 'TostSerializer-Tests', + #package : 'TostSerializer-Tests' } -{ #category : #running } +{ #category : 'running' } TostTransportTests >> createTransportStream [ transportStream := ByteArray new writeStream ] -{ #category : #tests } +{ #category : 'tests' } TostTransportTests >> testObjectTransportationAPI [ | object transferredObject | diff --git a/TostSerializer-Tests/package.st b/TostSerializer-Tests/package.st index 3b0ae69..86ab180 100644 --- a/TostSerializer-Tests/package.st +++ b/TostSerializer-Tests/package.st @@ -1 +1 @@ -Package { #name : #'TostSerializer-Tests' } +Package { #name : 'TostSerializer-Tests' } diff --git a/TostSerializer/Bitmap.extension.st b/TostSerializer/Bitmap.extension.st index 9118209..f15d67a 100644 --- a/TostSerializer/Bitmap.extension.st +++ b/TostSerializer/Bitmap.extension.st @@ -1,13 +1,13 @@ -Extension { #name : #Bitmap } +Extension { #name : 'Bitmap' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Bitmap class >> createTostInstanceWith: aTostTransporter [ | bytes | bytes := ByteArray createTostInstanceWith: aTostTransporter. ^Bitmap decompressFromByteArray: bytes ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Bitmap >> writeTostBodyWith: aTostTransporter [ self compressToByteArray writeTostBodyWith: aTostTransporter ] diff --git a/TostSerializer/BlockClosure.extension.st b/TostSerializer/BlockClosure.extension.st index 8624c7c..7caa33e 100644 --- a/TostSerializer/BlockClosure.extension.st +++ b/TostSerializer/BlockClosure.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #BlockClosure } +Extension { #name : 'BlockClosure' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } BlockClosure >> correctTostMaterializationWith: materializedWordSize [ | numLiterals originalLiteralSize newLiteralSize | @@ -12,7 +12,7 @@ BlockClosure >> correctTostMaterializationWith: materializedWordSize [ startpc := startpc - (originalLiteralSize - newLiteralSize) ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } BlockClosure class >> createTostInstanceWith: aTostTransporter [ | block wordSize | block := super createTostInstanceWith: aTostTransporter. @@ -22,7 +22,7 @@ BlockClosure class >> createTostInstanceWith: aTostTransporter [ ^block ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } BlockClosure >> writeTostBodyWith: aTostTransporter [ super writeTostBodyWith: aTostTransporter. diff --git a/TostSerializer/Boolean.extension.st b/TostSerializer/Boolean.extension.st index 065617c..f7fb680 100644 --- a/TostSerializer/Boolean.extension.st +++ b/TostSerializer/Boolean.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #Boolean } +Extension { #name : 'Boolean' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Boolean >> isTostValueObject [ ^true ] diff --git a/TostSerializer/ByteArray.extension.st b/TostSerializer/ByteArray.extension.st index 52387e5..04de31c 100644 --- a/TostSerializer/ByteArray.extension.st +++ b/TostSerializer/ByteArray.extension.st @@ -1,13 +1,13 @@ -Extension { #name : #ByteArray } +Extension { #name : 'ByteArray' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } ByteArray class >> createTostInstanceWith: aTostTransporter [ | size | size := aTostTransporter readPositiveInteger. ^aTostTransporter readBytes: size as: self ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } ByteArray >> writeTostBodyWith: aTostTransporter [ super writeTostBodyWith: aTostTransporter. aTostTransporter writeBytes: self diff --git a/TostSerializer/Character.extension.st b/TostSerializer/Character.extension.st index 2298fa7..e171467 100644 --- a/TostSerializer/Character.extension.st +++ b/TostSerializer/Character.extension.st @@ -1,17 +1,17 @@ -Extension { #name : #Character } +Extension { #name : 'Character' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Character class >> createTostInstanceWith: aTostTransporter [ ^self value: aTostTransporter readPositiveInteger ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Character >> isTostValueObject [ ^true ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Character >> writeTostBodyWith: aTostTransporter [ aTostTransporter writePositiveInteger: self asInteger diff --git a/TostSerializer/ClassDescription.extension.st b/TostSerializer/ClassDescription.extension.st index 03092ff..ec770b1 100644 --- a/TostSerializer/ClassDescription.extension.st +++ b/TostSerializer/ClassDescription.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #ClassDescription } +Extension { #name : 'ClassDescription' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } ClassDescription >> createTostInstanceWith: aTostTransporter [ ^self isVariable ifTrue: [ self basicNew: aTostTransporter readPositiveInteger ] diff --git a/TostSerializer/CompiledCode.extension.st b/TostSerializer/CompiledCode.extension.st index a07b9a9..6dc2211 100644 --- a/TostSerializer/CompiledCode.extension.st +++ b/TostSerializer/CompiledCode.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #CompiledCode } +Extension { #name : 'CompiledCode' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } CompiledCode class >> createTostInstanceWith: aTostTransporter [ | size bytecodes method header numLiterals wordSize literalSize newLiteralSize | @@ -22,7 +22,7 @@ CompiledCode class >> createTostInstanceWith: aTostTransporter [ ^method ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } CompiledCode >> writeTostBodyWith: aTostTransporter [ | bytecodes initialPC | initialPC := self initialPC. diff --git a/TostSerializer/Context.extension.st b/TostSerializer/Context.extension.st index e6c0051..e793943 100644 --- a/TostSerializer/Context.extension.st +++ b/TostSerializer/Context.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #Context } +Extension { #name : 'Context' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Context >> correctTostMaterializationWith: materializedWordSize [ | numLiterals originalLiteralSize newLiteralSize | @@ -13,7 +13,7 @@ Context >> correctTostMaterializationWith: materializedWordSize [ pc := pc - (originalLiteralSize - newLiteralSize) ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Context class >> createTostInstanceWith: aTostTransporter [ | frameSize wordSize context | @@ -25,7 +25,7 @@ Context class >> createTostInstanceWith: aTostTransporter [ ^context ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Context >> writeTostBodyWith: aTostTransporter [ aTostTransporter writeByte: Smalltalk wordSize. diff --git a/TostSerializer/False.extension.st b/TostSerializer/False.extension.st index 8fdfb35..7e9f851 100644 --- a/TostSerializer/False.extension.st +++ b/TostSerializer/False.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #False } +Extension { #name : 'False' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } False class >> createTostInstanceWith: aTostTransporter [ ^false diff --git a/TostSerializer/Float.extension.st b/TostSerializer/Float.extension.st index c6df7e1..c86aa8e 100644 --- a/TostSerializer/Float.extension.st +++ b/TostSerializer/Float.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #Float } +Extension { #name : 'Float' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Float class >> createTostInstanceWith: aTostTransporter [ ^ (self new: 2) at: 1 put: aTostTransporter readPositiveInteger; @@ -9,7 +9,7 @@ Float class >> createTostInstanceWith: aTostTransporter [ ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Float >> writeTostBodyWith: aTostTransporter [ aTostTransporter diff --git a/TostSerializer/Fraction.extension.st b/TostSerializer/Fraction.extension.st index c4a406a..fc791b9 100644 --- a/TostSerializer/Fraction.extension.st +++ b/TostSerializer/Fraction.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #Fraction } +Extension { #name : 'Fraction' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Fraction class >> createTostInstanceWith: aTostTransporter [ | denominator numerator | @@ -10,7 +10,7 @@ Fraction class >> createTostInstanceWith: aTostTransporter [ ^numerator / denominator ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Fraction >> writeTostBodyWith: aTostTransporter [ aTostTransporter writePositiveInteger: denominator. diff --git a/TostSerializer/FullBlockClosure.extension.st b/TostSerializer/FullBlockClosure.extension.st index bfbea6a..0a3c7c1 100644 --- a/TostSerializer/FullBlockClosure.extension.st +++ b/TostSerializer/FullBlockClosure.extension.st @@ -1,12 +1,12 @@ -Extension { #name : #FullBlockClosure } +Extension { #name : 'FullBlockClosure' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } FullBlockClosure >> correctTostMaterializationWith: materializedWordSize [ "FullBlockClosure has no difference in binary presentation in 32 and 64 bit images. Therefore nothing to do here" ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } FullBlockClosure class >> createTostInstanceWith: aTostTransporter [ "FullBlockClosure has no difference in binary presentation in 32 and 64 bit images. Therefore the instantiation method here is simplified to Object version" @@ -14,7 +14,7 @@ FullBlockClosure class >> createTostInstanceWith: aTostTransporter [ ^self basicNew: aTostTransporter readPositiveInteger ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } FullBlockClosure >> writeTostBodyWith: aTostTransporter [ "FullBlockClosure has no difference in binary presentation in 32 and 64 bit images. Therefore the serialization method here is simplified to Object version" diff --git a/TostSerializer/HashedCollection.extension.st b/TostSerializer/HashedCollection.extension.st index 062bb12..27688c3 100644 --- a/TostSerializer/HashedCollection.extension.st +++ b/TostSerializer/HashedCollection.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #HashedCollection } +Extension { #name : 'HashedCollection' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } HashedCollection class >> createTostInstanceWith: aTostTransporter [ | instance | diff --git a/TostSerializer/Integer.extension.st b/TostSerializer/Integer.extension.st index 953535c..7b33f3e 100644 --- a/TostSerializer/Integer.extension.st +++ b/TostSerializer/Integer.extension.st @@ -1,23 +1,23 @@ -Extension { #name : #Integer } +Extension { #name : 'Integer' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Integer >> byteAt: anInteger [ "Compatibility with Pharo7. In Pharo8/9 #digitAt: was changed to #byteAt:" ^ self digitAt: anInteger ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Integer >> bytesCount [ "Compatibility with Pharo7. In Pharo8/9 #digitLength was changed to #bytesCount" ^ self digitLength ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Integer class >> createTostInstanceWith: aTostTransporter [ ^aTostTransporter readInteger ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Integer >> writeTostBodyWith: aTostTransporter [ aTostTransporter writeInteger: self diff --git a/TostSerializer/Number.extension.st b/TostSerializer/Number.extension.st index da3a8e6..3646726 100644 --- a/TostSerializer/Number.extension.st +++ b/TostSerializer/Number.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #Number } +Extension { #name : 'Number' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Number >> isTostValueObject [ ^true ] diff --git a/TostSerializer/Object.extension.st b/TostSerializer/Object.extension.st index c0424fd..421be56 100644 --- a/TostSerializer/Object.extension.st +++ b/TostSerializer/Object.extension.st @@ -1,11 +1,11 @@ -Extension { #name : #Object } +Extension { #name : 'Object' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Object >> isTostValueObject [ ^false ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Object >> writeTostBodyWith: aTostTransporter [ self class isVariable ifTrue: [ aTostTransporter writePositiveInteger: self size] diff --git a/TostSerializer/SmallFloat64.extension.st b/TostSerializer/SmallFloat64.extension.st index 934f788..c6c0794 100644 --- a/TostSerializer/SmallFloat64.extension.st +++ b/TostSerializer/SmallFloat64.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #SmallFloat64 } +Extension { #name : 'SmallFloat64' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } SmallFloat64 class >> createTostInstanceWith: aTostTransporter [ ^ (BoxedFloat64 createTostInstanceWith: aTostTransporter) * 1.0 ] diff --git a/TostSerializer/String.extension.st b/TostSerializer/String.extension.st index c97c6c4..14272b8 100644 --- a/TostSerializer/String.extension.st +++ b/TostSerializer/String.extension.st @@ -1,12 +1,12 @@ -Extension { #name : #String } +Extension { #name : 'String' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } String class >> createTostInstanceWith: aTostTransporter [ ^aTostTransporter readString: self ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } String >> writeTostBodyWith: aTostTransporter [ aTostTransporter writeString: self diff --git a/TostSerializer/Symbol.extension.st b/TostSerializer/Symbol.extension.st index 90250df..6772f7e 100644 --- a/TostSerializer/Symbol.extension.st +++ b/TostSerializer/Symbol.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #Symbol } +Extension { #name : 'Symbol' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } Symbol class >> createTostInstanceWith: aTostTransporter [ | string | diff --git a/TostSerializer/TostDuplicatedObjectFormat.class.st b/TostSerializer/TostDuplicatedObjectFormat.class.st index 6d28889..6fb7a35 100644 --- a/TostSerializer/TostDuplicatedObjectFormat.class.st +++ b/TostSerializer/TostDuplicatedObjectFormat.class.st @@ -3,12 +3,13 @@ I am a format which specifies how to encode duplicated objects which was already I encode them by a stream position where they was already written " Class { - #name : #TostDuplicatedObjectFormat, - #superclass : #TostStreamlineFormat, - #category : #TostSerializer + #name : 'TostDuplicatedObjectFormat', + #superclass : 'TostStreamlineFormat', + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #operations } +{ #category : 'operations' } TostDuplicatedObjectFormat >> readObjectWith: aTostTransporter [ | objectIndex | objectIndex := aTostTransporter readPositiveInteger. @@ -16,7 +17,7 @@ TostDuplicatedObjectFormat >> readObjectWith: aTostTransporter [ ^aTostTransporter processedObjectAt: objectIndex ] -{ #category : #operations } +{ #category : 'operations' } TostDuplicatedObjectFormat >> tryWriteObject: anObject with: aTostTransporter [ ^aTostTransporter writeDuplicatedObject: anObject format: id diff --git a/TostSerializer/TostFormat.class.st b/TostSerializer/TostFormat.class.st index b6b9615..945a717 100644 --- a/TostSerializer/TostFormat.class.st +++ b/TostSerializer/TostFormat.class.st @@ -19,30 +19,31 @@ Internal Representation and Key Implementation Points. id: ""byte"" " Class { - #name : #TostFormat, - #superclass : #Object, + #name : 'TostFormat', + #superclass : 'Object', #instVars : [ 'id' ], - #category : #TostSerializer + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #accessing } +{ #category : 'accessing' } TostFormat >> id [ ^id ] -{ #category : #accessing } +{ #category : 'accessing' } TostFormat >> id: aByte [ id := aByte ] -{ #category : #operations } +{ #category : 'operations' } TostFormat >> readObjectWith: aTostTransporter [ self subclassResponsibility ] -{ #category : #operations } +{ #category : 'operations' } TostFormat >> tryWriteObject: anObject with: aTostTransporter [ self subclassResponsibility ] diff --git a/TostSerializer/TostIndexedObjectFormat.class.st b/TostSerializer/TostIndexedObjectFormat.class.st index 1369164..d99f48b 100644 --- a/TostSerializer/TostIndexedObjectFormat.class.st +++ b/TostSerializer/TostIndexedObjectFormat.class.st @@ -14,23 +14,24 @@ Internal Representation and Key Implementation Points. objects: " Class { - #name : #TostIndexedObjectFormat, - #superclass : #TostFormat, + #name : 'TostIndexedObjectFormat', + #superclass : 'TostFormat', #instVars : [ 'objects', 'indexes' ], - #category : 'TostSerializer' + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } TostIndexedObjectFormat class >> on: anArray [ ^self new buildIndexesFor: anArray ] -{ #category : #accessing } +{ #category : 'accessing' } TostIndexedObjectFormat >> buildIndexesFor: anArray [ anArray size > 255 ifTrue: [ self error: 'Indexed object format supports up to 255 objects' ]. @@ -39,12 +40,12 @@ TostIndexedObjectFormat >> buildIndexesFor: anArray [ objects withIndexDo: [ :each :i | indexes at: each put: i ] ] -{ #category : #accessing } +{ #category : 'accessing' } TostIndexedObjectFormat >> objects [ ^objects ] -{ #category : #operations } +{ #category : 'operations' } TostIndexedObjectFormat >> tryWriteObject: anObject with: aTostTransporter [ indexes diff --git a/TostSerializer/TostNewObjectOfDuplicatedClassFormat.class.st b/TostSerializer/TostNewObjectOfDuplicatedClassFormat.class.st index 03f985a..eb73f9e 100644 --- a/TostSerializer/TostNewObjectOfDuplicatedClassFormat.class.st +++ b/TostSerializer/TostNewObjectOfDuplicatedClassFormat.class.st @@ -3,12 +3,13 @@ I am a format which specifies how to encode objects of classes which was already Initialy the class of object is encoded by full name string. But if new instance of object is going to be written I will use original stream position to encode its class instead of a name. " Class { - #name : #TostNewObjectOfDuplicatedClassFormat, - #superclass : #TostStreamlineFormat, - #category : #TostSerializer + #name : 'TostNewObjectOfDuplicatedClassFormat', + #superclass : 'TostStreamlineFormat', + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #operations } +{ #category : 'operations' } TostNewObjectOfDuplicatedClassFormat >> readObjectWith: aTostTransporter [ | classIndex class | classIndex := aTostTransporter readPositiveInteger. @@ -17,7 +18,7 @@ TostNewObjectOfDuplicatedClassFormat >> readObjectWith: aTostTransporter [ ^aTostTransporter readNewObjectOf: class ] -{ #category : #operations } +{ #category : 'operations' } TostNewObjectOfDuplicatedClassFormat >> tryWriteObject: anObject with: aTostTransporter [ | written | diff --git a/TostSerializer/TostNewObjectOfNewClassFormat.class.st b/TostSerializer/TostNewObjectOfNewClassFormat.class.st index 2f3d4ef..3bc1f97 100644 --- a/TostSerializer/TostNewObjectOfNewClassFormat.class.st +++ b/TostSerializer/TostNewObjectOfNewClassFormat.class.st @@ -3,18 +3,19 @@ I am most general object format. I encode objects by writing full class name on stream at begining and the rest of bytes at the end. Rest of bytes are binary representation of object body according to there logic. Objects implement it in method ""writeTostBodyWith: aTostTransporter"" " Class { - #name : #TostNewObjectOfNewClassFormat, - #superclass : #TostFormat, - #category : #TostSerializer + #name : 'TostNewObjectOfNewClassFormat', + #superclass : 'TostFormat', + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #operations } +{ #category : 'operations' } TostNewObjectOfNewClassFormat >> readObjectWith: aTostTransporter [ ^aTostTransporter readNewClassAndObject ] -{ #category : #operations } +{ #category : 'operations' } TostNewObjectOfNewClassFormat >> tryWriteObject: anObject with: aTostTransporter [ aTostTransporter writeObjectClass: anObject class format: id. diff --git a/TostSerializer/TostNewObjectOfWellKnownClassFormat.class.st b/TostSerializer/TostNewObjectOfWellKnownClassFormat.class.st index e62e5df..7e79bea 100644 --- a/TostSerializer/TostNewObjectOfWellKnownClassFormat.class.st +++ b/TostSerializer/TostNewObjectOfWellKnownClassFormat.class.st @@ -8,12 +8,13 @@ For example you could create compact format for nil, true and false: Number of well known classes is restricted to 255 " Class { - #name : #TostNewObjectOfWellKnownClassFormat, - #superclass : #TostIndexedObjectFormat, - #category : 'TostSerializer' + #name : 'TostNewObjectOfWellKnownClassFormat', + #superclass : 'TostIndexedObjectFormat', + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #operations } +{ #category : 'operations' } TostNewObjectOfWellKnownClassFormat >> readObjectWith: aTostTransporter [ | class classIndex | classIndex := aTostTransporter readByte. @@ -22,7 +23,7 @@ TostNewObjectOfWellKnownClassFormat >> readObjectWith: aTostTransporter [ ^aTostTransporter readNewObjectOf: class ] -{ #category : #operations } +{ #category : 'operations' } TostNewObjectOfWellKnownClassFormat >> tryWriteObject: anObject with: aTostTransporter [ | written | diff --git a/TostSerializer/TostObjectDynamicSubstitutionFormat.class.st b/TostSerializer/TostObjectDynamicSubstitutionFormat.class.st index 38e36c1..99e44e6 100644 --- a/TostSerializer/TostObjectDynamicSubstitutionFormat.class.st +++ b/TostSerializer/TostObjectDynamicSubstitutionFormat.class.st @@ -11,43 +11,44 @@ Internal Representation and Key Implementation Points. substitutionBlock: " Class { - #name : #TostObjectDynamicSubstitutionFormat, - #superclass : #TostObjectSubstitutionFormat, + #name : 'TostObjectDynamicSubstitutionFormat', + #superclass : 'TostObjectSubstitutionFormat', #instVars : [ 'substitutionBlock', 'conditionBlock' ], - #category : 'TostSerializer' + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } TostObjectDynamicSubstitutionFormat class >> for: conditionBlock by: substitutionBlock [ ^self new conditionBlock: conditionBlock; substitutionBlock: substitutionBlock ] -{ #category : #accessing } +{ #category : 'accessing' } TostObjectDynamicSubstitutionFormat >> conditionBlock [ ^ conditionBlock ] -{ #category : #accessing } +{ #category : 'accessing' } TostObjectDynamicSubstitutionFormat >> conditionBlock: anObject [ conditionBlock := anObject ] -{ #category : #accessing } +{ #category : 'accessing' } TostObjectDynamicSubstitutionFormat >> substitutionBlock [ ^ substitutionBlock ] -{ #category : #accessing } +{ #category : 'accessing' } TostObjectDynamicSubstitutionFormat >> substitutionBlock: anObject [ substitutionBlock := anObject ] -{ #category : #operations } +{ #category : 'operations' } TostObjectDynamicSubstitutionFormat >> tryWriteObject: anObject with: aTostTransporter [ | substitution | (conditionBlock value: anObject) ifFalse: [ ^false ]. diff --git a/TostSerializer/TostObjectStaticSubstitutionFormat.class.st b/TostSerializer/TostObjectStaticSubstitutionFormat.class.st index a3cb76a..449b092 100644 --- a/TostSerializer/TostObjectStaticSubstitutionFormat.class.st +++ b/TostSerializer/TostObjectStaticSubstitutionFormat.class.st @@ -10,31 +10,32 @@ Internal Representation and Key Implementation Points. substitutions: " Class { - #name : #TostObjectStaticSubstitutionFormat, - #superclass : #TostObjectSubstitutionFormat, + #name : 'TostObjectStaticSubstitutionFormat', + #superclass : 'TostObjectSubstitutionFormat', #instVars : [ 'substitutions' ], - #category : 'TostSerializer' + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #'as yet unclassified' } +{ #category : 'as yet unclassified' } TostObjectStaticSubstitutionFormat class >> substitutions: aDictionary [ ^self new substitutions: (aDictionary as: IdentityDictionary) ] -{ #category : #accessing } +{ #category : 'accessing' } TostObjectStaticSubstitutionFormat >> substitutions [ ^ substitutions ] -{ #category : #accessing } +{ #category : 'accessing' } TostObjectStaticSubstitutionFormat >> substitutions: anObject [ substitutions := anObject ] -{ #category : #operations } +{ #category : 'operations' } TostObjectStaticSubstitutionFormat >> tryWriteObject: anObject with: aTostTransporter [ | substitution | substitution := substitutions at: anObject ifAbsent: [ ^false ]. diff --git a/TostSerializer/TostObjectSubstitutionFormat.class.st b/TostSerializer/TostObjectSubstitutionFormat.class.st index 7582235..ddbfdef 100644 --- a/TostSerializer/TostObjectSubstitutionFormat.class.st +++ b/TostSerializer/TostObjectSubstitutionFormat.class.st @@ -12,12 +12,13 @@ According to this I implement general reading methods which are same for any my Reading just reads the next object from the stream but then it commands the transporter to change the traversal direction according to the serialization logic " Class { - #name : #TostObjectSubstitutionFormat, - #superclass : #TostFormat, - #category : #TostSerializer + #name : 'TostObjectSubstitutionFormat', + #superclass : 'TostFormat', + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #operations } +{ #category : 'operations' } TostObjectSubstitutionFormat >> readObjectWith: aTostTransporter [ | object | object := aTostTransporter readObject. diff --git a/TostSerializer/TostStreamlineFormat.class.st b/TostSerializer/TostStreamlineFormat.class.st index 3521f9c..29c1139 100644 --- a/TostSerializer/TostStreamlineFormat.class.st +++ b/TostSerializer/TostStreamlineFormat.class.st @@ -3,7 +3,8 @@ I am a root of formats hierarchy which encode objects which are already written My subclasses use a stream position of original objects for encoding and decoding. " Class { - #name : #TostStreamlineFormat, - #superclass : #TostFormat, - #category : #TostSerializer + #name : 'TostStreamlineFormat', + #superclass : 'TostFormat', + #category : 'TostSerializer', + #package : 'TostSerializer' } diff --git a/TostSerializer/TostTransport.class.st b/TostSerializer/TostTransport.class.st index f262f28..367e839 100644 --- a/TostSerializer/TostTransport.class.st +++ b/TostSerializer/TostTransport.class.st @@ -55,26 +55,27 @@ Internal Representation and Key Implementation Points. formats: > " Class { - #name : #TostTransport, - #superclass : #Object, + #name : 'TostTransport', + #superclass : 'Object', #instVars : [ 'formats' ], - #category : #TostSerializer + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } TostTransport class >> formats: formatsArray [ ^self new formats: formatsArray ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransport >> addFirstFormat: aTostBinaryFormat [ self formats: { aTostBinaryFormat }, formats ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransport >> addFormat: aTostBinaryFormat before: formatClass [ | existingFormatIndex newFormats | existingFormatIndex := self formatIdFor: formatClass. @@ -85,7 +86,7 @@ TostTransport >> addFormat: aTostBinaryFormat before: formatClass [ self formats: newFormats asArray ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransport >> formatIdFor: aTostFormatClass [ formats doWithIndex: [ :each :id | @@ -94,29 +95,29 @@ TostTransport >> formatIdFor: aTostFormatClass [ self error: 'Format is not defined' ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransport >> formats [ ^ formats ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransport >> formats: formatsArray [ formatsArray doWithIndex: [ :each :index | each id: index ]. self preparedFormats: formatsArray ] -{ #category : #api } +{ #category : 'api' } TostTransport >> newTransporterOn: transportStream [ ^TostTransporter using: self on: transportStream ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransport >> preparedFormats: formatsArray [ formats := formatsArray ] -{ #category : #operations } +{ #category : 'operations' } TostTransport >> readObjectWith: aTostTransporter [ | objectFormatType currentFormat | @@ -127,7 +128,7 @@ TostTransport >> readObjectWith: aTostTransporter [ ^currentFormat readObjectWith: aTostTransporter ] -{ #category : #api } +{ #category : 'api' } TostTransport >> receiveObjectFrom: transportStream [ | transporter | @@ -135,7 +136,7 @@ TostTransport >> receiveObjectFrom: transportStream [ ^transporter materializeObject ] -{ #category : #api } +{ #category : 'api' } TostTransport >> sendObject: anObject to: transportStream [ | transporter | @@ -143,7 +144,7 @@ TostTransport >> sendObject: anObject to: transportStream [ transporter serializeObject: anObject ] -{ #category : #operations } +{ #category : 'operations' } TostTransport >> writeObject: anObject with: aTostTransporter [ | success | formats do: [ :each | diff --git a/TostSerializer/TostTransporter.class.st b/TostSerializer/TostTransporter.class.st index 4e8d6d8..8ec55bc 100644 --- a/TostSerializer/TostTransporter.class.st +++ b/TostSerializer/TostTransporter.class.st @@ -47,8 +47,8 @@ Internal Representation and Key Implementation Points. " Class { - #name : #TostTransporter, - #superclass : #Object, + #name : 'TostTransporter', + #superclass : 'Object', #instVars : [ 'transportStream', 'traveler', @@ -58,22 +58,23 @@ Class { 'finalMaterializationActions', 'transport' ], - #category : #TostSerializer + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } TostTransporter class >> using: aTostTransport on: transportStream [ ^self new transport: aTostTransport; transportStream: transportStream ] -{ #category : #controlling } +{ #category : 'controlling' } TostTransporter >> atNextStepProcess: anObject [ traveler atNextStepVisit: anObject ] -{ #category : #'reading-objects' } +{ #category : 'reading-objects' } TostTransporter >> completeMaterializationOf: anObject [ | action | finalMaterializationActions isEmptyOrNil ifTrue: [ ^self ]. "For optimization we never initialize post actions with empty array because in many cases post processing is not required" @@ -82,7 +83,7 @@ TostTransporter >> completeMaterializationOf: anObject [ action value ] -{ #category : #initialization } +{ #category : 'initialization' } TostTransporter >> initialize [ super initialize. @@ -90,7 +91,7 @@ TostTransporter >> initialize [ processedClasses := IdentityDictionary new. ] -{ #category : #api } +{ #category : 'api' } TostTransporter >> materializeObject [ | newObject object | traveler := ObjectTraveler new. @@ -112,27 +113,27 @@ TostTransporter >> materializeObject [ ^object ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> objectIndex [ ^ objectIndex ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> objectIndex: anObject [ objectIndex := anObject ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> processedClassAt: index [ ^processedClasses at: index ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> processedObjectAt: index [ ^processedObjects at: index ] -{ #category : #testing } +{ #category : 'testing' } TostTransporter >> processesObject: anObject asNodeAt: pathNodesIndex [ | actualNode | @@ -140,19 +141,19 @@ TostTransporter >> processesObject: anObject asNodeAt: pathNodesIndex [ ^anObject == actualNode ] -{ #category : #'reading-primitive data' } +{ #category : 'reading-primitive data' } TostTransporter >> readByte [ ^transportStream next ] -{ #category : #'reading-primitive data' } +{ #category : 'reading-primitive data' } TostTransporter >> readBytes: count [ ^transportStream next: count. ] -{ #category : #'reading-primitive data' } +{ #category : 'reading-primitive data' } TostTransporter >> readBytes: count as: aByteArrayClass [ | bytes | bytes := self readBytes: count. @@ -163,7 +164,7 @@ TostTransporter >> readBytes: count as: aByteArrayClass [ ^bytes ] -{ #category : #'reading-primitive data' } +{ #category : 'reading-primitive data' } TostTransporter >> readInteger [ | bytesSize bytes signByte | @@ -173,7 +174,7 @@ TostTransporter >> readInteger [ ^signByte = 0 ifTrue: [bytes asInteger] ifFalse: [ bytes asInteger negated ] ] -{ #category : #'reading-objects' } +{ #category : 'reading-objects' } TostTransporter >> readNewClassAndObject [ | className class | @@ -184,7 +185,7 @@ TostTransporter >> readNewClassAndObject [ ^self readNewObjectOf: class ] -{ #category : #'reading-objects' } +{ #category : 'reading-objects' } TostTransporter >> readNewObjectOf: aClass [ | newObject | @@ -194,19 +195,19 @@ TostTransporter >> readNewObjectOf: aClass [ ^newObject ] -{ #category : #'reading-objects' } +{ #category : 'reading-objects' } TostTransporter >> readNextObject [ objectIndex := transportStream position. ^transport readObjectWith: self ] -{ #category : #'reading-objects' } +{ #category : 'reading-objects' } TostTransporter >> readObject [ ^transport readObjectWith: self ] -{ #category : #'reading-primitive data' } +{ #category : 'reading-primitive data' } TostTransporter >> readPositiveInteger [ | bytesSize bytes | @@ -215,7 +216,7 @@ TostTransporter >> readPositiveInteger [ ^bytes asInteger ] -{ #category : #'reading-primitive data' } +{ #category : 'reading-primitive data' } TostTransporter >> readString: stringClass [ | bytesSize bytes | @@ -224,7 +225,7 @@ TostTransporter >> readString: stringClass [ ^stringClass fromByteArray: bytes ] -{ #category : #api } +{ #category : 'api' } TostTransporter >> serializeObject: anObject [ traveler := ObjectTraveler new. @@ -239,42 +240,42 @@ TostTransporter >> serializeObject: anObject [ self writeNextObject: each ] ] -{ #category : #controlling } +{ #category : 'controlling' } TostTransporter >> skip: anObject [ traveler skip: anObject ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> transport [ ^ transport ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> transport: anObject [ transport := anObject ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> transportStream [ ^ transportStream ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> transportStream: anObject [ transportStream := anObject ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> traveler [ ^traveler ] -{ #category : #accessing } +{ #category : 'accessing' } TostTransporter >> traveler: anObject [ traveler := anObject ] -{ #category : #controlling } +{ #category : 'controlling' } TostTransporter >> whenMaterializationDoneFor: anObject do: actionBlock [ "When anObject created from stream it can require post processing action. I execute them when traveler left given object @@ -284,19 +285,19 @@ TostTransporter >> whenMaterializationDoneFor: anObject do: actionBlock [ finalMaterializationActions at: anObject put: actionBlock ] -{ #category : #'writing-primitive data' } +{ #category : 'writing-primitive data' } TostTransporter >> writeByte: aByte [ transportStream nextPut: aByte ] -{ #category : #'writing-primitive data' } +{ #category : 'writing-primitive data' } TostTransporter >> writeBytes: aByteArray [ transportStream nextPutAll: aByteArray ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeDuplicatedClass: aClass format: formatId [ processedClasses @@ -308,7 +309,7 @@ TostTransporter >> writeDuplicatedClass: aClass format: formatId [ ^false ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeDuplicatedObject: anObject format: formatId [ anObject isTostValueObject ifTrue: [ ^false ]. @@ -322,7 +323,7 @@ TostTransporter >> writeDuplicatedObject: anObject format: formatId [ ^false ] -{ #category : #'writing-primitive data' } +{ #category : 'writing-primitive data' } TostTransporter >> writeInteger: anInteger [ | bytesSize | bytesSize := anInteger bytesCount. @@ -332,19 +333,19 @@ TostTransporter >> writeInteger: anInteger [ bytesSize to: 1 by: -1 do: [ :i | transportStream nextPut: (anInteger byteAt: i) ] ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeNextObject: anObject [ objectIndex := transportStream position. self writeObject: anObject ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeObject: anObject [ ^transport writeObject: anObject with: self ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeObjectClass: aClass format: binaryType [ transportStream nextPut: binaryType. @@ -354,14 +355,14 @@ TostTransporter >> writeObjectClass: aClass format: binaryType [ self writeString: aClass name ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeObjectIndex: objectIdInteger format: binaryTypeByte [ transportStream nextPut: binaryTypeByte. self writePositiveInteger: objectIdInteger ] -{ #category : #'writing-primitive data' } +{ #category : 'writing-primitive data' } TostTransporter >> writePositiveInteger: anInteger [ | bytesSize | anInteger < 0 ifTrue: [ self error: 'Given int should be positive' ]. @@ -371,14 +372,14 @@ TostTransporter >> writePositiveInteger: anInteger [ bytesSize to: 1 by: -1 do: [ :i | transportStream nextPut: (anInteger byteAt: i) ] ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeSmallObjectIndex: objectIdByte format: binaryTypeByte [ transportStream nextPut: binaryTypeByte. transportStream nextPut: objectIdByte ] -{ #category : #'writing-primitive data' } +{ #category : 'writing-primitive data' } TostTransporter >> writeString: aString [ | bytes | @@ -387,7 +388,7 @@ TostTransporter >> writeString: aString [ transportStream nextPutAll: bytes ] -{ #category : #'writing-objects' } +{ #category : 'writing-objects' } TostTransporter >> writeSubstitution: substitutionObject for: anObject format: formatId [ self writeByte: formatId. diff --git a/TostSerializer/TostWellKnownObjectFormat.class.st b/TostSerializer/TostWellKnownObjectFormat.class.st index 960b0e6..713faee 100644 --- a/TostSerializer/TostWellKnownObjectFormat.class.st +++ b/TostSerializer/TostWellKnownObjectFormat.class.st @@ -9,20 +9,21 @@ There is similar default instance on class side. Number of well known objects is restricted to 255 " Class { - #name : #TostWellKnownObjectFormat, - #superclass : #TostIndexedObjectFormat, + #name : 'TostWellKnownObjectFormat', + #superclass : 'TostIndexedObjectFormat', #classInstVars : [ 'default' ], - #category : 'TostSerializer' + #category : 'TostSerializer', + #package : 'TostSerializer' } -{ #category : #accessing } +{ #category : 'accessing' } TostWellKnownObjectFormat class >> default [ ^default ifNil: [ default := TostWellKnownObjectFormat on: { nil. true. false. 0. 1 }] ] -{ #category : #operations } +{ #category : 'operations' } TostWellKnownObjectFormat >> readObjectWith: aTostTransporter [ | objectIndex foundObject | objectIndex := aTostTransporter readByte. @@ -31,7 +32,7 @@ TostWellKnownObjectFormat >> readObjectWith: aTostTransporter [ ^foundObject ] -{ #category : #operations } +{ #category : 'operations' } TostWellKnownObjectFormat >> tryWriteObject: anObject with: aTostTransporter [ | written | diff --git a/TostSerializer/True.extension.st b/TostSerializer/True.extension.st index e11d27c..e52786b 100644 --- a/TostSerializer/True.extension.st +++ b/TostSerializer/True.extension.st @@ -1,6 +1,6 @@ -Extension { #name : #True } +Extension { #name : 'True' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } True class >> createTostInstanceWith: aTostTransporter [ ^true diff --git a/TostSerializer/UndefinedObject.extension.st b/TostSerializer/UndefinedObject.extension.st index e2b6084..dce2e96 100644 --- a/TostSerializer/UndefinedObject.extension.st +++ b/TostSerializer/UndefinedObject.extension.st @@ -1,12 +1,12 @@ -Extension { #name : #UndefinedObject } +Extension { #name : 'UndefinedObject' } -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } UndefinedObject class >> createTostInstanceWith: aTostTransporter [ ^nil ] -{ #category : #'*TostSerializer' } +{ #category : '*TostSerializer' } UndefinedObject >> isTostValueObject [ ^true ] diff --git a/TostSerializer/package.st b/TostSerializer/package.st index 06ffd15..b1690af 100644 --- a/TostSerializer/package.st +++ b/TostSerializer/package.st @@ -1 +1 @@ -Package { #name : #TostSerializer } +Package { #name : 'TostSerializer' }