package dyn

import (
	"fmt"
	"path/filepath"
)

type Location struct {
	File   string
	Line   int
	Column int
}

func (l Location) String() string {
	return fmt.Sprintf("%s:%d:%d", l.File, l.Line, l.Column)
}

func (l Location) Directory() (string, error) {
	if l.File == "" {
		return "", fmt.Errorf("no file in location")
	}

	return filepath.Dir(l.File), nil
}