aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/go-unreflect.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/runtime/go-unreflect.c')
-rw-r--r--libgo/runtime/go-unreflect.c34
1 files changed, 0 insertions, 34 deletions
diff --git a/libgo/runtime/go-unreflect.c b/libgo/runtime/go-unreflect.c
deleted file mode 100644
index 6f1ea73..0000000
--- a/libgo/runtime/go-unreflect.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* go-unreflect.c -- implement unsafe.Unreflect for Go.
-
- Copyright 2009 The Go Authors. All rights reserved.
- Use of this source code is governed by a BSD-style
- license that can be found in the LICENSE file. */
-
-#include "runtime.h"
-#include "go-alloc.h"
-#include "go-type.h"
-#include "interface.h"
-
-/* Implement unsafe.Unreflect. */
-
-struct __go_empty_interface Unreflect (struct __go_empty_interface type,
- void *object)
- asm ("libgo_unsafe.unsafe.Unreflect");
-
-struct __go_empty_interface
-Unreflect (struct __go_empty_interface type, void *object)
-{
- struct __go_empty_interface ret;
-
- if (((uintptr_t) type.__type_descriptor & reflectFlags) != 0)
- runtime_panicstring ("invalid interface value");
-
- /* FIXME: We should check __type_descriptor to verify that this is
- really a type descriptor. */
- ret.__type_descriptor = type.__object;
- if (__go_is_pointer_type (ret.__type_descriptor))
- ret.__object = *(void **) object;
- else
- ret.__object = object;
- return ret;
-}