实现基础web服务器
This commit is contained in:
		
							
								
								
									
										65
									
								
								vendor/github.com/bytedance/sonic/internal/encoder/errors.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								vendor/github.com/bytedance/sonic/internal/encoder/errors.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| /* | ||||
|  * Copyright 2021 ByteDance Inc. | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  */ | ||||
|  | ||||
| package encoder | ||||
|  | ||||
| import ( | ||||
|     `encoding/json` | ||||
|     `fmt` | ||||
|     `reflect` | ||||
|     `strconv` | ||||
|     `unsafe` | ||||
|  | ||||
|     `github.com/bytedance/sonic/internal/rt` | ||||
| ) | ||||
|  | ||||
| var _ERR_too_deep = &json.UnsupportedValueError { | ||||
|     Str   : "Value nesting too deep", | ||||
|     Value : reflect.ValueOf("..."), | ||||
| } | ||||
|  | ||||
| var _ERR_nan_or_infinite = &json.UnsupportedValueError { | ||||
|     Str   : "NaN or ±Infinite", | ||||
|     Value : reflect.ValueOf("NaN or ±Infinite"), | ||||
| } | ||||
|  | ||||
| func error_type(vtype reflect.Type) error { | ||||
|     return &json.UnsupportedTypeError{Type: vtype} | ||||
| } | ||||
|  | ||||
| func error_number(number json.Number) error { | ||||
|     return &json.UnsupportedValueError { | ||||
|         Str   : "invalid number literal: " + strconv.Quote(string(number)), | ||||
|         Value : reflect.ValueOf(number), | ||||
|     } | ||||
| } | ||||
|  | ||||
| func error_marshaler(ret []byte, pos int) error { | ||||
|     return fmt.Errorf("invalid Marshaler output json syntax at %d: %q", pos, ret) | ||||
| } | ||||
|  | ||||
| const ( | ||||
|     panicNilPointerOfNonEmptyString int = 1 + iota | ||||
| ) | ||||
|  | ||||
| func goPanic(code int, val unsafe.Pointer) { | ||||
|     switch(code){ | ||||
|     case panicNilPointerOfNonEmptyString: | ||||
|         panic(fmt.Sprintf("val: %#v has nil pointer while its length is not zero!", (*rt.GoString)(val))) | ||||
|     default: | ||||
|         panic("encoder error!") | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user