/**
* @file
* This file is about yaml api.
*/
package yaml4cj.yaml
func insertToken(parser: ParserT, pos: Int64, token: TokenT) {
if (parser.tokensHead > 0 && parser.tokens.size == parser.tokens.capacity) {
if (parser.tokensHead != parser.tokens.size) {
copy(parser.tokens, parser.tokens, srcStart: parser.tokensHead)
}
let b = parser.tokens[0..(parser.tokens.size - parser.tokensHead)]
parser.tokens = ArrayList<TokenT>(parser.tokens.capacity)
parser.tokens.add(all: b)
parser.tokensHead = 0
}
parser.tokens.add(token)
if (pos < 0) {
return
}
copy(
parser.tokens,
parser.tokens[(parser.tokensHead + pos)..parser.tokens.size],
dstStart: parser.tokensHead + pos + 1
)
parser.tokens[parser.tokensHead + pos] = token
}
func scalarEventInitialize(
anchor: Array<UInt8>,
tag: Array<UInt8>,
value: Array<UInt8>,
plain_implicit: Bool,
quotedImplicit: Bool,
style: ScalarStyleT
): (EventT, Bool) {
let event = EventT()
event.typ = EventTypeT_SCALAR_EVENT
event.anchor = anchor
event.tag = tag
event.value = value
event.implicit = plain_implicit
event.quotedImplicit = quotedImplicit
event.style = style
(event, true)
}
func mappingStartEventInitialize(
anchor: Array<UInt8>,
tag: Array<UInt8>,
implicit: Bool,
style: MappingStyleT
): EventT {
let event = EventT()
event.typ = EventTypeT_MAPPING_START_EVENT
event.anchor = anchor
event.tag = tag
event.implicit = implicit
event.style = style
event
}
func mappingEndEventInitialize(): EventT {
let event = EventT()
event.typ = EventTypeT_MAPPING_END_EVENT
event
}
func sequenceStartEventInitialize(
anchor: Array<UInt8>,
tag: Array<UInt8>,
implicit: Bool,
style: SequenceStyleT
): (EventT, Bool) {
let event = EventT()
event.typ = EventTypeT_SEQUENCE_START_EVENT
event.anchor = anchor
event.tag = tag
event.implicit = implicit
event.style = style
(event, true)
}
func sequenceEndEventInitialize(): (EventT, Bool) {
let event = EventT()
event.typ = EventTypeT_SEQUENCE_END_EVENT
(event, true)
}
func parserDelete(): ParserT {
ParserT()
}