net.akehurst.language-agl-processor
Version:
2,283 lines • 82.1 kB
JavaScript
import {
initMetadataForObject1cxne3s9w65el as initMetadataForObject,
Unit_instance104q5opgivhr8 as Unit_instance,
ArrayList3it5z8td81qkl as ArrayList,
collectionSizeOrDefault36dulx8yinfqm as collectionSizeOrDefault,
LinkedHashMap1zhqxkxv3xnkl as LinkedHashMap,
ensureNotNull1e947j3ixpazm as ensureNotNull,
plus310ted5e4i90h as plus,
plus20p0vtfmu0596 as plus_0,
listOfvhqybd2zx248 as listOf,
initMetadataForClassbxx6q50dy2s7 as initMetadataForClass,
initMetadataForCompanion1wyw17z38v6ac as initMetadataForCompanion,
VOID7hggqo3abtya as VOID,
IllegalStateExceptionkoljg5n0nrlr as IllegalStateException,
toString1pkumu07cwy4m as toString,
charSequenceLength3278n89t01tmv as charSequenceLength,
charSequenceGet1vxk1y5n17t1z as charSequenceGet,
_Char___init__impl__6a9atx281r2pd9o601g as _Char___init__impl__6a9atx,
noWhenBranchMatchedException2a6r7ubxgky5j as noWhenBranchMatchedException,
copyToArray2j022khrow2yi as copyToArray,
charSequenceSubSequence1iwpdba8s3jc7 as charSequenceSubSequence,
protoOf180f3jzyo7rfj as protoOf,
Enum3alwj03lh1n41 as Enum,
Paire9pteg33gng7 as Pair,
StringBuildermazzzhj6kkai as StringBuilder,
toIntOrNull1j8dcc6to13o4 as toIntOrNull,
NotImplementedErrorfzlkpv14xxr8 as NotImplementedError,
THROW_CCE2g6jy02ryeudk as THROW_CCE,
isCharSequence1ju9jr1w86plq as isCharSequence,
toString35i91qxh73cps as toString_0,
numberToChar93r9buh19yek as numberToChar,
Char__rangeTo_impl_tkncvp940rgm6i9zbm as Char__rangeTo_impl_tkncvp,
plus39kp8wyage607 as plus_1,
Char19o2r8palgjof as Char,
listOf1jh22dvmctj1r as listOf_0,
toMutableList20rdgwi7d3cwi as toMutableList,
removeAll1oodkx28jk9ud as removeAll,
first58ocm7j58k3q as first,
emptyList1g2z5xcrvp2zy as emptyList,
addAll1k27qatfgp3k5 as addAll,
toList3jhuyej2anx2q as toList,
Collection1k04j3hzsbod0 as Collection,
isInterface3d6p8outrmvmk as isInterface,
first1vi3grnpj1175 as first_0,
firstOrNull1982767dljvdy as firstOrNull,
joinToString1cxrrlmo0chqs as joinToString,
defineProp3hxgpk2knu2px as defineProp,
joinToStringxqcavsxcmh4q as joinToString_0,
equals2au1ep9vhcato as equals,
throwUninitializedPropertyAccessExceptionyynx7gkm73wd as throwUninitializedPropertyAccessException,
THROW_IAE23kobfj9wdoxr as THROW_IAE,
getStringHashCode26igk1bx568vk as getStringHashCode,
initMetadataForInterface1egvbzx539z91 as initMetadataForInterface,
hashCodeq5arwsb9dgti as hashCode,
Regexxgw0gjiagf4z as Regex,
} from './kotlin-kotlin-stdlib.mjs';
import { MutableStack2yps18c21tyxt as MutableStack } from './net.akehurst.language-collections.mjs';
//region block: imports
var imul = Math.imul;
//endregion
//region block: pre-declaration
class BuildConfig_0 {
constructor() {
this.version = '4.2.1.21';
this.buildStamp = '2025-06-13T13:57:23.749867Z[UTC]';
this.buildDate = '2025-Jun-13';
this.buildTime = '13:57:23 UTC';
}
ml() {
return this.version;
}
nl() {
return this.buildStamp;
}
ol() {
return this.buildDate;
}
pl() {
return this.buildTime;
}
}
class RegexMatcherBuilder {
constructor(pattern) {
this.ql_1 = pattern;
var tmp = this;
// Inline function 'kotlin.collections.mutableListOf' call
tmp.rl_1 = ArrayList.y();
this.sl_1 = 0;
this.tl_1 = new MutableStack();
this.ul_1 = Companion_getInstance().am_1;
}
yl(orig, nullTransitions, map) {
var clone = new Transition(orig.bm_1, orig.cm_1);
clone.dm_1 = cloneState(this, orig.dm_1, nullTransitions, map);
if (null == clone.dm_1) {
nullTransitions.r(clone);
}
return clone;
}
gm(orig) {
// Inline function 'kotlin.collections.mutableListOf' call
var coutgoing = ArrayList.y();
// Inline function 'kotlin.collections.mutableMapOf' call
var tmp$ret$1 = LinkedHashMap.l4();
var cstart = ensureNotNull(cloneState(this, orig.hm_1, coutgoing, tmp$ret$1));
return new Fragment(cstart, coutgoing);
}
jm() {
var state = createState(this, false);
var trans = new Transition(TransitionKind_MATCHER_getInstance(), Companion_getInstance_2().lm_1);
state.xl_1.r(trans);
var frag = new Fragment(state, state.xl_1);
this.tl_1.nk(frag);
}
nm() {
var state = createState(this, false);
var trans = new Transition(TransitionKind_MATCHER_getInstance(), Companion_getInstance_2().mm_1);
state.xl_1.r(trans);
var frag = new Fragment(state, state.xl_1);
this.tl_1.nk(frag);
}
om(value) {
var state = createState(this, false);
var trans = new Transition(TransitionKind_MATCHER_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), value));
state.xl_1.r(trans);
var frag = new Fragment(state, state.xl_1);
this.tl_1.nk(frag);
}
pm(matcher) {
var state = createState(this, false);
var trans = new Transition(TransitionKind_MATCHER_getInstance(), matcher);
state.xl_1.r(trans);
var frag = new Fragment(state, state.xl_1);
this.tl_1.nk(frag);
}
qm() {
switch (this.tl_1.v()) {
case 0:
break;
case 1:
break;
default:
var f2 = this.tl_1.rk();
var f1 = this.tl_1.rk();
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s = f1.im_1.s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
element.dm_1 = f2.hm_1;
}
var frag = new Fragment(f1.hm_1, f2.im_1);
this.tl_1.nk(frag);
break;
}
}
rm() {
var f2 = this.tl_1.rk();
var f1 = this.tl_1.rk();
var split = createState(this, true);
var t1 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
t1.dm_1 = f1.hm_1;
var t2 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
t2.dm_1 = f2.hm_1;
split.xl_1.r(t1);
split.xl_1.r(t2);
var frag = new Fragment(split, plus(f1.im_1, f2.im_1));
this.tl_1.nk(frag);
}
sm() {
var f1 = this.tl_1.rk();
var split = createState(this, true);
var t1 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
t1.dm_1 = f1.hm_1;
var t2 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
split.xl_1.r(t1);
split.xl_1.r(t2);
var frag = new Fragment(split, plus_0(f1.im_1, t2));
this.tl_1.nk(frag);
}
tm() {
var f1 = this.tl_1.rk();
var split = createState(this, true);
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s = f1.im_1.s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
element.dm_1 = split;
}
var t1 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
t1.dm_1 = f1.hm_1;
var t2 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
split.xl_1.r(t1);
split.xl_1.r(t2);
var frag = new Fragment(f1.hm_1, listOf(t2));
this.tl_1.nk(frag);
}
um() {
var f1 = this.tl_1.rk();
var split = createState(this, true);
var t1 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
t1.dm_1 = f1.hm_1;
var t2 = new Transition(TransitionKind_EMPTY_getInstance(), Companion_getInstance_2().km_1);
split.xl_1.r(t1);
split.xl_1.r(t2);
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s = f1.im_1.s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
element.dm_1 = split;
}
var frag = new Fragment(split, listOf(t2));
this.tl_1.nk(frag);
}
vm(n, m) {
var repFrag = this.tl_1.rk();
// Inline function 'kotlin.collections.mutableListOf' call
var nRepetitions = ArrayList.y();
var inductionVariable = 0;
if (inductionVariable < n)
do {
var r = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
var nextFrag = this.gm(repFrag);
nRepetitions.r(nextFrag);
}
while (inductionVariable < n);
// Inline function 'kotlin.collections.mutableListOf' call
var mRepetitions = ArrayList.y();
if (-1 === m) {
mRepetitions.r(this.gm(repFrag));
} else {
var inductionVariable_0 = n;
if (inductionVariable_0 < m)
do {
var r_0 = inductionVariable_0;
inductionVariable_0 = inductionVariable_0 + 1 | 0;
var nextFrag_0 = this.gm(repFrag);
mRepetitions.r(nextFrag_0);
}
while (inductionVariable_0 < m);
}
var needConcat = false;
var inductionVariable_1 = 0;
if (inductionVariable_1 < n)
do {
var r_1 = inductionVariable_1;
inductionVariable_1 = inductionVariable_1 + 1 | 0;
var nextFrag_1 = nRepetitions.z(r_1);
this.tl_1.nk(nextFrag_1);
if (needConcat) {
this.qm();
} else {
needConcat = true;
}
}
while (inductionVariable_1 < n);
if (-1 === m) {
this.tl_1.nk(mRepetitions.z(0));
this.um();
if (needConcat) {
this.qm();
} else {
needConcat = true;
}
} else {
var inductionVariable_2 = n;
if (inductionVariable_2 < m)
do {
var r_2 = inductionVariable_2;
inductionVariable_2 = inductionVariable_2 + 1 | 0;
var nextFrag_2 = mRepetitions.z(r_2 - n | 0);
this.tl_1.nk(nextFrag_2);
this.sm();
if (needConcat) {
this.qm();
} else {
needConcat = true;
}
}
while (inductionVariable_2 < m);
}
}
wm() {
return new RegexMatcherImpl(this.ql_1, this.ul_1, this.rl_1);
}
xm() {
if (!this.tl_1.mk()) {
var f1 = this.tl_1.rk();
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s = f1.im_1.s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
element.dm_1 = Companion_getInstance().zl_1;
}
this.ul_1 = f1.hm_1;
}
}
}
class Companion {
constructor() {
Companion_instance = this;
this.zl_1 = new State(-1, false);
this.am_1 = new State(-2, false);
}
}
class RegexMatcher {}
function match(text, startPosition, $super) {
startPosition = startPosition === VOID ? 0 : startPosition;
return $super === VOID ? this.rn(text, startPosition) : $super.rn.call(this, text, startPosition);
}
class RegexMatcherImpl {
constructor(pattern, start, nfa) {
Companion_getInstance();
this.jn_1 = pattern;
this.kn_1 = start;
this.ln_1 = nfa;
// Inline function 'kotlin.collections.mutableListOf' call
var ns = ArrayList.y();
addNextStates(ns, this.kn_1);
var tmp = this;
// Inline function 'kotlin.collections.toTypedArray' call
tmp.mn_1 = copyToArray(ns);
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s = this.ln_1.s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s_0 = element.xl_1.s();
while (_iterator__ex2g4s_0.t()) {
var element_0 = _iterator__ex2g4s_0.u();
element_0.qn();
}
}
this.nn_1 = ArrayList.w(10);
this.on_1 = ArrayList.w(10);
this.pn_1 = ArrayList.w(10);
}
matchAt(text, atPosition) {
return this.match(text, atPosition);
}
matchesAt(text, atPosition) {
return !(null == this.match(text, atPosition));
}
rn(text, startPosition) {
var pos = startPosition;
this.nn_1.n2();
this.on_1.n2();
this.pn_1.n2();
this.nn_1.r(this.mn_1);
var tmp0 = this.nn_1.z(0);
var tmp$ret$1;
$l$block: {
// Inline function 'kotlin.collections.any' call
var inductionVariable = 0;
var last = tmp0.length;
while (inductionVariable < last) {
var element = tmp0[inductionVariable];
inductionVariable = inductionVariable + 1 | 0;
if (element.sn()) {
tmp$ret$1 = true;
break $l$block;
}
}
tmp$ret$1 = false;
}
var matchesEmpty = tmp$ret$1;
var maxMatchedPos = -1;
$l$loop: while (true) {
var tmp;
// Inline function 'kotlin.collections.isNotEmpty' call
if (!this.nn_1.a1()) {
tmp = pos < charSequenceLength(text);
} else {
tmp = false;
}
if (!tmp) {
break $l$loop;
}
if (charSequenceGet(text, pos) === _Char___init__impl__6a9atx(10)) {
this.pn_1.r(pos);
}
var inductionVariable_0 = 0;
var last_0 = this.nn_1.v();
if (inductionVariable_0 < last_0)
do {
var ss = inductionVariable_0;
inductionVariable_0 = inductionVariable_0 + 1 | 0;
var states = this.nn_1.z(ss);
var inductionVariable_1 = 0;
var last_1 = states.length;
if (inductionVariable_1 < last_1)
do {
var s = inductionVariable_1;
inductionVariable_1 = inductionVariable_1 + 1 | 0;
var state = states[s];
var outgoing = state.xl_1;
var inductionVariable_2 = 0;
var last_2 = outgoing.v();
if (inductionVariable_2 < last_2)
do {
var t = inductionVariable_2;
inductionVariable_2 = inductionVariable_2 + 1 | 0;
var trans = outgoing.z(t);
if (matches(this, trans.cm_1, text, pos)) {
this.on_1.r(trans.tn());
if (trans.fm_1) {
var tmp3 = maxMatchedPos;
// Inline function 'kotlin.comparisons.maxOf' call
var b = pos;
maxMatchedPos = Math.max(tmp3, b);
}
}
}
while (inductionVariable_2 < last_2);
}
while (inductionVariable_1 < last_1);
}
while (inductionVariable_0 < last_0);
var t_0 = this.nn_1;
this.nn_1 = this.on_1;
this.on_1 = t_0;
this.on_1.n2();
pos = pos + 1 | 0;
}
var tmp_0;
if (!(maxMatchedPos === -1)) {
// Inline function 'kotlin.text.substring' call
var endIndex = maxMatchedPos + 1 | 0;
var matchedText = toString(charSequenceSubSequence(text, startPosition, endIndex));
tmp_0 = new MatchResultAgl(matchedText);
} else if (matchesEmpty) {
tmp_0 = new MatchResultAgl('');
} else {
tmp_0 = null;
}
return tmp_0;
}
toString() {
return 'Regex{' + this.jn_1 + '}';
}
}
class EscapeKind extends Enum {}
class Companion_0 {
constructor() {
Companion_instance_0 = this;
this.PREC_GROUP_OPEN = 1;
this.PREC_GROUP_CLOSE = 1;
this.PREC_LITERAL = 2;
this.PREC_MULTI_01 = 3;
this.PREC_MULTI_0n = 4;
this.PREC_MULTI_1n = 5;
this.PREC_REP = 6;
this.PREC_CONCAT = 7;
this.PREC_CHOICE = 8;
this.PREDEFINED_DIGIT = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(48), _Char___init__impl__6a9atx(57)));
var tmp = this;
var tmp_0 = EscapeKind_SINGLE_getInstance();
var tmp_1 = MatcherKind_NEGATED_getInstance();
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$2 = [new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(48), _Char___init__impl__6a9atx(57))];
tmp.PREDEFINED_DIGIT_NEGATED = new Pair(tmp_0, new CharacterMatcher(tmp_1, VOID, VOID, tmp$ret$2));
var tmp_2 = this;
var tmp_3 = EscapeKind_SINGLE_getInstance();
var tmp_4 = MatcherKind_ONE_OF_getInstance();
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$5 = [new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(10)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(11)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(12)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(13)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(133)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(8233))];
tmp_2.PREDEFINED_UNICODE_LINEBREAK = new Pair(tmp_3, new CharacterMatcher(tmp_4, VOID, VOID, tmp$ret$5));
var tmp_5 = this;
var tmp_6 = EscapeKind_SINGLE_getInstance();
var tmp_7 = MatcherKind_ONE_OF_getInstance();
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$8 = [new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(32)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(9)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(10)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(11)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(12)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(13))];
tmp_5.PREDEFINED_WHITESPACE = new Pair(tmp_6, new CharacterMatcher(tmp_7, VOID, VOID, tmp$ret$8));
var tmp_8 = this;
var tmp_9 = EscapeKind_SINGLE_getInstance();
var tmp_10 = MatcherKind_NEGATED_getInstance();
var tmp_11 = MatcherKind_ONE_OF_getInstance();
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$11 = [new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(32)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(9)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(10)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(11)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(12)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(13))];
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$14 = [new CharacterMatcher(tmp_11, VOID, VOID, tmp$ret$11)];
tmp_8.PREDEFINED_WHITESPACE_NEGATED = new Pair(tmp_9, new CharacterMatcher(tmp_10, VOID, VOID, tmp$ret$14));
var tmp_12 = this;
var tmp_13 = EscapeKind_SINGLE_getInstance();
var tmp_14 = MatcherKind_ONE_OF_getInstance();
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$17 = [new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(97), _Char___init__impl__6a9atx(122)), new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(65), _Char___init__impl__6a9atx(90)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(95)), new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(48), _Char___init__impl__6a9atx(57))];
tmp_12.PREDEFINED_WORD = new Pair(tmp_13, new CharacterMatcher(tmp_14, VOID, VOID, tmp$ret$17));
var tmp_15 = this;
var tmp_16 = EscapeKind_SINGLE_getInstance();
var tmp_17 = MatcherKind_NEGATED_getInstance();
var tmp_18 = MatcherKind_ONE_OF_getInstance();
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$20 = [new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(97), _Char___init__impl__6a9atx(122)), new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(65), _Char___init__impl__6a9atx(90)), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(95)), new CharacterMatcher(MatcherKind_RANGE_getInstance(), _Char___init__impl__6a9atx(48), _Char___init__impl__6a9atx(57))];
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$23 = [new CharacterMatcher(tmp_18, VOID, VOID, tmp$ret$20)];
tmp_15.PREDEFINED_WORD_NEGATED = new Pair(tmp_16, new CharacterMatcher(tmp_17, VOID, VOID, tmp$ret$23));
}
un() {
return this.PREC_GROUP_OPEN;
}
vn() {
return this.PREC_GROUP_CLOSE;
}
wn() {
return this.PREC_LITERAL;
}
xn() {
return this.PREC_MULTI_01;
}
yn() {
return this.PREC_MULTI_0n;
}
zn() {
return this.PREC_MULTI_1n;
}
ao() {
return this.PREC_REP;
}
bo() {
return this.PREC_CONCAT;
}
co() {
return this.PREC_CHOICE;
}
do() {
return this.PREDEFINED_DIGIT;
}
eo() {
return this.PREDEFINED_DIGIT_NEGATED;
}
fo() {
return this.PREDEFINED_UNICODE_LINEBREAK;
}
go() {
return this.PREDEFINED_WHITESPACE;
}
ho() {
return this.PREDEFINED_WHITESPACE_NEGATED;
}
io() {
return this.PREDEFINED_WORD;
}
jo() {
return this.PREDEFINED_WORD_NEGATED;
}
}
class RegexParser {
constructor(pattern) {
Companion_getInstance_0();
this.ym_1 = pattern;
this.zm_1 = this.ym_1 + '\x00';
this.an_1 = 0;
this.bn_1 = new RegexMatcherBuilder(this.ym_1);
}
cn() {
parsePattern(this);
return this.bn_1.wm();
}
}
class Companion_1 {
constructor() {
Companion_instance_1 = this;
this.PRINTABLE_ASCII = plus(plus(plus(plus(plus(plus(plus_1(Char__rangeTo_impl_tkncvp(_Char___init__impl__6a9atx(65), _Char___init__impl__6a9atx(90)), Char__rangeTo_impl_tkncvp(_Char___init__impl__6a9atx(97), _Char___init__impl__6a9atx(122))), Char__rangeTo_impl_tkncvp(_Char___init__impl__6a9atx(48), _Char___init__impl__6a9atx(57))), listOf_0([new Char(_Char___init__impl__6a9atx(33)), new Char(_Char___init__impl__6a9atx(34)), new Char(_Char___init__impl__6a9atx(35)), new Char(_Char___init__impl__6a9atx(36)), new Char(_Char___init__impl__6a9atx(37)), new Char(_Char___init__impl__6a9atx(38)), new Char(_Char___init__impl__6a9atx(39)), new Char(_Char___init__impl__6a9atx(40)), new Char(_Char___init__impl__6a9atx(41)), new Char(_Char___init__impl__6a9atx(42)), new Char(_Char___init__impl__6a9atx(43)), new Char(_Char___init__impl__6a9atx(44)), new Char(_Char___init__impl__6a9atx(45)), new Char(_Char___init__impl__6a9atx(46)), new Char(_Char___init__impl__6a9atx(47))])), listOf_0([new Char(_Char___init__impl__6a9atx(58)), new Char(_Char___init__impl__6a9atx(59)), new Char(_Char___init__impl__6a9atx(60)), new Char(_Char___init__impl__6a9atx(61)), new Char(_Char___init__impl__6a9atx(62)), new Char(_Char___init__impl__6a9atx(63)), new Char(_Char___init__impl__6a9atx(64))])), listOf_0([new Char(_Char___init__impl__6a9atx(91)), new Char(_Char___init__impl__6a9atx(92)), new Char(_Char___init__impl__6a9atx(93)), new Char(_Char___init__impl__6a9atx(94)), new Char(_Char___init__impl__6a9atx(95)), new Char(_Char___init__impl__6a9atx(96))])), listOf_0([new Char(_Char___init__impl__6a9atx(123)), new Char(_Char___init__impl__6a9atx(124)), new Char(_Char___init__impl__6a9atx(125)), new Char(_Char___init__impl__6a9atx(126))])), toMutableList(listOf(new Char(_Char___init__impl__6a9atx(32)))));
}
ko() {
return this.PRINTABLE_ASCII;
}
}
class RegexValueProvider {
constructor(pattern, anyChar) {
Companion_getInstance_1();
this.anyChar = anyChar;
var tmp = this;
var tmp_0 = regexMatcher(pattern);
tmp.lo_1 = tmp_0 instanceof RegexMatcherImpl ? tmp_0 : THROW_CCE();
this.matcher = this.lo_1;
this.mo_1 = this.lo_1.kn_1;
this.no_1 = this.lo_1.ln_1;
var tmp_1 = this;
// Inline function 'kotlin.collections.mutableListOf' call
tmp_1.oo_1 = ArrayList.y();
// Inline function 'kotlin.collections.mutableListOf' call
var ns = ArrayList.y();
addNextStates(ns, this.mo_1);
var tmp_2 = this;
// Inline function 'kotlin.collections.toTypedArray' call
tmp_2.po_1 = copyToArray(ns);
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s = this.no_1.s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s_0 = element.xl_1.s();
while (_iterator__ex2g4s_0.t()) {
var element_0 = _iterator__ex2g4s_0.u();
element_0.qn();
}
}
}
qo() {
return this.anyChar;
}
in() {
return this.matcher;
}
provide() {
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var currentStates = [];
currentStates = this.po_1;
var lastState = null;
$l$loop: while (true) {
// Inline function 'kotlin.collections.isNotEmpty' call
// Inline function 'kotlin.collections.isEmpty' call
if (!!(currentStates.length === 0)) {
break $l$loop;
}
var tmp2 = currentStates;
var tmp$ret$6;
$l$block: {
// Inline function 'kotlin.collections.firstOrNull' call
var inductionVariable = 0;
var last = tmp2.length;
while (inductionVariable < last) {
var element = tmp2[inductionVariable];
inductionVariable = inductionVariable + 1 | 0;
if (element.sn()) {
tmp$ret$6 = element;
break $l$block;
}
}
tmp$ret$6 = null;
}
var tmp0_elvis_lhs = tmp$ret$6;
var tmp;
if (tmp0_elvis_lhs == null) {
var tmp4 = currentStates;
var tmp$ret$10;
$l$block_2: {
// Inline function 'kotlin.collections.firstOrNull' call
var inductionVariable_0 = 0;
var last_0 = tmp4.length;
while (inductionVariable_0 < last_0) {
var element_0 = tmp4[inductionVariable_0];
inductionVariable_0 = inductionVariable_0 + 1 | 0;
var tmp0 = element_0.xl_1;
var tmp$ret$7;
$l$block_1: {
// Inline function 'kotlin.collections.any' call
var tmp_0;
if (isInterface(tmp0, Collection)) {
tmp_0 = tmp0.a1();
} else {
tmp_0 = false;
}
if (tmp_0) {
tmp$ret$7 = false;
break $l$block_1;
}
var _iterator__ex2g4s = tmp0.s();
while (_iterator__ex2g4s.t()) {
var element_1 = _iterator__ex2g4s.u();
if (element_1.fm_1) {
tmp$ret$7 = true;
break $l$block_1;
}
}
tmp$ret$7 = false;
}
if (tmp$ret$7) {
tmp$ret$10 = element_0;
break $l$block_2;
}
}
tmp$ret$10 = null;
}
tmp = tmp$ret$10;
} else {
tmp = tmp0_elvis_lhs;
}
var tmp1_elvis_lhs = tmp;
var tmp_1;
if (tmp1_elvis_lhs == null) {
var tmp6 = currentStates;
var tmp$ret$12;
$l$block_3: {
// Inline function 'kotlin.collections.firstOrNull' call
var inductionVariable_1 = 0;
var last_1 = tmp6.length;
while (inductionVariable_1 < last_1) {
var element_2 = tmp6[inductionVariable_1];
inductionVariable_1 = inductionVariable_1 + 1 | 0;
if (!element_2.equals(lastState)) {
tmp$ret$12 = element_2;
break $l$block_3;
}
}
tmp$ret$12 = null;
}
tmp_1 = tmp$ret$12;
} else {
tmp_1 = tmp1_elvis_lhs;
}
var tmp2_elvis_lhs = tmp_1;
lastState = tmp2_elvis_lhs == null ? first_0(currentStates) : tmp2_elvis_lhs;
var tmp8 = lastState.xl_1;
var tmp$ret$14;
$l$block_4: {
// Inline function 'kotlin.collections.firstOrNull' call
var _iterator__ex2g4s_0 = tmp8.s();
while (_iterator__ex2g4s_0.t()) {
var element_3 = _iterator__ex2g4s_0.u();
if (element_3.fm_1) {
tmp$ret$14 = element_3;
break $l$block_4;
}
}
tmp$ret$14 = null;
}
var tmp3_elvis_lhs = tmp$ret$14;
var outgoing = tmp3_elvis_lhs == null ? firstOrNull(lastState.xl_1) : tmp3_elvis_lhs;
if (null == outgoing) {
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
currentStates = [];
} else {
var c = this.ro(outgoing.cm_1);
var tmp_2 = c;
if (!((tmp_2 == null ? null : new Char(tmp_2)) == null)) {
var tmp_3 = c;
this.oo_1.r(tmp_3 == null ? null : new Char(tmp_3));
}
var tmp_4;
if (outgoing.fm_1) {
// Inline function 'kotlin.emptyArray' call
tmp_4 = [];
} else {
tmp_4 = outgoing.tn();
}
currentStates = tmp_4;
}
}
return joinToString(this.oo_1, '');
}
ro(matcher) {
var tmp;
switch (matcher.dn_1.d3_1) {
case 0:
tmp = null;
break;
case 1:
tmp = this.anyChar;
break;
case 2:
tmp = _Char___init__impl__6a9atx(10);
break;
case 3:
tmp = notOneOf(this, matcher.gn_1);
break;
case 4:
tmp = matcher.so() ? matcher.en_1 : null;
break;
case 5:
tmp = this.ro(matcher.gn_1[0]);
break;
case 6:
tmp = matcher.hn_1;
break;
default:
noWhenBranchMatchedException();
break;
}
return tmp;
}
}
class Companion_2 {
constructor() {
Companion_instance_2 = this;
this.km_1 = new CharacterMatcher(MatcherKind_EMPTY_getInstance());
this.lm_1 = new CharacterMatcher(MatcherKind_ANY_getInstance());
this.mm_1 = new CharacterMatcher(MatcherKind_END_OF_LINE_OR_INPUT_getInstance());
}
}
class CharacterMatcher {
constructor(kind, literal, max, options) {
Companion_getInstance_2();
literal = literal === VOID ? _Char___init__impl__6a9atx(0) : literal;
max = max === VOID ? _Char___init__impl__6a9atx(0) : max;
var tmp;
if (options === VOID) {
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
tmp = [];
} else {
tmp = options;
}
options = tmp;
this.dn_1 = kind;
this.en_1 = literal;
this.fn_1 = max;
this.gn_1 = options;
this.hn_1 = this.en_1;
}
so() {
var tmp;
switch (this.dn_1.d3_1) {
case 0:
tmp = false;
break;
case 1:
tmp = true;
break;
case 2:
tmp = true;
break;
case 3:
tmp = true;
break;
case 4:
var tmp_0;
// Inline function 'kotlin.collections.isEmpty' call
if (this.gn_1.length === 0) {
tmp_0 = true;
} else {
var tmp1 = this.gn_1;
var tmp$ret$2;
$l$block: {
// Inline function 'kotlin.collections.all' call
var inductionVariable = 0;
var last = tmp1.length;
while (inductionVariable < last) {
var element = tmp1[inductionVariable];
inductionVariable = inductionVariable + 1 | 0;
if (!element.so()) {
tmp$ret$2 = false;
break $l$block;
}
}
tmp$ret$2 = true;
}
tmp_0 = tmp$ret$2;
}
tmp = tmp_0;
break;
case 5:
tmp = true;
break;
case 6:
tmp = true;
break;
default:
noWhenBranchMatchedException();
break;
}
return tmp;
}
in() {
return this.gn_1[0];
}
toString() {
var tmp;
switch (this.dn_1.d3_1) {
case 0:
tmp = 'EMPTY';
break;
case 1:
tmp = 'ANY';
break;
case 2:
tmp = '$';
break;
case 3:
tmp = '!(' + this.in().toString() + ')';
break;
case 4:
tmp = "'" + toString_0(this.en_1) + "'";
break;
case 5:
tmp = '{' + joinToString_0(this.gn_1, ',') + '}';
break;
case 6:
tmp = '[' + toString_0(this.hn_1) + '-' + toString_0(this.fn_1) + ']';
break;
default:
noWhenBranchMatchedException();
break;
}
return tmp;
}
}
class MatcherKind extends Enum {}
class State {
constructor(number, isSplit) {
this.vl_1 = number;
this.wl_1 = isSplit;
var tmp = this;
// Inline function 'kotlin.collections.mutableListOf' call
tmp.xl_1 = ArrayList.y();
}
sn() {
return this.equals(Companion_getInstance().zl_1);
}
hashCode() {
return this.vl_1;
}
equals(other) {
var tmp;
if (other instanceof State) {
tmp = this.vl_1 === other.vl_1;
} else {
tmp = false;
}
return tmp;
}
toString() {
return 'State{' + this.vl_1 + '}';
}
}
class Transition {
constructor(kind, matcher) {
this.bm_1 = kind;
this.cm_1 = matcher;
this.dm_1 = null;
this.fm_1 = false;
}
tn() {
var tmp = this.em_1;
if (!(tmp == null))
return tmp;
else {
throwUninitializedPropertyAccessException('nextStates');
}
}
qn() {
// Inline function 'kotlin.collections.mutableListOf' call
var ns = ArrayList.y();
this.fm_1 = addNextStates(ns, this.dm_1);
var tmp = this;
// Inline function 'kotlin.collections.toTypedArray' call
tmp.em_1 = copyToArray(ns);
}
toString() {
var tmp = this.cm_1.toString();
var tmp0_safe_receiver = this.dm_1;
return '-' + tmp + '->(' + (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.vl_1) + ')';
}
}
class TransitionKind extends Enum {}
class Fragment {
constructor(start, outgoing) {
this.hm_1 = start;
this.im_1 = outgoing;
}
}
class RegexEngineKind extends Enum {
get name() {
return this.e3();
}
get ordinal() {
return this.f3();
}
}
class MatchResult {}
class MatchResultAgl {
constructor(matchedText) {
this.vo_1 = matchedText;
}
wo() {
return this.vo_1;
}
bh() {
return this.vo_1;
}
xo(matchedText) {
return new MatchResultAgl(matchedText);
}
copy(matchedText, $super) {
matchedText = matchedText === VOID ? this.vo_1 : matchedText;
return $super === VOID ? this.xo(matchedText) : $super.xo.call(this, matchedText);
}
toString() {
return 'MatchResultAgl(matchedText=' + this.vo_1 + ')';
}
hashCode() {
return getStringHashCode(this.vo_1);
}
equals(other) {
if (this === other)
return true;
if (!(other instanceof MatchResultAgl))
return false;
var tmp0_other_with_cast = other instanceof MatchResultAgl ? other : THROW_CCE();
if (!(this.vo_1 === tmp0_other_with_cast.vo_1))
return false;
return true;
}
get matchedText() {
return this.wo();
}
}
class Regex_0 {}
class RegexEngine {}
class RegexPlatform {
constructor(value) {
this.value = value;
}
b3() {
return this.value;
}
matchAt(text, atPosition) {
var tmp0_safe_receiver = this.value.we(text, atPosition);
var tmp;
if (tmp0_safe_receiver == null) {
tmp = null;
} else {
// Inline function 'kotlin.let' call
tmp = new MatchResultAgl(tmp0_safe_receiver.b3());
}
return tmp;
}
matchesAt(text, atPosition) {
return this.value.se(text, atPosition);
}
bh() {
return this.value;
}
zo(value) {
return new RegexPlatform(value);
}
copy(value, $super) {
value = value === VOID ? this.value : value;
return $super === VOID ? this.zo(value) : $super.zo.call(this, value);
}
toString() {
return 'RegexPlatform(value=' + this.value.toString() + ')';
}
hashCode() {
return hashCode(this.value);
}
equals(other) {
if (this === other)
return true;
if (!(other instanceof RegexPlatform))
return false;
var tmp0_other_with_cast = other instanceof RegexPlatform ? other : THROW_CCE();
if (!equals(this.value, tmp0_other_with_cast.value))
return false;
return true;
}
}
class RegexAgl {
constructor(value) {
this.value = value;
}
b3() {
return this.value;
}
matchAt(text, atPosition) {
var tmp = this.value.matchAt(text, atPosition);
return (tmp == null ? true : tmp instanceof MatchResultAgl) ? tmp : THROW_CCE();
}
matchesAt(text, atPosition) {
return this.value.matchesAt(text, atPosition);
}
bh() {
return this.value;
}
ap(value) {
return new RegexAgl(value);
}
copy(value, $super) {
value = value === VOID ? this.value : value;
return $super === VOID ? this.ap(value) : $super.ap.call(this, value);
}
toString() {
return 'RegexAgl(value=' + toString(this.value) + ')';
}
hashCode() {
return hashCode(this.value);
}
equals(other) {
if (this === other)
return true;
if (!(other instanceof RegexAgl))
return false;
var tmp0_other_with_cast = other instanceof RegexAgl ? other : THROW_CCE();
if (!equals(this.value, tmp0_other_with_cast.value))
return false;
return true;
}
}
class RegexEnginePlatform_0 {
constructor() {
RegexEnginePlatform_instance = this;
this.bp_1 = RegexEngineKind_PLATFORM_getInstance();
}
yo() {
return this.bp_1;
}
createFor(pattern) {
return new RegexPlatform(Regex.pe(pattern));
}
get kind() {
return this.yo();
}
}
class RegexEngineAgl_0 {
constructor() {
RegexEngineAgl_instance = this;
this.cp_1 = RegexEngineKind_AGL_getInstance();
}
yo() {
return this.cp_1;
}
createFor(pattern) {
return new RegexAgl(regexMatcher(pattern));
}
get kind() {
return this.yo();
}
}
//endregion
var BuildConfig_instance;
function BuildConfig_getInstance() {
return BuildConfig_instance;
}
function createState($this, isSplit) {
var state = new State($this.sl_1, isSplit);
$this.sl_1 = $this.sl_1 + 1 | 0;
$this.rl_1.r(state);
return state;
}
function cloneState($this, orig, nullTransitions, map) {
var tmp;
if (null == orig) {
tmp = null;
} else {
var clone = map.z2(orig);
var tmp_0;
if (null == clone) {
var c = createState($this, orig.wl_1);
// Inline function 'kotlin.collections.set' call
map.r2(orig, c);
// Inline function 'kotlin.collections.map' call
var this_0 = orig.xl_1;
// Inline function 'kotlin.collections.mapTo' call
var destination = ArrayList.w(collectionSizeOrDefault(this_0, 10));
var _iterator__ex2g4s = this_0.s();
while (_iterator__ex2g4s.t()) {
var item = _iterator__ex2g4s.u();
var tmp$ret$1 = $this.yl(item, nullTransitions, map);
destination.r(tmp$ret$1);
}
var ctrans = destination;
c.xl_1.x(ctrans);
tmp_0 = c;
} else {
tmp_0 = clone;
}
tmp = tmp_0;
}
return tmp;
}
function regexMatcher(pattern) {
return (new RegexParser(pattern)).cn();
}
var Companion_instance;
function Companion_getInstance() {
if (Companion_instance === VOID)
new Companion();
return Companion_instance;
}
function matches($this, matcher, text, pos) {
var tmp;
switch (matcher.dn_1.d3_1) {
case 0:
var message = 'should not happen';
throw IllegalStateException.v4(toString(message));
case 1:
tmp = true;
break;
case 2:
var nextPos = pos + 1 | 0;
tmp = nextPos === charSequenceLength(text) || charSequenceGet(text, pos) === _Char___init__impl__6a9atx(10);
break;
case 3:
tmp = !matches($this, matcher.in(), text, pos);
break;
case 4:
tmp = charSequenceGet(text, pos) === matcher.en_1;
break;
case 5:
var opts = matcher.gn_1;
var inductionVariable = 0;
var last = opts.length;
if (inductionVariable < last)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
if (matches($this, opts[i], text, pos)) {
return true;
}
}
while (inductionVariable < last);
return false;
case 6:
var containsLower = matcher.hn_1;
var containsUpper = matcher.fn_1;
var containsArg = charSequenceGet(text, pos);
tmp = containsLower <= containsArg ? containsArg <= containsUpper : false;
break;
default:
noWhenBranchMatchedException();
break;
}
return tmp;
}
var EscapeKind_SINGLE_instance;
var EscapeKind_OPTIONS_instance;
var EscapeKind_LITERAL_instance;
var EscapeKind_entriesInitialized;
function EscapeKind_initEntries() {
if (EscapeKind_entriesInitialized)
return Unit_instance;
EscapeKind_entriesInitialized = true;
EscapeKind_SINGLE_instance = new EscapeKind('SINGLE', 0);
EscapeKind_OPTIONS_instance = new EscapeKind('OPTIONS', 1);
EscapeKind_LITERAL_instance = new EscapeKind('LITERAL', 2);
}
var Companion_instance_0;
function Companion_getInstance_0() {
if (Companion_instance_0 === VOID)
new Companion_0();
return Companion_instance_0;
}
function next($this) {
var c = charSequenceGet($this.zm_1, $this.an_1);
$this.an_1 = $this.an_1 + 1 | 0;
return c;
}
function parsePattern($this) {
var postfix = new MutableStack();
var opStack = new MutableStack();
var needConcat = new MutableStack();
needConcat.nk(false);
if ($this.ym_1.length > 0) {
var c = next($this);
try {
while ($this.an_1 <= $this.ym_1.length) {
var tmp0_subject = c;
if (tmp0_subject === _Char___init__impl__6a9atx(92)) {
var escaped_matchers = parsePatternEscape($this);
switch (escaped_matchers.zg_1.d3_1) {
case 0:
var tmp = escaped_matchers.ah_1;
var matcher = tmp instanceof CharacterMatcher ? tmp : THROW_CCE();
var tmp_0 = Companion_getInstance_0().PREC_LITERAL;
postfix.nk(new Pair(tmp_0, RegexParser$parsePattern$lambda($this, matcher)));
if (needConcat.rk()) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CONCAT) {
postfix.nk(opStack.rk());
}
var tmp_1 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_1, RegexParser$parsePattern$lambda_0($this)));
}
needConcat.nk(true);
break;
case 2:
var tmp_2 = escaped_matchers.ah_1;
var literal = isCharSequence(tmp_2) ? tmp_2 : THROW_CCE();
if (charSequenceLength(literal) > 0) {
var cc = charSequenceGet(literal, 0);
var tmp_3 = Companion_getInstance_0().PREC_LITERAL;
postfix.nk(new Pair(tmp_3, RegexParser$parsePattern$lambda_1($this, cc)));
if (needConcat.rk()) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CONCAT) {
postfix.nk(opStack.rk());
}
var tmp_4 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_4, RegexParser$parsePattern$lambda_2($this)));
}
var i = 1;
while (i < charSequenceLength(literal)) {
var d = charSequenceGet(literal, i);
var tmp_5 = Companion_getInstance_0().PREC_LITERAL;
postfix.nk(new Pair(tmp_5, RegexParser$parsePattern$lambda_3($this, d)));
var tmp_6 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_6, RegexParser$parsePattern$lambda_4($this)));
i = i + 1 | 0;
}
needConcat.nk(true);
}
break;
case 1:
// Inline function 'kotlin.TODO' call
throw NotImplementedError.uj();
default:
noWhenBranchMatchedException();
break;
}
c = next($this);
} else if (tmp0_subject === _Char___init__impl__6a9atx(46)) {
var tmp_7 = Companion_getInstance_0().PREC_LITERAL;
postfix.nk(new Pair(tmp_7, RegexParser$parsePattern$lambda_5($this)));
if (needConcat.rk()) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CONCAT) {
postfix.nk(opStack.rk());
}
var tmp_8 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_8, RegexParser$parsePattern$lambda_6($this)));
}
needConcat.nk(true);
c = next($this);
} else if (tmp0_subject === _Char___init__impl__6a9atx(36)) {
var tmp_9 = Companion_getInstance_0().PREC_LITERAL;
postfix.nk(new Pair(tmp_9, RegexParser$parsePattern$lambda_7($this)));
if (needConcat.rk()) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CONCAT) {
postfix.nk(opStack.rk());
}
var tmp_10 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_10, RegexParser$parsePattern$lambda_8($this)));
}
needConcat.nk(true);
c = next($this);
} else if (tmp0_subject === _Char___init__impl__6a9atx(91)) {
var options = parseCharacterClass($this);
var tmp_11 = Companion_getInstance_0().PREC_LITERAL;
postfix.nk(new Pair(tmp_11, RegexParser$parsePattern$lambda_9($this, options)));
if (needConcat.rk()) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CONCAT) {
postfix.nk(opStack.rk());
}
var tmp_12 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_12, RegexParser$parsePattern$lambda_10($this)));
}
needConcat.nk(true);
c = next($this);
} else if (tmp0_subject === _Char___init__impl__6a9atx(40)) {
needConcat.nk(false);
var tmp_13 = Companion_getInstance_0().PREC_GROUP_OPEN;
opStack.nk(new Pair(tmp_13, RegexParser$parsePattern$lambda_11));
c = next($this);
if (c === _Char___init__impl__6a9atx(63)) {
// Inline function 'kotlin.TODO' call
var reason = $this.ym_1;
throw NotImplementedError.uj('An operation is not implemented: ' + reason);
}
} else if (tmp0_subject === _Char___init__impl__6a9atx(124)) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CHOICE) {
postfix.nk(opStack.rk());
}
var tmp_14 = Companion_getInstance_0().PREC_CHOICE;
opStack.nk(new Pair(tmp_14, RegexParser$parsePattern$lambda_12($this)));
needConcat.rk();
needConcat.nk(false);
c = next($this);
} else if (tmp0_subject === _Char___init__impl__6a9atx(63)) {
var tmp_15 = Companion_getInstance_0().PREC_MULTI_01;
postfix.nk(new Pair(tmp_15, RegexParser$parsePattern$lambda_13($this)));
c = next($this);
var tmp4_subject = c;
if (tmp4_subject === _Char___init__impl__6a9atx(63)) {
// Inline function 'kotlin.TODO' call
throw NotImplementedError.uj();
} else if (tmp4_subject === _Char___init__impl__6a9atx(43)) {
// Inline function 'kotlin.TODO' call
throw NotImplementedError.uj();
}
} else if (tmp0_subject === _Char___init__impl__6a9atx(43)) {
var tmp_16 = Companion_getInstance_0().PREC_MULTI_1n;
postfix.nk(new Pair(tmp_16, RegexParser$parsePattern$lambda_14($this)));
c = next($this);
var tmp5_subject = c;
if (tmp5_subject === _Char___init__impl__6a9atx(63)) {
// Inline function 'kotlin.TODO' call
var reason_0 = $this.ym_1;
throw NotImplementedError.uj('An operation is not implemented: ' + reason_0);
} else if (tmp5_subject === _Char___init__impl__6a9atx(43)) {
// Inline function 'kotlin.TODO' call
var reason_1 = $this.ym_1;
throw NotImplementedError.uj('An operation is not implemented: ' + reason_1);
}
} else if (tmp0_subject === _Char___init__impl__6a9atx(42)) {
var tmp_17 = Companion_getInstance_0().PREC_MULTI_0n;
postfix.nk(new Pair(tmp_17, RegexParser$parsePattern$lambda_15($this)));
c = next($this);
var tmp6_subject = c;
if (tmp6_subject === _Char___init__impl__6a9atx(63)) {
// Inline function 'kotlin.TODO' call
var reason_2 = $this.ym_1;
throw NotImplementedError.uj('An operation is not implemented: ' + reason_2);
} else if (tmp6_subject === _Char___init__impl__6a9atx(43)) {
// Inline function 'kotlin.TODO' call
var reason_3 = $this.ym_1;
throw NotImplementedError.uj('An operation is not implemented: ' + reason_3);
}
} else if (tmp0_subject === _Char___init__impl__6a9atx(123)) {
var nb = StringBuilder.j();
c = next($this);
while (_Char___init__impl__6a9atx(48) <= c ? c <= _Char___init__impl__6a9atx(57) : false) {
nb.db(c);
c = next($this);
}
var tmp7_elvis_lhs = toIntOrNull(nb.toString(), 10);
var tmp_18;
if (tmp7_elvis_lhs == null) {
var message = 'Counted repetition must be one of the forms {n} | {n,} | {n,m} where n and m are numbers';
throw IllegalStateException.v4(toString(message));
} else {
tmp_18 = tmp7_elvis_lhs;
}
var n = tmp_18;
var tmp8_subject = c;
if (tmp8_subject === _Char___init__impl__6a9atx(125)) {
var tmp_19 = Companion_getInstance_0().PREC_REP;
postfix.nk(new Pair(tmp_19, RegexParser$parsePattern$lambda_16($this, n)));
c = next($this);
} else if (tmp8_subject === _Char___init__impl__6a9atx(44)) {
c = next($this);
if (c === _Char___init__impl__6a9atx(125)) {
var tmp_20 = Companion_getInstance_0().PREC_REP;
postfix.nk(new Pair(tmp_20, RegexParser$parsePattern$lambda_17($this, n)));
c = next($this);
} else {
var mb = StringBuilder.j();
mb.db(c);
c = next($this);
while (_Char___init__impl__6a9atx(48) <= c ? c <= _Char___init__impl__6a9atx(57) : false) {
mb.db(c);
c = next($this);
}
var tmp10_elvis_lhs = toIntOrNull(mb.toString(), 10);
var tmp_21;
if (tmp10_elvis_lhs == null) {
var message_0 = 'Counted repetition must be one of the forms {n} | {n,} | {n,m} where n and m are numbers';
throw IllegalStateException.v4(toString(message_0));
} else {
tmp_21 = tmp10_elvis_lhs;
}
var m = tmp_21;
if (c === _Char___init__impl__6a9atx(125)) {
var tmp_22 = Companion_getInstance_0().PREC_REP;
postfix.nk(new Pair(tmp_22, RegexParser$parsePattern$lambda_18($this, n, m)));
c = next($this);
} else {
// Inline function 'kotlin.error' call
var message_1 = 'Counted repetition must be one of the forms {n} | {n,} | {n,m} where n and m are numbers';
throw IllegalStateException.v4(toString(message_1));
}
}
} else {
// Inline function 'kotlin.error' call
var message_2 = 'Counted repetition must be one of the forms {n} | {n,} | {n,m} where n and m are numbers';
throw IllegalStateException.v4(toString(message_2));
}
} else if (tmp0_subject === _Char___init__impl__6a9atx(41)) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN)) {
postfix.nk(opStack.rk());
}
if (!opStack.mk() && opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) {
opStack.rk();
}
needConcat.rk();
if (needConcat.rk()) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CONCAT) {
postfix.nk(opStack.rk());
}
var tmp_23 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_23, RegexParser$parsePattern$lambda_19($this)));
}
needConcat.nk(true);
c = next($this);
} else {
var cc_0 = c;
var tmp_24 = Companion_getInstance_0().PREC_LITERAL;
postfix.nk(new Pair(tmp_24, RegexParser$parsePattern$lambda_20($this, cc_0)));
if (needConcat.rk()) {
while (!opStack.mk() && !(opStack.ok().zg_1 === Companion_getInstance_0().PREC_GROUP_OPEN) && opStack.ok().zg_1 < Companion_getInstance_0().PREC_CONCAT) {
postfix.nk(opStack.rk());
}
var tmp_25 = Companion_getInstance_0().PREC_CONCAT;
opStack.nk(new Pair(tmp_25, RegexParser$parsePattern$lambda_21($this)));
}
needConcat.nk(true);
c = next($this);
}
}
} catch ($p) {
if ($p instanceof Error) {
var t = $p;
var tmp14 = $this.ym_1;
// Inline function 'kotlin.comparisons.maxOf' call
var b = $this.an_1 - 5 | 0;
var tmp15 = Math.max(0, b);
var tmp12 = $this.ym_1.length;
// Inline function 'kotlin.comparisons.minOf' call
var b_0 = $this.an_1;
// Inline function 'kotlin.text.substring' call
var endIndex = Math.min(tmp12, b_0);
// Inline function 'kotlin.js.asDynamic' call
var before = tmp14.substring(tmp15, endIndex);
var tmp21 = $this.ym_1;
var tmp17 = $this.ym_1.length;
// Inline function 'kotlin.comparisons.maxOf' call
var b_1 = $this.an_1 - 5 | 0;
var tmp22 = Math.max(tmp17, b_1);
var tmp19 = $this.ym_1.length;
// Inline function 'kotlin.comparisons.minOf' call
var b_2 = $this.an_1 + 5 | 0;
// Inline function 'kotlin.text.substring' call
var endIndex_0 = Math.min(tmp19, b_2);
// Inline function 'kotlin.js.asDynamic' call
var after = tmp21.substring(tmp22, endIndex_0);
var posStr = before + '^' + after;
// Inline function 'kotlin.error' call
var message_3 = 'Failed to parse regex "' + $this.ym_1 + '" at position ' + $this.an_1 + ', "' + posStr + '", ' + t.message;
throw IllegalStateException.v4(toString(message_3));
} else {
throw $p;
}
}
while (!opStack.mk()) {
postfix.nk(opStack.rk());
}
// Inline function 'kotlin.collections.forEach' call
var _iterator__ex2g4s = postfix.ek().s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
element.ah_1();
}
}
$this.bn_1.xm();
}
function parsePatternEscape($this) {
var c = next($this);
var tmp0_subject = c;
var tmp;
if (tmp0_subject === _Char___init__impl__6a9atx(92)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(40)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(124)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(91)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(93)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(46)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(36)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(63)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(43)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(42)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), c));
} else if (tmp0_subject === _Char___init__impl__6a9atx(116)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(9)));
} else if (tmp0_subject === _Char___init__impl__6a9atx(110)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(10)));
} else if (tmp0_subject === _Char___init__impl__6a9atx(114)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(13)));
} else if (tmp0_subject === _Char___init__impl__6a9atx(102)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(12)));
} else if (tmp0_subject === _Char___init__impl__6a9atx(97)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(7)));
} else if (tmp0_subject === _Char___init__impl__6a9atx(101)) {
tmp = new Pair(EscapeKind_SINGLE_getInstance(), new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(27)));
} else if (tmp0_subject === _Char___init__impl__6a9atx(99)) {
var reason = 'Control char';
throw NotImplementedError.uj('An operation is not implemented: ' + reason);
} else if (tmp0_subject === _Char___init__impl__6a9atx(100)) {
tmp = Companion_getInstance_0().PREDEFINED_DIGIT;
} else if (tmp0_subject === _Char___init__impl__6a9atx(68)) {
tmp = Companion_getInstance_0().PREDEFINED_DIGIT_NEGATED;
} else if (tmp0_subject === _Char___init__impl__6a9atx(82)) {
tmp = Companion_getInstance_0().PREDEFINED_UNICODE_LINEBREAK;
} else if (tmp0_subject === _Char___init__impl__6a9atx(115)) {
tmp = Companion_getInstance_0().PREDEFINED_WHITESPACE;
} else if (tmp0_subject === _Char___init__impl__6a9atx(83)) {
tmp = Companion_getInstance_0().PREDEFINED_WHITESPACE_NEGATED;
} else if (tmp0_subject === _Char___init__impl__6a9atx(119)) {
tmp = Companion_getInstance_0().PREDEFINED_WORD;
} else if (tmp0_subject === _Char___init__impl__6a9atx(87)) {
tmp = Companion_getInstance_0().PREDEFINED_WORD_NEGATED;
} else if (tmp0_subject === _Char___init__impl__6a9atx(48)) {
// Inline function 'kotlin.TODO' call
var reason_0 = 'Octal value';
throw NotImplementedError.uj('An operation is not implemented: ' + reason_0);
} else if (tmp0_subject === _Char___init__impl__6a9atx(120)) {
// Inline function 'kotlin.TODO' call
var reason_1 = 'hex value';
throw NotImplementedError.uj('An operation is not implemented: ' + reason_1);
} else if (tmp0_subject === _Char___init__impl__6a9atx(117)) {
// Inline function 'kotlin.TODO' call
var reason_2 = 'unicode hex value';
throw NotImplementedError.uj('An operation is not implemented: ' + reason_2);
} else if (tmp0_subject === _Char___init__impl__6a9atx(81)) {
var sb = StringBuilder.j();
var end = false;
c = next($this);
while (!end) {
if (c === _Char___init__impl__6a9atx(92)) {
c = next($this);
if (_Char___init__impl__6a9atx(69) === c) {
end = true;
} else {
sb.db(c);
}
} else {
sb.db(c);
c = next($this);
}
}
tmp = new Pair(EscapeKind_LITERAL_getInstance(), sb.toString());
} else {
var reason_3 = toString_0(c) + ' at ' + $this.an_1 + ' in ' + $this.ym_1;
throw NotImplementedError.uj('An operation is not implemented: ' + reason_3);
}
return tmp;
}
function parseCharacterClass($this) {
// Inline function 'kotlin.collections.mutableListOf' call
var options = ArrayList.y();
var c = parseNextCharOrEscape($this);
var tmp;
if (_Char___init__impl__6a9atx(94) === c) {
c = parseNextCharOrEscape($this);
tmp = true;
} else {
tmp = false;
}
var negated = tmp;
var f = c;
while (!(c === _Char___init__impl__6a9atx(93))) {
c = parseNextCharOrEscape($this);
var tmp0_subject = c;
if (tmp0_subject === _Char___init__impl__6a9atx(93)) {
options.r(new CharacterMatcher(MatcherKind_LITERAL_getInstance(), f));
} else if (tmp0_subject === _Char___init__impl__6a9atx(45)) {
c = parseNextCharOrEscape($this);
if (c === _Char___init__impl__6a9atx(93)) {
options.r(new CharacterMatcher(MatcherKind_LITERAL_getInstance(), f));
options.r(new CharacterMatcher(MatcherKind_LITERAL_getInstance(), _Char___init__impl__6a9atx(45)));
} else {
options.r(new CharacterMatcher(MatcherKind_RANGE_getInstance(), f, c));
c = parseNextCharOrEscape($this);
f = c;
}
} else {
options.r(new CharacterMatcher(MatcherKind_LITERAL_getInstance(), f));
f = c;
}
}
var tmp_0;
if (negated) {
var tmp_1 = MatcherKind_NEGATED_getInstance();
var tmp_2 = MatcherKind_ONE_OF_getInstance();
// Inline function 'kotlin.collections.toTypedArray' call
var tmp$ret$1 = copyToArray(options);
// Inline function 'kotlin.arrayOf' call
// Inline function 'kotlin.js.unsafeCast' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$4 = [new CharacterMatcher(tmp_2, VOID, VOID, tmp$ret$1)];
tmp_0 = new CharacterMatcher(tmp_1, VOID, VOID, tmp$ret$4);
} else {
var tmp_3 = MatcherKind_ONE_OF_getInstance();
// Inline function 'kotlin.collections.toTypedArray' call
var tmp$ret$5 = copyToArray(options);
tmp_0 = new CharacterMatcher(tmp_3, VOID, VOID, tmp$ret$5);
}
return tmp_0;
}
function parseNextCharOrEscape($this) {
var c = next($this);
return c === _Char___init__impl__6a9atx(92) ? parseCharacterClassEscape($this) : c;
}
function parseCharacterClassEscape($this) {
var c = next($this);
var tmp;
if (c === _Char___init__impl__6a9atx(92)) {
tmp = _Char___init__impl__6a9atx(92);
} else if (c === _Char___init__impl__6a9atx(36)) {
tmp = _Char___init__impl__6a9atx(36);
} else if (c === _Char___init__impl__6a9atx(45)) {
tmp = _Char___init__impl__6a9atx(45);
} else if (c === _Char___init__impl__6a9atx(94)) {
tmp = _Char___init__impl__6a9atx(94);
} else if (c === _Char___init__impl__6a9atx(91)) {
tmp = _Char___init__impl__6a9atx(91);
} else if (c === _Char___init__impl__6a9atx(93)) {
tmp = _Char___init__impl__6a9atx(93);
} else if (c === _Char___init__impl__6a9atx(38)) {
tmp = _Char___init__impl__6a9atx(38);
} else if (c === _Char___init__impl__6a9atx(116)) {
tmp = _Char___init__impl__6a9atx(9);
} else if (c === _Char___init__impl__6a9atx(110)) {
tmp = _Char___init__impl__6a9atx(10);
} else if (c === _Char___init__impl__6a9atx(114)) {
tmp = _Char___init__impl__6a9atx(13);
} else if (c === _Char___init__impl__6a9atx(102)) {
tmp = _Char___init__impl__6a9atx(12);
} else if (c === _Char___init__impl__6a9atx(97)) {
tmp = _Char___init__impl__6a9atx(7);
} else if (c === _Char___init__impl__6a9atx(101)) {
tmp = _Char___init__impl__6a9atx(27);
} else if (c === _Char___init__impl__6a9atx(99)) {
var reason = 'Control char';
throw NotImplementedError.uj('An operation is not implemented: ' + reason);
} else if (c === _Char___init__impl__6a9atx(117)) {
var unicodeChar = parseUnicode($this);
tmp = unicodeChar;
} else if (c === _Char___init__impl__6a9atx(120)) {
tmp = parseHex($this);
} else {
var message = "Unknown escape code '" + toString_0(c) + "' in character class, at position " + $this.an_1 + ' in ' + $this.ym_1 + ', ';
throw IllegalStateException.v4(toString(message));
}
return tmp;
}
function parseHex($this) {
var tmp0_elvis_lhs = toHexInt($this, next($this), 16);
var tmp;
if (tmp0_elvis_lhs == null) {
var message = 'Cannot parse Hex, at position ' + $this.an_1;
throw IllegalStateException.v4(toString(message));
} else {
tmp = tmp0_elvis_lhs;
}
var hex = tmp;
var tmp_0 = hex;
var tmp1_elvis_lhs = toHexInt($this, next($this), 1);
var tmp_1;
if (tmp1_elvis_lhs == null) {
var message_0 = 'Cannot parse Hex, at position ' + $this.an_1;
throw IllegalStateException.v4(toString(message_0));
} else {
tmp_1 = tmp1_elvis_lhs;
}
hex = tmp_0 + tmp_1 | 0;
return numberToChar(hex);
}
function parseUnicode($this) {
var tmp0_elvis_lhs = toHexInt($this, next($this), 4096);
var tmp;
if (tmp0_elvis_lhs == null) {
var message = 'Cannot parse Unicode, at position ' + $this.an_1;
throw IllegalStateException.v4(toString(message));
} else {
tmp = tmp0_elvis_lhs;
}
var unicode = tmp;
var tmp_0 = unicode;
var tmp1_elvis_lhs = toHexInt($this, next($this), 256);
var tmp_1;
if (tmp1_elvis_lhs == null) {
var message_0 = 'Cannot parse Unicode, at position ' + $this.an_1;
throw IllegalStateException.v4(toString(message_0));
} else {
tmp_1 = tmp1_elvis_lhs;
}
unicode = tmp_0 + tmp_1 | 0;
var tmp_2 = unicode;
var tmp2_elvis_lhs = toHexInt($this, next($this), 16);
var tmp_3;
if (tmp2_elvis_lhs == null) {
var message_1 = 'Cannot parse Unicode, at position ' + $this.an_1;
throw IllegalStateException.v4(toString(message_1));
} else {
tmp_3 = tmp2_elvis_lhs;
}
unicode = tmp_2 + tmp_3 | 0;
var tmp_4 = unicode;
var tmp3_elvis_lhs = toHexInt($this, next($this), 1);
var tmp_5;
if (tmp3_elvis_lhs == null) {
var message_2 = 'Cannot parse Unicode, at position ' + $this.an_1;
throw IllegalStateException.v4(toString(message_2));
} else {
tmp_5 = tmp3_elvis_lhs;
}
unicode = tmp_4 + tmp_5 | 0;
return numberToChar(unicode);
}
function toHexInt($this, c, power) {
var v = toIntOrNull(toString_0(c), 16);
return null == v ? null : imul(v, power);
}
function RegexParser$parsePattern$lambda(this$0, $matcher) {
return () => {
this$0.bn_1.pm($matcher);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_0(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_1(this$0, $cc) {
return () => {
this$0.bn_1.om($cc);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_2(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_3(this$0, $d) {
return () => {
this$0.bn_1.om($d);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_4(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_5(this$0) {
return () => {
this$0.bn_1.jm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_6(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_7(this$0) {
return () => {
this$0.bn_1.nm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_8(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_9(this$0, $options) {
return () => {
this$0.bn_1.pm($options);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_10(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_11() {
return Unit_instance;
}
function RegexParser$parsePattern$lambda_12(this$0) {
return () => {
this$0.bn_1.rm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_13(this$0) {
return () => {
this$0.bn_1.sm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_14(this$0) {
return () => {
this$0.bn_1.tm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_15(this$0) {
return () => {
this$0.bn_1.um();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_16(this$0, $n) {
return () => {
this$0.bn_1.vm($n, $n);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_17(this$0, $n) {
return () => {
this$0.bn_1.vm($n, -1);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_18(this$0, $n, $m) {
return () => {
this$0.bn_1.vm($n, $m);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_19(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_20(this$0, $cc) {
return () => {
this$0.bn_1.om($cc);
return Unit_instance;
};
}
function RegexParser$parsePattern$lambda_21(this$0) {
return () => {
this$0.bn_1.qm();
return Unit_instance;
};
}
function EscapeKind_SINGLE_getInstance() {
EscapeKind_initEntries();
return EscapeKind_SINGLE_instance;
}
function EscapeKind_LITERAL_getInstance() {
EscapeKind_initEntries();
return EscapeKind_LITERAL_instance;
}
var Companion_instance_1;
function Companion_getInstance_1() {
if (Companion_instance_1 === VOID)
new Companion_1();
return Companion_instance_1;
}
function notOneOf($this, matchers) {
var chars = toMutableList(Companion_getInstance_1().PRINTABLE_ASCII);
// Inline function 'kotlin.collections.forEach' call
var inductionVariable = 0;
var last = matchers.length;
while (inductionVariable < last) {
var element = matchers[inductionVariable];
inductionVariable = inductionVariable + 1 | 0;
switch (element.dn_1.d3_1) {
case 0:
// Inline function 'kotlin.error' call
var message = 'should not happen';
throw IllegalStateException.v4(toString(message));
case 1:
new Char($this.anyChar);
break;
case 2:
new Char(_Char___init__impl__6a9atx(10));
break;
case 3:
// Inline function 'kotlin.error' call
var message_0 = 'should not happen';
throw IllegalStateException.v4(toString(message_0));
case 4:
chars.k2(new Char(element.en_1));
break;
case 5:
// Inline function 'kotlin.collections.forEach' call
var indexedObject = element.gn_1;
var inductionVariable_0 = 0;
var last_0 = indexedObject.length;
while (inductionVariable_0 < last_0) {
var element_0 = indexedObject[inductionVariable_0];
inductionVariable_0 = inductionVariable_0 + 1 | 0;
chars.q1(allOf($this, element_0));
}
break;
case 6:
removeAll(chars, Char__rangeTo_impl_tkncvp(element.hn_1, element.fn_1));
break;
default:
noWhenBranchMatchedException();
break;
}
}
return first(chars).t1_1;
}
function allOf($this, cm) {
var tmp;
switch (cm.dn_1.d3_1) {
case 0:
tmp = emptyList();
break;
case 1:
tmp = listOf(new Char($this.anyChar));
break;
case 2:
tmp = listOf(new Char(_Char___init__impl__6a9atx(10)));
break;
case 3:
var message = 'should not happen';
throw IllegalStateException.v4(toString(message));
case 4:
tmp = listOf(new Char(cm.en_1));
break;
case 5:
// Inline function 'kotlin.collections.flatMap' call
var tmp0 = cm.gn_1;
// Inline function 'kotlin.collections.flatMapTo' call
var destination = ArrayList.y();
var inductionVariable = 0;
var last = tmp0.length;
while (inductionVariable < last) {
var element = tmp0[inductionVariable];
inductionVariable = inductionVariable + 1 | 0;
var list = allOf($this, element);
addAll(destination, list);
}
tmp = destination;
break;
case 6:
tmp = toList(Char__rangeTo_impl_tkncvp(cm.hn_1, cm.fn_1));
break;
default:
noWhenBranchMatchedException();
break;
}
return tmp;
}
var Companion_instance_2;
function Companion_getInstance_2() {
if (Companion_instance_2 === VOID)
new Companion_2();
return Companion_instance_2;
}
var MatcherKind_EMPTY_instance;
var MatcherKind_ANY_instance;
var MatcherKind_END_OF_LINE_OR_INPUT_instance;
var MatcherKind_NEGATED_instance;
var MatcherKind_LITERAL_instance;
var MatcherKind_ONE_OF_instance;
var MatcherKind_RANGE_instance;
var MatcherKind_entriesInitialized;
function MatcherKind_initEntries() {
if (MatcherKind_entriesInitialized)
return Unit_instance;
MatcherKind_entriesInitialized = true;
MatcherKind_EMPTY_instance = new MatcherKind('EMPTY', 0);
MatcherKind_ANY_instance = new MatcherKind('ANY', 1);
MatcherKind_END_OF_LINE_OR_INPUT_instance = new MatcherKind('END_OF_LINE_OR_INPUT', 2);
MatcherKind_NEGATED_instance = new MatcherKind('NEGATED', 3);
MatcherKind_LITERAL_instance = new MatcherKind('LITERAL', 4);
MatcherKind_ONE_OF_instance = new MatcherKind('ONE_OF', 5);
MatcherKind_RANGE_instance = new MatcherKind('RANGE', 6);
}
function addNextStates(nextStates, next) {
var tmp;
if (null == next) {
tmp = false;
} else {
var tmp_0;
if (next.wl_1) {
var tmp0 = next.xl_1;
var tmp$ret$0;
$l$block_0: {
// Inline function 'kotlin.collections.any' call
var tmp_1;
if (isInterface(tmp0, Collection)) {
tmp_1 = tmp0.a1();
} else {
tmp_1 = false;
}
if (tmp_1) {
tmp$ret$0 = false;
break $l$block_0;
}
var _iterator__ex2g4s = tmp0.s();
while (_iterator__ex2g4s.t()) {
var element = _iterator__ex2g4s.u();
if (addNextStates(nextStates, element.dm_1)) {
tmp$ret$0 = true;
break $l$block_0;
}
}
tmp$ret$0 = false;
}
tmp_0 = tmp$ret$0;
} else {
nextStates.r(next);
tmp_0 = equals(next, Companion_getInstance().zl_1);
}
tmp = tmp_0;
}
return tmp;
}
var TransitionKind_MATCHER_instance;
var TransitionKind_EMPTY_instance;
var TransitionKind_END_OF_LINE_OR_INPUT_instance;
var TransitionKind_entriesInitialized;
function TransitionKind_initEntries() {
if (TransitionKind_entriesInitialized)
return Unit_instance;
TransitionKind_entriesInitialized = true;
TransitionKind_MATCHER_instance = new TransitionKind('MATCHER', 0);
TransitionKind_EMPTY_instance = new TransitionKind('EMPTY', 1);
TransitionKind_END_OF_LINE_OR_INPUT_instance = new TransitionKind('END_OF_LINE_OR_INPUT', 2);
}
function MatcherKind_EMPTY_getInstance() {
MatcherKind_initEntries();
return MatcherKind_EMPTY_instance;
}
function MatcherKind_ANY_getInstance() {
MatcherKind_initEntries();
return MatcherKind_ANY_instance;
}
function MatcherKind_END_OF_LINE_OR_INPUT_getInstance() {
MatcherKind_initEntries();
return MatcherKind_END_OF_LINE_OR_INPUT_instance;
}
function MatcherKind_NEGATED_getInstance() {
MatcherKind_initEntries();
return MatcherKind_NEGATED_instance;
}
function MatcherKind_LITERAL_getInstance() {
MatcherKind_initEntries();
return MatcherKind_LITERAL_instance;
}
function MatcherKind_ONE_OF_getInstance() {
MatcherKind_initEntries();
return MatcherKind_ONE_OF_instance;
}
function MatcherKind_RANGE_getInstance() {
MatcherKind_initEntries();
return MatcherKind_RANGE_instance;
}
function TransitionKind_MATCHER_getInstance() {
TransitionKind_initEntries();
return TransitionKind_MATCHER_instance;
}
function TransitionKind_EMPTY_getInstance() {
TransitionKind_initEntries();
return TransitionKind_EMPTY_instance;
}
var RegexEngineKind_PLATFORM_instance;
var RegexEngineKind_AGL_instance;
function values() {
return [RegexEngineKind_PLATFORM_getInstance(), RegexEngineKind_AGL_getInstance()];
}
function valueOf(value) {
switch (value) {
case 'PLATFORM':
return RegexEngineKind_PLATFORM_getInstance();
case 'AGL':
return RegexEngineKind_AGL_getInstance();
default:
RegexEngineKind_initEntries();
THROW_IAE('No enum constant value.');
break;
}
}
var RegexEngineKind_entriesInitialized;
function RegexEngineKind_initEntries() {
if (RegexEngineKind_entriesInitialized)
return Unit_instance;
RegexEngineKind_entriesInitialized = true;
RegexEngineKind_PLATFORM_instance = new RegexEngineKind('PLATFORM', 0);
RegexEngineKind_AGL_instance = new RegexEngineKind('AGL', 1);
}
function RegexEngineKind_PLATFORM_getInstance() {
RegexEngineKind_initEntries();
return RegexEngineKind_PLATFORM_instance;
}
function RegexEngineKind_AGL_getInstance() {
RegexEngineKind_initEntries();
return RegexEngineKind_AGL_instance;
}
var RegexEnginePlatform_instance;
function RegexEnginePlatform_getInstance() {
if (RegexEnginePlatform_instance === VOID)
new RegexEnginePlatform_0();
return RegexEnginePlatform_instance;
}
var RegexEngineAgl_instance;
function RegexEngineAgl_getInstance() {
if (RegexEngineAgl_instance === VOID)
new RegexEngineAgl_0();
return RegexEngineAgl_instance;
}
//region block: post-declaration
initMetadataForObject(BuildConfig_0, 'BuildConfig');
initMetadataForClass(RegexMatcherBuilder, 'RegexMatcherBuilder');
initMetadataForCompanion(Companion);
initMetadataForInterface(RegexMatcher, 'RegexMatcher');
protoOf(RegexMatcherImpl).match = match;
initMetadataForClass(RegexMatcherImpl, 'RegexMatcherImpl', VOID, VOID, [RegexMatcher]);
initMetadataForClass(EscapeKind, 'EscapeKind');
initMetadataForCompanion(Companion_0);
initMetadataForClass(RegexParser, 'RegexParser');
initMetadataForCompanion(Companion_1);
initMetadataForClass(RegexValueProvider, 'RegexValueProvider');
initMetadataForCompanion(Companion_2);
initMetadataForClass(CharacterMatcher, 'CharacterMatcher');
initMetadataForClass(MatcherKind, 'MatcherKind');
initMetadataForClass(State, 'State');
initMetadataForClass(Transition, 'Transition');
initMetadataForClass(TransitionKind, 'TransitionKind');
initMetadataForClass(Fragment, 'Fragment');
initMetadataForClass(RegexEngineKind, 'RegexEngineKind');
initMetadataForInterface(MatchResult, 'MatchResult');
initMetadataForClass(MatchResultAgl, 'MatchResultAgl', VOID, VOID, [MatchResult]);
initMetadataForInterface(Regex_0, 'Regex');
initMetadataForInterface(RegexEngine, 'RegexEngine');
initMetadataForClass(RegexPlatform, 'RegexPlatform', VOID, VOID, [Regex_0]);
initMetadataForClass(RegexAgl, 'RegexAgl', VOID, VOID, [Regex_0]);
initMetadataForObject(RegexEnginePlatform_0, 'RegexEnginePlatform', VOID, VOID, [RegexEngine]);
initMetadataForObject(RegexEngineAgl_0, 'RegexEngineAgl', VOID, VOID, [RegexEngine]);
//endregion
//region block: init
BuildConfig_instance = new BuildConfig_0();
//endregion
//region block: exports
var BuildConfig = {getInstance: BuildConfig_getInstance};
defineProp(RegexValueProvider, 'Companion', Companion_getInstance_1);
RegexEngineKind.values = values;
RegexEngineKind.valueOf = valueOf;
defineProp(RegexEngineKind, 'PLATFORM', RegexEngineKind_PLATFORM_getInstance);
defineProp(RegexEngineKind, 'AGL', RegexEngineKind_AGL_getInstance);
var RegexEnginePlatform = {getInstance: RegexEnginePlatform_getInstance};
var RegexEngineAgl = {getInstance: RegexEngineAgl_getInstance};
export {
BuildConfig as BuildConfig,
regexMatcher as regexMatcher,
RegexValueProvider as RegexValueProvider,
RegexEngineKind as RegexEngineKind,
RegexPlatform as RegexPlatform,
RegexAgl as RegexAgl,
RegexEnginePlatform as RegexEnginePlatform,
RegexEngineAgl as RegexEngineAgl,
};
export {
RegexEngineKind_PLATFORM_getInstance as RegexEngineKind_PLATFORM_getInstancee9x0uwmxnmy0,
RegexEngineAgl_getInstance as RegexEngineAgl_getInstance1v73djgixeep,
RegexEnginePlatform_getInstance as RegexEnginePlatform_getInstance3aim5ebqg16so,
RegexValueProvider as RegexValueProvider1jsd46klwvaq9,
regexMatcher as regexMatcher7lcajteh1ep3,
};
//endregion
//# sourceMappingURL=net.akehurst.language-agl-regex.mjs.map