blob: 205c28d68c474e4497e6aa1ce8b9fdeb260f4586 [file] [log] [blame]
Jonathan Hart4b110f62020-03-13 17:36:19 -07001// Copyright (c) 2015-2016 Dave Collins <dave@davec.name>
2//
3// Permission to use, copy, modify, and distribute this software for any
4// purpose with or without fee is hereby granted, provided that the above
5// copyright notice and this permission notice appear in all copies.
6//
7// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
15// NOTE: Due to the following build constraints, this file will only be compiled
16// when the code is running on Google App Engine, compiled by GopherJS, or
17// "-tags safe" is added to the go build command line. The "disableunsafe"
18// tag is deprecated and thus should not be used.
19// +build js appengine safe disableunsafe !go1.4
20
21package spew
22
23import "reflect"
24
25const (
26 // UnsafeDisabled is a build-time constant which specifies whether or
27 // not access to the unsafe package is available.
28 UnsafeDisabled = true
29)
30
31// unsafeReflectValue typically converts the passed reflect.Value into a one
32// that bypasses the typical safety restrictions preventing access to
33// unaddressable and unexported data. However, doing this relies on access to
34// the unsafe package. This is a stub version which simply returns the passed
35// reflect.Value when the unsafe package is not available.
36func unsafeReflectValue(v reflect.Value) reflect.Value {
37 return v
38}