github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/JSON_Spec/JSON_Spec.go (about) 1 // Package JSON_Spec 2 // Dafny module JSON_Spec compiled into Go 3 4 package JSON_Spec 5 6 import ( 7 os "os" 8 9 m_Actions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Actions" 10 m_Base64 "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64" 11 m_Base64Lemmas "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64Lemmas" 12 m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts" 13 m_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals" 14 m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear" 15 m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod" 16 m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO" 17 m_FloatCompare "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FloatCompare" 18 m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions" 19 m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals" 20 m_GetOpt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GetOpt" 21 m_HexStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/HexStrings" 22 m_JSON_Errors "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Errors" 23 m_JSON_Utils_Cursors "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Cursors" 24 m_JSON_Utils_Lexers_Core "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Lexers_Core" 25 m_JSON_Utils_Lexers_Strings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Lexers_Strings" 26 m_JSON_Utils_Parsers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Parsers" 27 m_JSON_Utils_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Seq" 28 m_JSON_Utils_Str "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Str" 29 m_JSON_Utils_Str_CharStrConversion "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Str_CharStrConversion" 30 m_JSON_Utils_Str_CharStrEscaping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Str_CharStrEscaping" 31 m_JSON_Utils_Vectors "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Vectors" 32 m_JSON_Utils_Views_Core "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Views_Core" 33 m_JSON_Utils_Views_Writers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Views_Writers" 34 m_JSON_Values "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Values" 35 m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm" 36 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 37 m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals" 38 m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear" 39 m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul" 40 m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals" 41 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 42 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 43 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 44 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 45 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 46 m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" 47 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 48 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 49 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 50 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 51 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 52 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 53 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 54 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 55 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 56 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 57 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 58 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 59 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 60 ) 61 62 var _ = os.Args 63 var _ _dafny.Dummy__ 64 var _ m__System.Dummy__ 65 var _ m_Wrappers.Dummy__ 66 var _ m_Relations.Dummy__ 67 var _ m_Seq_MergeSort.Dummy__ 68 var _ m__Math.Dummy__ 69 var _ m_Seq.Dummy__ 70 var _ m_BoundedInts.Dummy__ 71 var _ m__Unicode.Dummy__ 72 var _ m_Functions.Dummy__ 73 var _ m_Utf8EncodingForm.Dummy__ 74 var _ m_Utf16EncodingForm.Dummy__ 75 var _ m_UnicodeStrings.Dummy__ 76 var _ m_FileIO.Dummy__ 77 var _ m_GeneralInternals.Dummy__ 78 var _ m_MulInternalsNonlinear.Dummy__ 79 var _ m_MulInternals.Dummy__ 80 var _ m_Mul.Dummy__ 81 var _ m_ModInternalsNonlinear.Dummy__ 82 var _ m_DivInternalsNonlinear.Dummy__ 83 var _ m_ModInternals.Dummy__ 84 var _ m_DivInternals.Dummy__ 85 var _ m_DivMod.Dummy__ 86 var _ m_Power.Dummy__ 87 var _ m_Logarithm.Dummy__ 88 var _ m_StandardLibraryInterop.Dummy__ 89 var _ m_StandardLibrary_UInt.Dummy__ 90 var _ m_StandardLibrary_Sequence.Dummy__ 91 var _ m_StandardLibrary_String.Dummy__ 92 var _ m_StandardLibrary.Dummy__ 93 var _ m_Streams.Dummy__ 94 var _ m_Sorting.Dummy__ 95 var _ m_HexStrings.Dummy__ 96 var _ m_GetOpt.Dummy__ 97 var _ m_FloatCompare.Dummy__ 98 var _ m_Base64.Dummy__ 99 var _ m_Base64Lemmas.Dummy__ 100 var _ m_Actions.Dummy__ 101 var _ m_JSON_Utils_Views_Core.Dummy__ 102 var _ m_JSON_Utils_Views_Writers.Dummy__ 103 var _ m_JSON_Utils_Lexers_Core.Dummy__ 104 var _ m_JSON_Utils_Lexers_Strings.Dummy__ 105 var _ m_JSON_Utils_Cursors.Dummy__ 106 var _ m_JSON_Utils_Parsers.Dummy__ 107 var _ m_JSON_Utils_Str_CharStrConversion.Dummy__ 108 var _ m_JSON_Utils_Str_CharStrEscaping.Dummy__ 109 var _ m_JSON_Utils_Str.Dummy__ 110 var _ m_JSON_Utils_Seq.Dummy__ 111 var _ m_JSON_Utils_Vectors.Dummy__ 112 var _ m_JSON_Errors.Dummy__ 113 var _ m_JSON_Values.Dummy__ 114 115 type Dummy__ struct{} 116 117 // Definition of class Default__ 118 type Default__ struct { 119 dummy byte 120 } 121 122 func New_Default___() *Default__ { 123 _this := Default__{} 124 125 return &_this 126 } 127 128 type CompanionStruct_Default___ struct { 129 } 130 131 var Companion_Default___ = CompanionStruct_Default___{} 132 133 func (_this *Default__) Equals(other *Default__) bool { 134 return _this == other 135 } 136 137 func (_this *Default__) EqualsGeneric(x interface{}) bool { 138 other, ok := x.(*Default__) 139 return ok && _this.Equals(other) 140 } 141 142 func (*Default__) String() string { 143 return "JSON_Spec.Default__" 144 } 145 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 146 return [](*_dafny.TraitID){} 147 } 148 149 var _ _dafny.TraitOffspring = &Default__{} 150 151 func (_static *CompanionStruct_Default___) EscapeUnicode(c uint16) _dafny.Sequence { 152 var _0_sStr _dafny.Sequence = m_JSON_Utils_Str.Companion_Default___.OfNat(_dafny.IntOfUint16(c), _dafny.IntOfInt64(16)) 153 _ = _0_sStr 154 var _1_s _dafny.Sequence = m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_0_sStr) 155 _ = _1_s 156 return _dafny.Companion_Sequence_.Concatenate(_1_s, _dafny.SeqCreate(((_dafny.IntOfInt64(4)).Minus(_dafny.IntOfUint32((_1_s).Cardinality()))).Uint32(), func(coer36 func(_dafny.Int) uint16) func(_dafny.Int) interface{} { 157 return func(arg40 _dafny.Int) interface{} { 158 return coer36(arg40) 159 } 160 }(func(_2___v0 _dafny.Int) uint16 { 161 return uint16(_dafny.Char(' ')) 162 }))) 163 } 164 func (_static *CompanionStruct_Default___) Escape(str _dafny.Sequence, start _dafny.Int) _dafny.Sequence { 165 var _0___accumulator _dafny.Sequence = _dafny.SeqOf() 166 _ = _0___accumulator 167 goto TAIL_CALL_START 168 TAIL_CALL_START: 169 if (start).Cmp(_dafny.IntOfUint32((str).Cardinality())) >= 0 { 170 return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOf()) 171 } else { 172 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, func() _dafny.Sequence { 173 var _source0 uint16 = (str).Select((start).Uint32()).(uint16) 174 _ = _source0 175 { 176 if (_source0) == (uint16(34)) { 177 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\\"")) 178 } 179 } 180 { 181 if (_source0) == (uint16(92)) { 182 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\\\")) 183 } 184 } 185 { 186 if (_source0) == (uint16(8)) { 187 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\b")) 188 } 189 } 190 { 191 if (_source0) == (uint16(12)) { 192 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\f")) 193 } 194 } 195 { 196 if (_source0) == (uint16(10)) { 197 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\n")) 198 } 199 } 200 { 201 if (_source0) == (uint16(13)) { 202 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\r")) 203 } 204 } 205 { 206 if (_source0) == (uint16(9)) { 207 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\t")) 208 } 209 } 210 { 211 var _1_c uint16 = _source0 212 _ = _1_c 213 if (_1_c) < (uint16(31)) { 214 return _dafny.Companion_Sequence_.Concatenate(m_UnicodeStrings.Companion_Default___.ASCIIToUTF16(_dafny.SeqOfString("\\u")), Companion_Default___.EscapeUnicode(_1_c)) 215 } else { 216 return _dafny.SeqOf((str).Select((start).Uint32()).(uint16)) 217 } 218 } 219 }()) 220 var _in0 _dafny.Sequence = str 221 _ = _in0 222 var _in1 _dafny.Int = (start).Plus(_dafny.One) 223 _ = _in1 224 str = _in0 225 start = _in1 226 goto TAIL_CALL_START 227 } 228 } 229 func (_static *CompanionStruct_Default___) EscapeToUTF8(str _dafny.Sequence, start _dafny.Int) m_Wrappers.Result { 230 var _0_valueOrError0 m_Wrappers.Result = (m_UnicodeStrings.Companion_Default___.ToUTF16Checked(str)).ToResult_k(m_JSON_Errors.Companion_SerializationError_.Create_InvalidUnicode_()) 231 _ = _0_valueOrError0 232 if (_0_valueOrError0).IsFailure() { 233 return (_0_valueOrError0).PropagateFailure() 234 } else { 235 var _1_utf16 _dafny.Sequence = (_0_valueOrError0).Extract().(_dafny.Sequence) 236 _ = _1_utf16 237 var _2_escaped _dafny.Sequence = Companion_Default___.Escape(_1_utf16, _dafny.Zero) 238 _ = _2_escaped 239 var _3_valueOrError1 m_Wrappers.Result = (m_UnicodeStrings.Companion_Default___.FromUTF16Checked(_2_escaped)).ToResult_k(m_JSON_Errors.Companion_SerializationError_.Create_InvalidUnicode_()) 240 _ = _3_valueOrError1 241 if (_3_valueOrError1).IsFailure() { 242 return (_3_valueOrError1).PropagateFailure() 243 } else { 244 var _4_utf32 _dafny.Sequence = (_3_valueOrError1).Extract().(_dafny.Sequence) 245 _ = _4_utf32 246 return (m_UnicodeStrings.Companion_Default___.ToUTF8Checked(_4_utf32)).ToResult_k(m_JSON_Errors.Companion_SerializationError_.Create_InvalidUnicode_()) 247 } 248 } 249 } 250 func (_static *CompanionStruct_Default___) String(str _dafny.Sequence) m_Wrappers.Result { 251 var _0_valueOrError0 m_Wrappers.Result = Companion_Default___.EscapeToUTF8(str, _dafny.Zero) 252 _ = _0_valueOrError0 253 if (_0_valueOrError0).IsFailure() { 254 return (_0_valueOrError0).PropagateFailure() 255 } else { 256 var _1_inBytes _dafny.Sequence = (_0_valueOrError0).Extract().(_dafny.Sequence) 257 _ = _1_inBytes 258 return m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("\"")), _1_inBytes), m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("\"")))) 259 } 260 } 261 func (_static *CompanionStruct_Default___) IntToBytes(n _dafny.Int) _dafny.Sequence { 262 var _0_s _dafny.Sequence = m_JSON_Utils_Str.Companion_Default___.OfInt(n, _dafny.IntOfInt64(10)) 263 _ = _0_s 264 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_0_s) 265 } 266 func (_static *CompanionStruct_Default___) Number(dec m_JSON_Values.Decimal) m_Wrappers.Result { 267 return m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Concatenate(Companion_Default___.IntToBytes((dec).Dtor_n()), (func() _dafny.Sequence { 268 if ((dec).Dtor_e10()).Sign() == 0 { 269 return _dafny.SeqOf() 270 } 271 return _dafny.Companion_Sequence_.Concatenate(m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("e")), Companion_Default___.IntToBytes((dec).Dtor_e10())) 272 })())) 273 } 274 func (_static *CompanionStruct_Default___) KeyValue(kv _dafny.Tuple) m_Wrappers.Result { 275 var _0_valueOrError0 m_Wrappers.Result = Companion_Default___.String((*(kv).IndexInt(0)).(_dafny.Sequence)) 276 _ = _0_valueOrError0 277 if (_0_valueOrError0).IsFailure() { 278 return (_0_valueOrError0).PropagateFailure() 279 } else { 280 var _1_key _dafny.Sequence = (_0_valueOrError0).Extract().(_dafny.Sequence) 281 _ = _1_key 282 var _2_valueOrError1 m_Wrappers.Result = Companion_Default___.JSON((*(kv).IndexInt(1)).(m_JSON_Values.JSON)) 283 _ = _2_valueOrError1 284 if (_2_valueOrError1).IsFailure() { 285 return (_2_valueOrError1).PropagateFailure() 286 } else { 287 var _3_value _dafny.Sequence = (_2_valueOrError1).Extract().(_dafny.Sequence) 288 _ = _3_value 289 return m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_1_key, m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString(":"))), _3_value)) 290 } 291 } 292 } 293 func (_static *CompanionStruct_Default___) Join(sep _dafny.Sequence, items _dafny.Sequence) m_Wrappers.Result { 294 if (_dafny.IntOfUint32((items).Cardinality())).Sign() == 0 { 295 return m_Wrappers.Companion_Result_.Create_Success_(_dafny.SeqOf()) 296 } else { 297 var _0_valueOrError0 m_Wrappers.Result = (items).Select(0).(m_Wrappers.Result) 298 _ = _0_valueOrError0 299 if (_0_valueOrError0).IsFailure() { 300 return (_0_valueOrError0).PropagateFailure() 301 } else { 302 var _1_first _dafny.Sequence = (_0_valueOrError0).Extract().(_dafny.Sequence) 303 _ = _1_first 304 if (_dafny.IntOfUint32((items).Cardinality())).Cmp(_dafny.One) == 0 { 305 return m_Wrappers.Companion_Result_.Create_Success_(_1_first) 306 } else { 307 var _2_valueOrError1 m_Wrappers.Result = Companion_Default___.Join(sep, (items).Drop(1)) 308 _ = _2_valueOrError1 309 if (_2_valueOrError1).IsFailure() { 310 return (_2_valueOrError1).PropagateFailure() 311 } else { 312 var _3_rest _dafny.Sequence = (_2_valueOrError1).Extract().(_dafny.Sequence) 313 _ = _3_rest 314 return m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_1_first, sep), _3_rest)) 315 } 316 } 317 } 318 } 319 } 320 func (_static *CompanionStruct_Default___) Object(obj _dafny.Sequence) m_Wrappers.Result { 321 var _0_valueOrError0 m_Wrappers.Result = Companion_Default___.Join(m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString(",")), _dafny.SeqCreate((_dafny.IntOfUint32((obj).Cardinality())).Uint32(), func(coer37 func(_dafny.Int) m_Wrappers.Result) func(_dafny.Int) interface{} { 322 return func(arg41 _dafny.Int) interface{} { 323 return coer37(arg41) 324 } 325 }((func(_1_obj _dafny.Sequence) func(_dafny.Int) m_Wrappers.Result { 326 return func(_2_i _dafny.Int) m_Wrappers.Result { 327 return Companion_Default___.KeyValue((_1_obj).Select((_2_i).Uint32()).(_dafny.Tuple)) 328 } 329 })(obj)))) 330 _ = _0_valueOrError0 331 if (_0_valueOrError0).IsFailure() { 332 return (_0_valueOrError0).PropagateFailure() 333 } else { 334 var _3_middle _dafny.Sequence = (_0_valueOrError0).Extract().(_dafny.Sequence) 335 _ = _3_middle 336 return m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("{")), _3_middle), m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("}")))) 337 } 338 } 339 func (_static *CompanionStruct_Default___) Array(arr _dafny.Sequence) m_Wrappers.Result { 340 var _0_valueOrError0 m_Wrappers.Result = Companion_Default___.Join(m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString(",")), _dafny.SeqCreate((_dafny.IntOfUint32((arr).Cardinality())).Uint32(), func(coer38 func(_dafny.Int) m_Wrappers.Result) func(_dafny.Int) interface{} { 341 return func(arg42 _dafny.Int) interface{} { 342 return coer38(arg42) 343 } 344 }((func(_1_arr _dafny.Sequence) func(_dafny.Int) m_Wrappers.Result { 345 return func(_2_i _dafny.Int) m_Wrappers.Result { 346 return Companion_Default___.JSON((_1_arr).Select((_2_i).Uint32()).(m_JSON_Values.JSON)) 347 } 348 })(arr)))) 349 _ = _0_valueOrError0 350 if (_0_valueOrError0).IsFailure() { 351 return (_0_valueOrError0).PropagateFailure() 352 } else { 353 var _3_middle _dafny.Sequence = (_0_valueOrError0).Extract().(_dafny.Sequence) 354 _ = _3_middle 355 return m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("[")), _3_middle), m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("]")))) 356 } 357 } 358 func (_static *CompanionStruct_Default___) JSON(js m_JSON_Values.JSON) m_Wrappers.Result { 359 var _source0 m_JSON_Values.JSON = js 360 _ = _source0 361 { 362 if _source0.Is_Null() { 363 return m_Wrappers.Companion_Result_.Create_Success_(m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("null"))) 364 } 365 } 366 { 367 if _source0.Is_Bool() { 368 var _0_b bool = _source0.Get_().(m_JSON_Values.JSON_Bool).B 369 _ = _0_b 370 return m_Wrappers.Companion_Result_.Create_Success_((func() _dafny.Sequence { 371 if _0_b { 372 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("true")) 373 } 374 return m_UnicodeStrings.Companion_Default___.ASCIIToUTF8(_dafny.SeqOfString("false")) 375 })()) 376 } 377 } 378 { 379 if _source0.Is_String() { 380 var _1_str _dafny.Sequence = _source0.Get_().(m_JSON_Values.JSON_String).Str 381 _ = _1_str 382 return Companion_Default___.String(_1_str) 383 } 384 } 385 { 386 if _source0.Is_Number() { 387 var _2_dec m_JSON_Values.Decimal = _source0.Get_().(m_JSON_Values.JSON_Number).Num 388 _ = _2_dec 389 return Companion_Default___.Number(_2_dec) 390 } 391 } 392 { 393 if _source0.Is_Object() { 394 var _3_obj _dafny.Sequence = _source0.Get_().(m_JSON_Values.JSON_Object).Obj 395 _ = _3_obj 396 return Companion_Default___.Object(_3_obj) 397 } 398 } 399 { 400 var _4_arr _dafny.Sequence = _source0.Get_().(m_JSON_Values.JSON_Array).Arr 401 _ = _4_arr 402 return Companion_Default___.Array(_4_arr) 403 } 404 } 405 406 // End of class Default__