| // 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 "golang.org/x/tools/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.Universe.Lookup("byte").Type(), |
| types.Universe.Lookup("rune").Type(), |
| |
| // error |
| types.Universe.Lookup("error").Type(), |
| } |