// package val_const -- константное значение
package val_const

import (
	"gitp78su.ipnodns.ru/svi/prolet/lang/alias"
	"gitp78su.ipnodns.ru/svi/prolet/lang/cons"
	"gitp78su.ipnodns.ru/svi/prolet/lang/types"
)

// ValConst -- константное значение, определяется при компиляции и никогда не меняется
type ValConst struct {
	val int // Фактическое значение
}

// CompileValConst -- компилирует новое константное значение
func CompileValConst(val int) *ValConst {
	sf := &ValConst{
		val: val,
	}
	_ = types.IVal(sf)
	return sf
}

// Val -- возвращает фактическое значение
func (sf *ValConst) Val() int {
	return sf.val
}

// Tempor -- возвращает время жизни значения
func (sf *ValConst) Tempor() alias.Tempor {
	return cons.TemporConst
}
