Esempio n. 1
0
func (linker *_Linker) linkTypeRef(script *ast.Script, typeRef *ast.TypeRef) {

	linkedType, ok := script.Type(typeRef.Name())

	if ok {
		typeRef.Ref = linkedType

		linker.D("found type %s", linkedType)

		return
	}

	linkedType, ok = linker.importTypes[typeRef.Name()]

	if ok {
		typeRef.Ref = linkedType

		linker.D("found import types %s", linkedType)

		return
	}

	linkedType, ok = linker.types[typeRef.Name()]

	if ok {
		typeRef.Ref = linkedType

		linker.D("found import types %s", linkedType)

		return
	}

	linker.errorf(ErrTypeNotFound, typeRef, "unknown type reference :%s", typeRef)
}