From 938b633d62a69d47c981a2a5532159c4da392747 Mon Sep 17 00:00:00 2001 From: pavelpozdeev Date: Thu, 30 Jan 2025 14:30:51 +0300 Subject: [PATCH] fixes --- interop/src/cangjie/DeserializerBase.cj | 28 +++++++------- interop/src/cangjie/InteropTypes.cj | 15 +++----- interop/src/cangjie/ResourceManager.cj | 4 +- interop/src/cangjie/SerializerBase.cj | 50 ++++++++++++------------- 4 files changed, 46 insertions(+), 51 deletions(-) diff --git a/interop/src/cangjie/DeserializerBase.cj b/interop/src/cangjie/DeserializerBase.cj index 1eed6b67d..9f62b8a4a 100644 --- a/interop/src/cangjie/DeserializerBase.cj +++ b/interop/src/cangjie/DeserializerBase.cj @@ -33,20 +33,20 @@ public open class DeserializerBase { private var length = 96 private var buffer: Array - init(buffer: Array, length: Int64) { + public init(buffer: Array, length: Int64) { this.buffer = buffer this.length = length } - func asArray(position: Int64, length: Int64): ArrayList { + public func asArray(position: Int64, length: Int64): ArrayList { return ArrayList() } - func currentPosition(): Int64 { + public func currentPosition(): Int64 { return this.position } - func resetCurrentPosition(): Unit { + public func resetCurrentPosition(): Unit { this.position = 0 } @@ -56,42 +56,42 @@ public open class DeserializerBase { } } - func readInt8(): Int8 { + public func readInt8(): Int8 { this.checkCapacity(1) let res = Int8.readLittleEndian(this.buffer[this.position..this.position+1]) this.position += 1 return res } - func readInt32(): Int32 { + public func readInt32(): Int32 { this.checkCapacity(4) let res = Int32.readLittleEndian(this.buffer[this.position..this.position+4]) this.position += 4 return res } - func readInt64(): Int64 { + public func readInt64(): Int64 { this.checkCapacity(8) let res = Int64.readLittleEndian(this.buffer[this.position..this.position+8]) this.position += 8 return res } - func readPointer(): KPointer { + public func readPointer(): KPointer { this.checkCapacity(8) let res = UInt64.readLittleEndian(this.buffer[this.position..this.position+8]) this.position += 8 return res } - func readFloat32(): Float32 { + public func readFloat32(): Float32 { this.checkCapacity(4) let res = Float32.readLittleEndian(this.buffer[this.position..this.position+4]) this.position += 4 return res } - func readBoolean(): Bool { + public func readBoolean(): Bool { let res = Bool.readLittleEndian(this.buffer[this.position..this.position+1]) this.position += 1 return res @@ -102,16 +102,16 @@ public open class DeserializerBase { // return { ptr: ptr } // } - func readString(): String { + public func readString(): String { // TODO return "value" } - func readCustomObject(kind: String): Object{ + public func readCustomObject(kind: String): Object{ throw Exception("readCustomObject") } - func readNumber(): Float64 { + public func readNumber(): Float64 { let tag = this.readInt8() if (tag == Tag.UNDEFINED.value) { throw Exception("Read number can't return undefined.") @@ -124,7 +124,7 @@ public open class DeserializerBase { } } - func readCallbackResource(): CallbackResource { + public func readCallbackResource(): CallbackResource { return CallbackResource(this.readInt32(), this.readPointer(), this.readPointer()) } } diff --git a/interop/src/cangjie/InteropTypes.cj b/interop/src/cangjie/InteropTypes.cj index 7d1978584..a4679b852 100644 --- a/interop/src/cangjie/InteropTypes.cj +++ b/interop/src/cangjie/InteropTypes.cj @@ -16,13 +16,8 @@ package Interop import std.collection.* -type KPointer = UInt64 -type pointer = KPointer -type KInt = Int32 -type KStringPtr = String -type ArrayBuffer = ArrayList -type Callback_RangeUpdate = (index: Int32, mark: pointer, end: Int32) -> Unit -type Callback_String_Void = (str: String) -> Unit -type Callback_Extender_OnProgress = (value: Float32) -> Unit -type Callback_Extender_OnFinish = () -> pointer -type Callback_Extender_OnAnimation = () -> UInt8 \ No newline at end of file +public type KPointer = UInt64 +public type pointer = KPointer +public type KInt = Int32 +public type KStringPtr = String +public type ArrayBuffer = ArrayList \ No newline at end of file diff --git a/interop/src/cangjie/ResourceManager.cj b/interop/src/cangjie/ResourceManager.cj index 12e0af751..666f8564d 100644 --- a/interop/src/cangjie/ResourceManager.cj +++ b/interop/src/cangjie/ResourceManager.cj @@ -18,7 +18,7 @@ import std.binary.* import std.math.* import std.collection.* -type ResourceId = Int32 +public type ResourceId = Int32 class ResourceInfo { public var resource: Any @@ -33,7 +33,7 @@ public class ResourceHolder { private static var nextResourceId: ResourceId = 100 private var resources: HashMap = HashMap() private static var _instance: ?ResourceHolder = Option.None - static func instance(): ResourceHolder { + public static func instance(): ResourceHolder { ResourceHolder._instance = match (ResourceHolder._instance) { case Some(resourceHolder) => resourceHolder case _ => ResourceHolder() diff --git a/interop/src/cangjie/SerializerBase.cj b/interop/src/cangjie/SerializerBase.cj index 683dcfcc8..c75f66d0b 100644 --- a/interop/src/cangjie/SerializerBase.cj +++ b/interop/src/cangjie/SerializerBase.cj @@ -31,7 +31,7 @@ public enum RuntimeType { |FUNCTION |SYMBOL |MATERIALIZED - prop ordinal: Int32 { + public prop ordinal: Int32 { get() { match (this) { case UNEXPECTED => -1 @@ -71,7 +71,7 @@ public open class SerializerBase { //TODO } - init() { + public init() { this.buffer = ArrayList(Array(96, repeat: UInt8(0))) } public open func release() { @@ -79,13 +79,13 @@ public open class SerializerBase { // todo handle release resources this.position = 0 } - func asArray(): ArrayList { + public func asArray(): ArrayList { return this.buffer } - func length(): Int32 { + public func length(): Int32 { return Int32(this.position) } - func currentPosition(): Int64 { return this.position } + public func currentPosition(): Int64 { return this.position } private func checkCapacity(value: Int64) { if (value < 1) { throw Exception("${value} is less than 1") @@ -101,14 +101,14 @@ public open class SerializerBase { this.buffer = resizedBuffer } } - func writeCustomObject(kind: String, value: Any): Unit { + public func writeCustomObject(kind: String, value: Any): Unit { var current = SerializerBase.customSerializers // TODO println("Unsupported custom serialization for ${kind}, write undefined") this.writeInt8(Tag.UNDEFINED.value) } private var heldResources: ArrayList = ArrayList() - func holdAndWriteCallback(callback: Any): ResourceId { + public func holdAndWriteCallback(callback: Any): ResourceId { let resourceId = ResourceHolder.instance().registerAndHold(callback) this.heldResources.append(resourceId) this.writeInt32(resourceId) @@ -118,7 +118,7 @@ public open class SerializerBase { this.writePointer(0) return resourceId } - func holdAndWriteCallback(callback: Any, hold: KPointer, release: KPointer, call: KPointer, callSync: KPointer): ResourceId { + public func holdAndWriteCallback(callback: Any, hold: KPointer, release: KPointer, call: KPointer, callSync: KPointer): ResourceId { let resourceId = ResourceHolder.instance().registerAndHold(callback) this.heldResources.append(resourceId) this.writeInt32(resourceId) @@ -128,7 +128,7 @@ public open class SerializerBase { this.writePointer(callSync) return resourceId } - func writeFunction(value: Any): Unit { + public func writeFunction(value: Any): Unit { // TODO } private func setBytes(position: Int64, value: T): Unit where T <: LittleEndianOrder{ @@ -140,10 +140,10 @@ public open class SerializerBase { } this.position += n } - func writeTag(tag: Int32): Unit { + public func writeTag(tag: Int32): Unit { this.setBytes(this.position, tag) } - func writeNumber(value: ?Float32): Unit { + public func writeNumber(value: ?Float32): Unit { if (let Some(value) <- value) { if(value == Float32(Int32(value))) { this.writeNumber(Int32(value)) @@ -157,7 +157,7 @@ public open class SerializerBase { this.position++ } } - func writeNumber(value: ?Float64): Unit { + public func writeNumber(value: ?Float64): Unit { if (let Some(value) <- value) { if(value == Float64(Int32(value))) { this.writeNumber(Int32(value)) @@ -171,7 +171,7 @@ public open class SerializerBase { this.position++ } } - func writeNumber(value: ?Int32): Unit { + public func writeNumber(value: ?Int32): Unit { if (let Some(value) <- value) { this.setBytes(this.position, Tag.INT32.value) this.setBytes(this.position, value) @@ -181,7 +181,7 @@ public open class SerializerBase { this.position++ } } - func writeNumber(value: ?Int64): Unit { + public func writeNumber(value: ?Int64): Unit { if (let Some(value) <- value) { this.setBytes(this.position, Tag.INT32.value) this.setBytes(this.position, Int32(value)) @@ -191,25 +191,25 @@ public open class SerializerBase { this.position++ } } - func writeInt8(value: Int8): Unit { + public func writeInt8(value: Int8): Unit { this.setBytes(this.position, value) } - func writeInt8(value: Int32): Unit { + public func writeInt8(value: Int32): Unit { this.setBytes(this.position, Int8(value)) } - func writeInt32(value: Int32): Unit { + public func writeInt32(value: Int32): Unit { this.setBytes(this.position, Int32(value)) } - func writeInt64(value: Int64): Unit { + public func writeInt64(value: Int64): Unit { this.setBytes(this.position, Int64(value)) } - func writeFloat32(value: Float32): Unit { + public func writeFloat32(value: Float32): Unit { this.setBytes(this.position, value) } - func writePointer(ptr: UInt64): Unit { + public func writePointer(ptr: UInt64): Unit { this.setBytes(this.position, ptr) } - func writeBoolean(value: ?Bool): Unit { + public func writeBoolean(value: ?Bool): Unit { this.checkCapacity(1) if(let Some(value) <- value) { this.setBytes(this.position, value) @@ -219,10 +219,10 @@ public open class SerializerBase { this.position++ } } - func writeMaterialized(value: Object): Unit { + public func writeMaterialized(value: Object): Unit { // TODO } - func writeString(value: String): Unit { + public func writeString(value: String): Unit { this.checkCapacity(4 + value.size * 4 + 1) // length, data this.writeInt32(Int32(value.size + 1)) for (i in 0..value.size) { @@ -230,7 +230,7 @@ public open class SerializerBase { } this.writeInt8(Int8(0)) } - func writeBuffer(value: ArrayList) { + public func writeBuffer(value: ArrayList) { // TODO // this.writePointer(42) // this.writeInt64(value.size) @@ -246,7 +246,7 @@ public open class DateCustomSerializer <: CustomSerializer { } } -public open class Ark_CustomObject <: Ark_ObjectBase { +public open class Ark_CustomObject { init() { SerializerBase.registerCustomSerializer(DateCustomSerializer()) } -- Gitee