github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/JSON_Errors/JSON_Errors.go (about) 1 // Package JSON_Errors 2 // Dafny module JSON_Errors compiled into Go 3 4 package JSON_Errors 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_Utils_Cursors "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Cursors" 23 m_JSON_Utils_Lexers_Core "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Lexers_Core" 24 m_JSON_Utils_Lexers_Strings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Lexers_Strings" 25 m_JSON_Utils_Parsers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Parsers" 26 m_JSON_Utils_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Seq" 27 m_JSON_Utils_Str "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Str" 28 m_JSON_Utils_Str_CharStrConversion "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Str_CharStrConversion" 29 m_JSON_Utils_Str_CharStrEscaping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Str_CharStrEscaping" 30 m_JSON_Utils_Vectors "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Vectors" 31 m_JSON_Utils_Views_Core "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Views_Core" 32 m_JSON_Utils_Views_Writers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/JSON_Utils_Views_Writers" 33 m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm" 34 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 35 m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals" 36 m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear" 37 m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul" 38 m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals" 39 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 40 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 41 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 42 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 43 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 44 m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" 45 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 46 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 47 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 48 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 49 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 50 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 51 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 52 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 53 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 54 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 55 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 56 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 57 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 58 ) 59 60 var _ = os.Args 61 var _ _dafny.Dummy__ 62 var _ m__System.Dummy__ 63 var _ m_Wrappers.Dummy__ 64 var _ m_Relations.Dummy__ 65 var _ m_Seq_MergeSort.Dummy__ 66 var _ m__Math.Dummy__ 67 var _ m_Seq.Dummy__ 68 var _ m_BoundedInts.Dummy__ 69 var _ m__Unicode.Dummy__ 70 var _ m_Functions.Dummy__ 71 var _ m_Utf8EncodingForm.Dummy__ 72 var _ m_Utf16EncodingForm.Dummy__ 73 var _ m_UnicodeStrings.Dummy__ 74 var _ m_FileIO.Dummy__ 75 var _ m_GeneralInternals.Dummy__ 76 var _ m_MulInternalsNonlinear.Dummy__ 77 var _ m_MulInternals.Dummy__ 78 var _ m_Mul.Dummy__ 79 var _ m_ModInternalsNonlinear.Dummy__ 80 var _ m_DivInternalsNonlinear.Dummy__ 81 var _ m_ModInternals.Dummy__ 82 var _ m_DivInternals.Dummy__ 83 var _ m_DivMod.Dummy__ 84 var _ m_Power.Dummy__ 85 var _ m_Logarithm.Dummy__ 86 var _ m_StandardLibraryInterop.Dummy__ 87 var _ m_StandardLibrary_UInt.Dummy__ 88 var _ m_StandardLibrary_Sequence.Dummy__ 89 var _ m_StandardLibrary_String.Dummy__ 90 var _ m_StandardLibrary.Dummy__ 91 var _ m_Streams.Dummy__ 92 var _ m_Sorting.Dummy__ 93 var _ m_HexStrings.Dummy__ 94 var _ m_GetOpt.Dummy__ 95 var _ m_FloatCompare.Dummy__ 96 var _ m_Base64.Dummy__ 97 var _ m_Base64Lemmas.Dummy__ 98 var _ m_Actions.Dummy__ 99 var _ m_JSON_Utils_Views_Core.Dummy__ 100 var _ m_JSON_Utils_Views_Writers.Dummy__ 101 var _ m_JSON_Utils_Lexers_Core.Dummy__ 102 var _ m_JSON_Utils_Lexers_Strings.Dummy__ 103 var _ m_JSON_Utils_Cursors.Dummy__ 104 var _ m_JSON_Utils_Parsers.Dummy__ 105 var _ m_JSON_Utils_Str_CharStrConversion.Dummy__ 106 var _ m_JSON_Utils_Str_CharStrEscaping.Dummy__ 107 var _ m_JSON_Utils_Str.Dummy__ 108 var _ m_JSON_Utils_Seq.Dummy__ 109 var _ m_JSON_Utils_Vectors.Dummy__ 110 111 type Dummy__ struct{} 112 113 // Definition of datatype DeserializationError 114 type DeserializationError struct { 115 Data_DeserializationError_ 116 } 117 118 func (_this DeserializationError) Get_() Data_DeserializationError_ { 119 return _this.Data_DeserializationError_ 120 } 121 122 type Data_DeserializationError_ interface { 123 isDeserializationError() 124 } 125 126 type CompanionStruct_DeserializationError_ struct { 127 } 128 129 var Companion_DeserializationError_ = CompanionStruct_DeserializationError_{} 130 131 type DeserializationError_UnterminatedSequence struct { 132 } 133 134 func (DeserializationError_UnterminatedSequence) isDeserializationError() {} 135 136 func (CompanionStruct_DeserializationError_) Create_UnterminatedSequence_() DeserializationError { 137 return DeserializationError{DeserializationError_UnterminatedSequence{}} 138 } 139 140 func (_this DeserializationError) Is_UnterminatedSequence() bool { 141 _, ok := _this.Get_().(DeserializationError_UnterminatedSequence) 142 return ok 143 } 144 145 type DeserializationError_UnsupportedEscape struct { 146 Str _dafny.Sequence 147 } 148 149 func (DeserializationError_UnsupportedEscape) isDeserializationError() {} 150 151 func (CompanionStruct_DeserializationError_) Create_UnsupportedEscape_(Str _dafny.Sequence) DeserializationError { 152 return DeserializationError{DeserializationError_UnsupportedEscape{Str}} 153 } 154 155 func (_this DeserializationError) Is_UnsupportedEscape() bool { 156 _, ok := _this.Get_().(DeserializationError_UnsupportedEscape) 157 return ok 158 } 159 160 type DeserializationError_EscapeAtEOS struct { 161 } 162 163 func (DeserializationError_EscapeAtEOS) isDeserializationError() {} 164 165 func (CompanionStruct_DeserializationError_) Create_EscapeAtEOS_() DeserializationError { 166 return DeserializationError{DeserializationError_EscapeAtEOS{}} 167 } 168 169 func (_this DeserializationError) Is_EscapeAtEOS() bool { 170 _, ok := _this.Get_().(DeserializationError_EscapeAtEOS) 171 return ok 172 } 173 174 type DeserializationError_EmptyNumber struct { 175 } 176 177 func (DeserializationError_EmptyNumber) isDeserializationError() {} 178 179 func (CompanionStruct_DeserializationError_) Create_EmptyNumber_() DeserializationError { 180 return DeserializationError{DeserializationError_EmptyNumber{}} 181 } 182 183 func (_this DeserializationError) Is_EmptyNumber() bool { 184 _, ok := _this.Get_().(DeserializationError_EmptyNumber) 185 return ok 186 } 187 188 type DeserializationError_ExpectingEOF struct { 189 } 190 191 func (DeserializationError_ExpectingEOF) isDeserializationError() {} 192 193 func (CompanionStruct_DeserializationError_) Create_ExpectingEOF_() DeserializationError { 194 return DeserializationError{DeserializationError_ExpectingEOF{}} 195 } 196 197 func (_this DeserializationError) Is_ExpectingEOF() bool { 198 _, ok := _this.Get_().(DeserializationError_ExpectingEOF) 199 return ok 200 } 201 202 type DeserializationError_IntOverflow struct { 203 } 204 205 func (DeserializationError_IntOverflow) isDeserializationError() {} 206 207 func (CompanionStruct_DeserializationError_) Create_IntOverflow_() DeserializationError { 208 return DeserializationError{DeserializationError_IntOverflow{}} 209 } 210 211 func (_this DeserializationError) Is_IntOverflow() bool { 212 _, ok := _this.Get_().(DeserializationError_IntOverflow) 213 return ok 214 } 215 216 type DeserializationError_ReachedEOF struct { 217 } 218 219 func (DeserializationError_ReachedEOF) isDeserializationError() {} 220 221 func (CompanionStruct_DeserializationError_) Create_ReachedEOF_() DeserializationError { 222 return DeserializationError{DeserializationError_ReachedEOF{}} 223 } 224 225 func (_this DeserializationError) Is_ReachedEOF() bool { 226 _, ok := _this.Get_().(DeserializationError_ReachedEOF) 227 return ok 228 } 229 230 type DeserializationError_ExpectingByte struct { 231 Expected uint8 232 B int16 233 } 234 235 func (DeserializationError_ExpectingByte) isDeserializationError() {} 236 237 func (CompanionStruct_DeserializationError_) Create_ExpectingByte_(Expected uint8, B int16) DeserializationError { 238 return DeserializationError{DeserializationError_ExpectingByte{Expected, B}} 239 } 240 241 func (_this DeserializationError) Is_ExpectingByte() bool { 242 _, ok := _this.Get_().(DeserializationError_ExpectingByte) 243 return ok 244 } 245 246 type DeserializationError_ExpectingAnyByte struct { 247 Expected__sq _dafny.Sequence 248 B int16 249 } 250 251 func (DeserializationError_ExpectingAnyByte) isDeserializationError() {} 252 253 func (CompanionStruct_DeserializationError_) Create_ExpectingAnyByte_(Expected__sq _dafny.Sequence, B int16) DeserializationError { 254 return DeserializationError{DeserializationError_ExpectingAnyByte{Expected__sq, B}} 255 } 256 257 func (_this DeserializationError) Is_ExpectingAnyByte() bool { 258 _, ok := _this.Get_().(DeserializationError_ExpectingAnyByte) 259 return ok 260 } 261 262 type DeserializationError_InvalidUnicode struct { 263 } 264 265 func (DeserializationError_InvalidUnicode) isDeserializationError() {} 266 267 func (CompanionStruct_DeserializationError_) Create_InvalidUnicode_() DeserializationError { 268 return DeserializationError{DeserializationError_InvalidUnicode{}} 269 } 270 271 func (_this DeserializationError) Is_InvalidUnicode() bool { 272 _, ok := _this.Get_().(DeserializationError_InvalidUnicode) 273 return ok 274 } 275 276 func (CompanionStruct_DeserializationError_) Default() DeserializationError { 277 return Companion_DeserializationError_.Create_UnterminatedSequence_() 278 } 279 280 func (_this DeserializationError) Dtor_str() _dafny.Sequence { 281 return _this.Get_().(DeserializationError_UnsupportedEscape).Str 282 } 283 284 func (_this DeserializationError) Dtor_expected() uint8 { 285 return _this.Get_().(DeserializationError_ExpectingByte).Expected 286 } 287 288 func (_this DeserializationError) Dtor_b() int16 { 289 switch data := _this.Get_().(type) { 290 case DeserializationError_ExpectingByte: 291 return data.B 292 default: 293 return data.(DeserializationError_ExpectingAnyByte).B 294 } 295 } 296 297 func (_this DeserializationError) Dtor_expected__sq() _dafny.Sequence { 298 return _this.Get_().(DeserializationError_ExpectingAnyByte).Expected__sq 299 } 300 301 func (_this DeserializationError) String() string { 302 switch data := _this.Get_().(type) { 303 case nil: 304 return "null" 305 case DeserializationError_UnterminatedSequence: 306 { 307 return "Errors.DeserializationError.UnterminatedSequence" 308 } 309 case DeserializationError_UnsupportedEscape: 310 { 311 return "Errors.DeserializationError.UnsupportedEscape" + "(" + _dafny.String(data.Str) + ")" 312 } 313 case DeserializationError_EscapeAtEOS: 314 { 315 return "Errors.DeserializationError.EscapeAtEOS" 316 } 317 case DeserializationError_EmptyNumber: 318 { 319 return "Errors.DeserializationError.EmptyNumber" 320 } 321 case DeserializationError_ExpectingEOF: 322 { 323 return "Errors.DeserializationError.ExpectingEOF" 324 } 325 case DeserializationError_IntOverflow: 326 { 327 return "Errors.DeserializationError.IntOverflow" 328 } 329 case DeserializationError_ReachedEOF: 330 { 331 return "Errors.DeserializationError.ReachedEOF" 332 } 333 case DeserializationError_ExpectingByte: 334 { 335 return "Errors.DeserializationError.ExpectingByte" + "(" + _dafny.String(data.Expected) + ", " + _dafny.String(data.B) + ")" 336 } 337 case DeserializationError_ExpectingAnyByte: 338 { 339 return "Errors.DeserializationError.ExpectingAnyByte" + "(" + _dafny.String(data.Expected__sq) + ", " + _dafny.String(data.B) + ")" 340 } 341 case DeserializationError_InvalidUnicode: 342 { 343 return "Errors.DeserializationError.InvalidUnicode" 344 } 345 default: 346 { 347 return "<unexpected>" 348 } 349 } 350 } 351 352 func (_this DeserializationError) Equals(other DeserializationError) bool { 353 switch data1 := _this.Get_().(type) { 354 case DeserializationError_UnterminatedSequence: 355 { 356 _, ok := other.Get_().(DeserializationError_UnterminatedSequence) 357 return ok 358 } 359 case DeserializationError_UnsupportedEscape: 360 { 361 data2, ok := other.Get_().(DeserializationError_UnsupportedEscape) 362 return ok && data1.Str.Equals(data2.Str) 363 } 364 case DeserializationError_EscapeAtEOS: 365 { 366 _, ok := other.Get_().(DeserializationError_EscapeAtEOS) 367 return ok 368 } 369 case DeserializationError_EmptyNumber: 370 { 371 _, ok := other.Get_().(DeserializationError_EmptyNumber) 372 return ok 373 } 374 case DeserializationError_ExpectingEOF: 375 { 376 _, ok := other.Get_().(DeserializationError_ExpectingEOF) 377 return ok 378 } 379 case DeserializationError_IntOverflow: 380 { 381 _, ok := other.Get_().(DeserializationError_IntOverflow) 382 return ok 383 } 384 case DeserializationError_ReachedEOF: 385 { 386 _, ok := other.Get_().(DeserializationError_ReachedEOF) 387 return ok 388 } 389 case DeserializationError_ExpectingByte: 390 { 391 data2, ok := other.Get_().(DeserializationError_ExpectingByte) 392 return ok && data1.Expected == data2.Expected && data1.B == data2.B 393 } 394 case DeserializationError_ExpectingAnyByte: 395 { 396 data2, ok := other.Get_().(DeserializationError_ExpectingAnyByte) 397 return ok && data1.Expected__sq.Equals(data2.Expected__sq) && data1.B == data2.B 398 } 399 case DeserializationError_InvalidUnicode: 400 { 401 _, ok := other.Get_().(DeserializationError_InvalidUnicode) 402 return ok 403 } 404 default: 405 { 406 return false // unexpected 407 } 408 } 409 } 410 411 func (_this DeserializationError) EqualsGeneric(other interface{}) bool { 412 typed, ok := other.(DeserializationError) 413 return ok && _this.Equals(typed) 414 } 415 416 func Type_DeserializationError_() _dafny.TypeDescriptor { 417 return type_DeserializationError_{} 418 } 419 420 type type_DeserializationError_ struct { 421 } 422 423 func (_this type_DeserializationError_) Default() interface{} { 424 return Companion_DeserializationError_.Default() 425 } 426 427 func (_this type_DeserializationError_) String() string { 428 return "JSON_Errors.DeserializationError" 429 } 430 func (_this DeserializationError) ParentTraits_() []*_dafny.TraitID { 431 return [](*_dafny.TraitID){} 432 } 433 434 var _ _dafny.TraitOffspring = DeserializationError{} 435 436 func (_this DeserializationError) ToString() _dafny.Sequence { 437 { 438 var _source0 DeserializationError = _this 439 _ = _source0 440 { 441 if _source0.Is_UnterminatedSequence() { 442 return _dafny.SeqOfString("Unterminated sequence") 443 } 444 } 445 { 446 if _source0.Is_UnsupportedEscape() { 447 var _0_str _dafny.Sequence = _source0.Get_().(DeserializationError_UnsupportedEscape).Str 448 _ = _0_str 449 return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Unsupported escape sequence: "), _0_str) 450 } 451 } 452 { 453 if _source0.Is_EscapeAtEOS() { 454 return _dafny.SeqOfString("Escape character at end of string") 455 } 456 } 457 { 458 if _source0.Is_EmptyNumber() { 459 return _dafny.SeqOfString("Number must contain at least one digit") 460 } 461 } 462 { 463 if _source0.Is_ExpectingEOF() { 464 return _dafny.SeqOfString("Expecting EOF") 465 } 466 } 467 { 468 if _source0.Is_IntOverflow() { 469 return _dafny.SeqOfString("Input length does not fit in a 32-bit counter") 470 } 471 } 472 { 473 if _source0.Is_ReachedEOF() { 474 return _dafny.SeqOfString("Reached EOF") 475 } 476 } 477 { 478 if _source0.Is_ExpectingByte() { 479 var _1_b0 uint8 = _source0.Get_().(DeserializationError_ExpectingByte).Expected 480 _ = _1_b0 481 var _2_b int16 = _source0.Get_().(DeserializationError_ExpectingByte).B 482 _ = _2_b 483 var _3_c _dafny.Sequence = (func() _dafny.Sequence { 484 if (_2_b) > (int16(0)) { 485 return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("'"), _dafny.SeqOfChars(_dafny.Char((_2_b)))), _dafny.SeqOfString("'")) 486 } 487 return _dafny.SeqOfString("EOF") 488 })() 489 _ = _3_c 490 return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Expecting '"), _dafny.SeqOfChars(_dafny.Char((_1_b0)))), _dafny.SeqOfString("', read ")), _3_c) 491 } 492 } 493 { 494 if _source0.Is_ExpectingAnyByte() { 495 var _4_bs0 _dafny.Sequence = _source0.Get_().(DeserializationError_ExpectingAnyByte).Expected__sq 496 _ = _4_bs0 497 var _5_b int16 = _source0.Get_().(DeserializationError_ExpectingAnyByte).B 498 _ = _5_b 499 var _6_c _dafny.Sequence = (func() _dafny.Sequence { 500 if (_5_b) > (int16(0)) { 501 return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("'"), _dafny.SeqOfChars(_dafny.Char((_5_b)))), _dafny.SeqOfString("'")) 502 } 503 return _dafny.SeqOfString("EOF") 504 })() 505 _ = _6_c 506 var _7_c0s _dafny.Sequence = _dafny.SeqCreate((_dafny.IntOfUint32((_4_bs0).Cardinality())).Uint32(), func(coer35 func(_dafny.Int) _dafny.Char) func(_dafny.Int) interface{} { 507 return func(arg39 _dafny.Int) interface{} { 508 return coer35(arg39) 509 } 510 }((func(_8_bs0 _dafny.Sequence) func(_dafny.Int) _dafny.Char { 511 return func(_9_idx _dafny.Int) _dafny.Char { 512 return _dafny.Char(((_8_bs0).Select((_9_idx).Uint32()).(uint8))) 513 } 514 })(_4_bs0))).SetString() 515 _ = _7_c0s 516 return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Expecting one of '"), _7_c0s), _dafny.SeqOfString("', read ")), _6_c) 517 } 518 } 519 { 520 return _dafny.SeqOfString("Invalid Unicode sequence") 521 } 522 } 523 } 524 525 // End of datatype DeserializationError 526 527 // Definition of datatype SerializationError 528 type SerializationError struct { 529 Data_SerializationError_ 530 } 531 532 func (_this SerializationError) Get_() Data_SerializationError_ { 533 return _this.Data_SerializationError_ 534 } 535 536 type Data_SerializationError_ interface { 537 isSerializationError() 538 } 539 540 type CompanionStruct_SerializationError_ struct { 541 } 542 543 var Companion_SerializationError_ = CompanionStruct_SerializationError_{} 544 545 type SerializationError_OutOfMemory struct { 546 } 547 548 func (SerializationError_OutOfMemory) isSerializationError() {} 549 550 func (CompanionStruct_SerializationError_) Create_OutOfMemory_() SerializationError { 551 return SerializationError{SerializationError_OutOfMemory{}} 552 } 553 554 func (_this SerializationError) Is_OutOfMemory() bool { 555 _, ok := _this.Get_().(SerializationError_OutOfMemory) 556 return ok 557 } 558 559 type SerializationError_IntTooLarge struct { 560 I _dafny.Int 561 } 562 563 func (SerializationError_IntTooLarge) isSerializationError() {} 564 565 func (CompanionStruct_SerializationError_) Create_IntTooLarge_(I _dafny.Int) SerializationError { 566 return SerializationError{SerializationError_IntTooLarge{I}} 567 } 568 569 func (_this SerializationError) Is_IntTooLarge() bool { 570 _, ok := _this.Get_().(SerializationError_IntTooLarge) 571 return ok 572 } 573 574 type SerializationError_StringTooLong struct { 575 S _dafny.Sequence 576 } 577 578 func (SerializationError_StringTooLong) isSerializationError() {} 579 580 func (CompanionStruct_SerializationError_) Create_StringTooLong_(S _dafny.Sequence) SerializationError { 581 return SerializationError{SerializationError_StringTooLong{S}} 582 } 583 584 func (_this SerializationError) Is_StringTooLong() bool { 585 _, ok := _this.Get_().(SerializationError_StringTooLong) 586 return ok 587 } 588 589 type SerializationError_InvalidUnicode struct { 590 } 591 592 func (SerializationError_InvalidUnicode) isSerializationError() {} 593 594 func (CompanionStruct_SerializationError_) Create_InvalidUnicode_() SerializationError { 595 return SerializationError{SerializationError_InvalidUnicode{}} 596 } 597 598 func (_this SerializationError) Is_InvalidUnicode() bool { 599 _, ok := _this.Get_().(SerializationError_InvalidUnicode) 600 return ok 601 } 602 603 func (CompanionStruct_SerializationError_) Default() SerializationError { 604 return Companion_SerializationError_.Create_OutOfMemory_() 605 } 606 607 func (_this SerializationError) Dtor_i() _dafny.Int { 608 return _this.Get_().(SerializationError_IntTooLarge).I 609 } 610 611 func (_this SerializationError) Dtor_s() _dafny.Sequence { 612 return _this.Get_().(SerializationError_StringTooLong).S 613 } 614 615 func (_this SerializationError) String() string { 616 switch data := _this.Get_().(type) { 617 case nil: 618 return "null" 619 case SerializationError_OutOfMemory: 620 { 621 return "Errors.SerializationError.OutOfMemory" 622 } 623 case SerializationError_IntTooLarge: 624 { 625 return "Errors.SerializationError.IntTooLarge" + "(" + _dafny.String(data.I) + ")" 626 } 627 case SerializationError_StringTooLong: 628 { 629 return "Errors.SerializationError.StringTooLong" + "(" + _dafny.String(data.S) + ")" 630 } 631 case SerializationError_InvalidUnicode: 632 { 633 return "Errors.SerializationError.InvalidUnicode" 634 } 635 default: 636 { 637 return "<unexpected>" 638 } 639 } 640 } 641 642 func (_this SerializationError) Equals(other SerializationError) bool { 643 switch data1 := _this.Get_().(type) { 644 case SerializationError_OutOfMemory: 645 { 646 _, ok := other.Get_().(SerializationError_OutOfMemory) 647 return ok 648 } 649 case SerializationError_IntTooLarge: 650 { 651 data2, ok := other.Get_().(SerializationError_IntTooLarge) 652 return ok && data1.I.Cmp(data2.I) == 0 653 } 654 case SerializationError_StringTooLong: 655 { 656 data2, ok := other.Get_().(SerializationError_StringTooLong) 657 return ok && data1.S.Equals(data2.S) 658 } 659 case SerializationError_InvalidUnicode: 660 { 661 _, ok := other.Get_().(SerializationError_InvalidUnicode) 662 return ok 663 } 664 default: 665 { 666 return false // unexpected 667 } 668 } 669 } 670 671 func (_this SerializationError) EqualsGeneric(other interface{}) bool { 672 typed, ok := other.(SerializationError) 673 return ok && _this.Equals(typed) 674 } 675 676 func Type_SerializationError_() _dafny.TypeDescriptor { 677 return type_SerializationError_{} 678 } 679 680 type type_SerializationError_ struct { 681 } 682 683 func (_this type_SerializationError_) Default() interface{} { 684 return Companion_SerializationError_.Default() 685 } 686 687 func (_this type_SerializationError_) String() string { 688 return "JSON_Errors.SerializationError" 689 } 690 func (_this SerializationError) ParentTraits_() []*_dafny.TraitID { 691 return [](*_dafny.TraitID){} 692 } 693 694 var _ _dafny.TraitOffspring = SerializationError{} 695 696 func (_this SerializationError) ToString() _dafny.Sequence { 697 { 698 var _source0 SerializationError = _this 699 _ = _source0 700 { 701 if _source0.Is_OutOfMemory() { 702 return _dafny.SeqOfString("Out of memory") 703 } 704 } 705 { 706 if _source0.Is_IntTooLarge() { 707 var _0_i _dafny.Int = _source0.Get_().(SerializationError_IntTooLarge).I 708 _ = _0_i 709 return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Integer too large: "), m_JSON_Utils_Str.Companion_Default___.OfInt(_0_i, _dafny.IntOfInt64(10))) 710 } 711 } 712 { 713 if _source0.Is_StringTooLong() { 714 var _1_s _dafny.Sequence = _source0.Get_().(SerializationError_StringTooLong).S 715 _ = _1_s 716 return _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("String too long: "), _1_s) 717 } 718 } 719 { 720 return _dafny.SeqOfString("Invalid Unicode sequence") 721 } 722 } 723 } 724 725 // End of datatype SerializationError