Home | History | Annotate | Download | only in gccgoimporter

Lines Matching refs:types

13 	"go/types"
27 pkg *types.Package // reference to imported package
28 imports map[string]*types.Package // package path -> package object
29 typeMap map[int]types.Type // type number -> type
33 func (p *parser) init(filename string, src io.Reader, imports map[string]*types.Package) {
41 p.typeMap = make(map[int]types.Type)
154 func (p *parser) getPkg(pkgpath, name string) *types.Package {
157 return types.Unsafe
161 pkg = types.NewPackage(pkgpath, name)
168 // the package path is resolved to an imported *types.Package.
171 func (p *parser) parseExportedName() (pkg *types.Package, name string) {
196 func deref(typ types.Type) types.Type {
197 if p, _ := typ.(*types.Pointer); p != nil {
204 func (p *parser) parseField(pkg *types.Package) (field *types.Var, tag string) {
211 case *types.Basic:
213 case *types.Named:
219 field = types.NewField(token.NoPos, pkg, name, typ, anon)
227 func (p *parser) parseParam(pkg *types.Package) (param *types.Var, isVariadic bool) {
245 typ = types.NewSlice(typ)
247 param = types.NewParam(token.NoPos, pkg, name, typ)
252 func (p *parser) parseVar(pkg *types.Package) *types.Var {
254 return types.NewVar(token.NoPos, pkg, name, p.parseType(pkg))
258 func (p *parser) parseConversion(pkg *types.Package) (val constant.Value, typ types.Type) {
270 func (p *parser) parseConstValue(pkg *types.Package) (val constant.Value, typ types.Type) {
275 typ = types.Typ[types.UntypedString]
294 typ = types.Typ[types.UntypedBool]
314 typ = types.Typ[types.UntypedRune]
316 typ = types.Typ[types.UntypedInt]
343 typ = types.Typ[types.UntypedFloat]
357 typ = types.Typ[types.UntypedComplex]
367 func (p *parser) parseConst(pkg *types.Package) *types.Const {
369 var typ types.Type
378 return types.NewConst(token.NoPos, pkg, name, typ, val)
384 func (p *parser) parseNamedType(n int) types.Type {
398 obj = types.NewTypeName(token.NoPos, pkg, name, typ)
410 tname := types.NewTypeName(token.NoPos, pkg, name, nil)
411 types.NewNamed(tname, nil, nil)
419 nt, ok := typ.(*types.Named)
445 sig := types.NewSignature(receiver, params, results, isVariadic)
446 nt.AddMethod(types.NewFunc(token.NoPos, pkg, name, sig))
462 func (p *parser) parseArrayOrSliceType(pkg *types.Package) types.Type {
466 return types.NewSlice(p.parseType(pkg))
471 return types.NewArray(p.parseType(pkg), n)
475 func (p *parser) parseMapType(pkg *types.Package) types.Type {
481 return types.NewMap(key, elem)
485 func (p *parser) parseChanType(pkg *types.Package) types.Type {
487 dir := types.SendRecv
492 dir = types.SendOnly
499 dir = types.RecvOnly
503 return types.NewChan(dir, p.parseType(pkg))
507 func (p *parser) parseStructType(pkg *types.Package) types.Type {
510 var fields []*types.Var
522 return types.NewStruct(fields, tags)
526 func (p *parser) parseParamList(pkg *types.Package) (*types.Tuple, bool) {
527 var list []*types.Var
546 return types.NewTuple(list...), isVariadic
550 func (p *parser) parseResultList(pkg *types.Package) *types.Tuple {
553 return types.NewTuple(types.NewParam(token.NoPos, pkg, "", p.parseType(pkg)))
565 func (p *parser) parseFunctionType(pkg *types.Package) *types.Signature {
568 return types.NewSignature(nil, params, results, isVariadic)
572 func (p *parser) parseFunc(pkg *types.Package) *types.Func {
576 // except for the types.
580 return types.NewFunc(token.NoPos, pkg, name, p.parseFunctionType(pkg))
584 func (p *parser) parseInterfaceType(pkg *types.Package) types.Type {
587 var methods []*types.Func
588 var typs []*types.Named
594 typs = append(typs, p.parseType(pkg).(*types.Named))
603 return types.NewInterface(methods, typs)
607 func (p *parser) parsePointerType(pkg *types.Package) types.Type {
611 return types.Typ[types.UnsafePointer]
613 return types.NewPointer(p.parseType(pkg))
617 func (p *parser) parseTypeDefinition(pkg *types.Package, n int) types.Type {
618 var t types.Type
678 func lookupBuiltinType(typ int) types.Type {
679 return [...]types.Type{
680 gccgoBuiltinINT8: types.Typ[types.Int8],
681 gccgoBuiltinINT16: types.Typ[types.Int16],
682 gccgoBuiltinINT32: types.Typ[types.Int32],
683 gccgoBuiltinINT64: types.Typ[types.Int64],
684 gccgoBuiltinUINT8: types.Typ[types.Uint8],
685 gccgoBuiltinUINT16: types.Typ[types.Uint16],
686 gccgoBuiltinUINT32: types.Typ[types.Uint32],
687 gccgoBuiltinUINT64: types.Typ[types.Uint64],
688 gccgoBuiltinFLOAT32: types.Typ[types.Float32],
689 gccgoBuiltinFLOAT64: types.Typ[types.Float64],
690 gccgoBuiltinINT: types.Typ[types.Int],
691 gccgoBuiltinUINT: types.Typ[types.Uint],
692 gccgoBuiltinUINTPTR: types.Typ[types.Uintptr],
693 gccgoBuiltinBOOL: types.Typ[types.Bool],
694 gccgoBuiltinSTRING: types.Typ[types.String],
695 gccgoBuiltinCOMPLEX64: types.Typ[types.Complex64],
696 gccgoBuiltinCOMPLEX128: types.Typ[types.Complex128],
697 gccgoBuiltinERROR: types.Universe.Lookup("error").Type(),
698 gccgoBuiltinBYTE: types.Universe.Lookup("byte").Type(),
699 gccgoBuiltinRUNE: types.Universe.Lookup("rune").Type(),
704 func (p *parser) parseType(pkg *types.Package) (t types.Type) {
744 func (p *parser) discardDirectiveWhileParsingTypes(pkg *types.Package) {
897 func (p *parser) parsePackage() *types.Package {
902 if it, ok := typ.(*types.Interface); ok {