LMAssembly // Again use struct in lieu of class if possible.

This commit is contained in:
ShikiSuen 2022-11-23 23:40:57 +08:00
parent 0fa61f02fb
commit e8bb808836
7 changed files with 33 additions and 30 deletions

View File

@ -56,40 +56,43 @@ extension vChewingLM {
// //
// Reverse // Reverse
// Reverse // Reverse
let lmCore = LMCoreNS( var lmCore = LMCoreNS(
reverse: false, consolidate: false, defaultScore: -9.9, forceDefaultScore: false reverse: false, consolidate: false, defaultScore: -9.9, forceDefaultScore: false
) )
let lmMisc = LMCoreNS( var lmMisc = LMCoreNS(
reverse: true, consolidate: false, defaultScore: -1.0, forceDefaultScore: false reverse: true, consolidate: false, defaultScore: -1.0, forceDefaultScore: false
) )
// //
// 100MB // 100MB
static let lmCNS = vChewingLM.LMCoreNS( static var lmCNS = vChewingLM.LMCoreNS(
reverse: true, consolidate: false, defaultScore: -11.0, forceDefaultScore: false reverse: true, consolidate: false, defaultScore: -11.0, forceDefaultScore: false
) )
static let lmSymbols = vChewingLM.LMCoreNS( static var lmSymbols = vChewingLM.LMCoreNS(
reverse: true, consolidate: false, defaultScore: -13.0, forceDefaultScore: false reverse: true, consolidate: false, defaultScore: -13.0, forceDefaultScore: false
) )
// currentCassetteMetadata // currentCassetteMetadata
static let lmCassette = LMCassette() static var lmCassette = LMCassette()
public var currentCassette: LMCassette { Self.lmCassette } public var currentCassette: LMCassette {
get { Self.lmCassette }
set { Self.lmCassette = newValue }
}
// 使 // 使
// 使使 // 使使
let lmUserPhrases = LMCoreEX( var lmUserPhrases = LMCoreEX(
reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: false reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: false
) )
let lmFiltered = LMCoreEX( var lmFiltered = LMCoreEX(
reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: true reverse: true, consolidate: true, defaultScore: 0, forceDefaultScore: true
) )
let lmUserSymbols = LMCoreEX( var lmUserSymbols = LMCoreEX(
reverse: true, consolidate: true, defaultScore: -12.0, forceDefaultScore: true reverse: true, consolidate: true, defaultScore: -12.0, forceDefaultScore: true
) )
let lmReplacements = LMReplacements() var lmReplacements = LMReplacements()
let lmAssociates = LMAssociates() var lmAssociates = LMAssociates()
let lmPlainBopomofo = LMPlainBopomofo() var lmPlainBopomofo = LMPlainBopomofo()
// MARK: - // MARK: -

View File

@ -12,7 +12,7 @@ import PinyinPhonaConverter
import Shared import Shared
extension vChewingLM { extension vChewingLM {
public class LMAssociates { @frozen public struct LMAssociates {
var rangeMap: [String: [(Range<String.Index>, Int)]] = [:] var rangeMap: [String: [(Range<String.Index>, Int)]] = [:]
var strData: String = "" var strData: String = ""
@ -35,7 +35,7 @@ extension vChewingLM {
return "(\(arrTarget0),\(arrTarget[1]))" return "(\(arrTarget0),\(arrTarget[1]))"
} }
@discardableResult public func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded { return false } if isLoaded { return false }
LMConsolidator.fixEOF(path: path) LMConsolidator.fixEOF(path: path)
@ -65,7 +65,7 @@ extension vChewingLM {
return true return true
} }
public func clear() { public mutating func clear() {
rangeMap.removeAll() rangeMap.removeAll()
} }

View File

@ -14,7 +14,7 @@ import Shared
extension vChewingLM { extension vChewingLM {
/// 便使 /// 便使
public class LMCassette { @frozen public struct LMCassette {
public private(set) var nameShort: String = "" public private(set) var nameShort: String = ""
public private(set) var nameENG: String = "" public private(set) var nameENG: String = ""
public private(set) var nameCJK: String = "" public private(set) var nameCJK: String = ""
@ -65,7 +65,7 @@ extension vChewingLM {
/// ///
/// - Parameter path: /// - Parameter path:
/// - Returns: /// - Returns:
@discardableResult public func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded { return false } if isLoaded { return false }
if FileManager.default.fileExists(atPath: path) { if FileManager.default.fileExists(atPath: path) {
do { do {
@ -156,7 +156,7 @@ extension vChewingLM {
return false return false
} }
public func clear() { public mutating func clear() {
keyNameMap.removeAll() keyNameMap.removeAll()
charDefMap.removeAll() charDefMap.removeAll()
charDefWildcardMap.removeAll() charDefWildcardMap.removeAll()

View File

@ -16,7 +16,7 @@ extension vChewingLM {
/// range strData /// range strData
/// C++ ParselessLM Swift /// C++ ParselessLM Swift
/// For /// For
public class LMCoreEX { @frozen public struct LMCoreEX {
/// 便 strData /// 便 strData
var rangeMap: [String: [Range<String.Index>]] = [:] var rangeMap: [String: [Range<String.Index>]] = [:]
/// ///
@ -56,7 +56,7 @@ extension vChewingLM {
/// ///
/// - parameters: /// - parameters:
/// - path: /// - path:
@discardableResult public func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded { return false } if isLoaded { return false }
if allowConsolidation { if allowConsolidation {
@ -88,7 +88,7 @@ extension vChewingLM {
} }
/// ///
public func clear() { public mutating func clear() {
rangeMap.removeAll() rangeMap.removeAll()
} }

View File

@ -14,7 +14,7 @@ extension vChewingLM {
/// LMCore LMCoreNS plist /// LMCore LMCoreNS plist
/// mac /// mac
/// 使 plist /// 使 plist
public class LMCoreNS { @frozen public struct LMCoreNS {
/// UTF8 /// UTF8
var rangeMap: [String: [Data]] = [:] var rangeMap: [String: [Data]] = [:]
/// LMCoreNS /// LMCoreNS
@ -57,7 +57,7 @@ extension vChewingLM {
/// ///
/// - parameters: /// - parameters:
/// - path: /// - path:
@discardableResult public func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded { return false } if isLoaded { return false }
do { do {
@ -74,7 +74,7 @@ extension vChewingLM {
} }
/// ///
public func clear() { public mutating func clear() {
rangeMap.removeAll() rangeMap.removeAll()
} }

View File

@ -11,7 +11,7 @@ import Foundation
import Shared import Shared
extension vChewingLM { extension vChewingLM {
public class LMPlainBopomofo { @frozen public struct LMPlainBopomofo {
var rangeMap: [String: String] = [:] var rangeMap: [String: String] = [:]
public var count: Int { rangeMap.count } public var count: Int { rangeMap.count }
@ -22,7 +22,7 @@ extension vChewingLM {
public var isLoaded: Bool { !rangeMap.isEmpty } public var isLoaded: Bool { !rangeMap.isEmpty }
@discardableResult public func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded { return false } if isLoaded { return false }
do { do {
@ -39,7 +39,7 @@ extension vChewingLM {
return true return true
} }
public func clear() { public mutating func clear() {
rangeMap.removeAll() rangeMap.removeAll()
} }

View File

@ -10,7 +10,7 @@
import Shared import Shared
extension vChewingLM { extension vChewingLM {
public class LMReplacements { @frozen public struct LMReplacements {
var rangeMap: [String: Range<String.Index>] = [:] var rangeMap: [String: Range<String.Index>] = [:]
var strData: String = "" var strData: String = ""
@ -22,7 +22,7 @@ extension vChewingLM {
public var isLoaded: Bool { !rangeMap.isEmpty } public var isLoaded: Bool { !rangeMap.isEmpty }
@discardableResult public func open(_ path: String) -> Bool { @discardableResult public mutating func open(_ path: String) -> Bool {
if isLoaded { return false } if isLoaded { return false }
LMConsolidator.fixEOF(path: path) LMConsolidator.fixEOF(path: path)
@ -50,7 +50,7 @@ extension vChewingLM {
return true return true
} }
public func clear() { public mutating func clear() {
rangeMap.removeAll() rangeMap.removeAll()
} }