84 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
// 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 "code.google.com/p/go.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.UniverseByte,
 | 
						|
	types.UniverseRune,
 | 
						|
 | 
						|
	types.Universe.Lookup("error").Type(),
 | 
						|
}
 |