Exemple #1
0
func (b *builder) refSym(sym *sym8.Symbol, pos *lex8.Pos) {
	if !b.lhs {
		sym.Used = true
	}

	// track file dependencies inside a package
	if b.deps == nil {
		return // no need to track deps
	}

	symPos := sym.Pos
	if symPos == nil {
		return // builtin
	}
	if sym.Pkg() != b.path {
		return // cross package reference
	}
	if pos.File == symPos.File {
		return
	}

	b.deps.add(pos.File, symPos.File)
}