summaryrefslogtreecommitdiffstats
path: root/llgo/third_party/gotools/go/importer/predefined.go
blob: 2d35474e838ffa38787b063c7f0737c50d53230d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// Copyright 2014 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.

package importer

import "llvm.org/llgo/third_party/gotools/go/types"

const (
	magic   = "\n$$ exports $$\n"
	version = "v0"
)

// Tags. Must be < 0.
const (
	// Packages
	packageTag = -(iota + 1)

	// Objects
	constTag
	typeTag
	varTag
	funcTag

	// Types
	arrayTag
	sliceTag
	structTag
	pointerTag
	signatureTag
	interfaceTag
	mapTag
	chanTag
	namedTag

	// Values
	falseTag
	trueTag
	int64Tag
	floatTag
	fractionTag
	complexTag
	stringTag
)

var predeclared = []types.Type{
	// basic types
	types.Typ[types.Bool],
	types.Typ[types.Int],
	types.Typ[types.Int8],
	types.Typ[types.Int16],
	types.Typ[types.Int32],
	types.Typ[types.Int64],
	types.Typ[types.Uint],
	types.Typ[types.Uint8],
	types.Typ[types.Uint16],
	types.Typ[types.Uint32],
	types.Typ[types.Uint64],
	types.Typ[types.Uintptr],
	types.Typ[types.Float32],
	types.Typ[types.Float64],
	types.Typ[types.Complex64],
	types.Typ[types.Complex128],
	types.Typ[types.String],

	// untyped types
	types.Typ[types.UntypedBool],
	types.Typ[types.UntypedInt],
	types.Typ[types.UntypedRune],
	types.Typ[types.UntypedFloat],
	types.Typ[types.UntypedComplex],
	types.Typ[types.UntypedString],
	types.Typ[types.UntypedNil],

	// package unsafe
	types.Typ[types.UnsafePointer],

	// aliases
	types.UniverseByte,
	types.UniverseRune,

	types.Universe.Lookup("error").Type(),
}
OpenPOWER on IntegriCloud