val_const.go 926 B

1234567891011121314151617181920212223242526272829303132
  1. // package val_const -- константное значение
  2. package val_const
  3. import (
  4. "gitp78su.ipnodns.ru/svi/prolet/lang/alias"
  5. "gitp78su.ipnodns.ru/svi/prolet/lang/cons"
  6. "gitp78su.ipnodns.ru/svi/prolet/lang/types"
  7. )
  8. // ValConst -- константное значение, определяется при компиляции и никогда не меняется
  9. type ValConst struct {
  10. val int // Фактическое значение
  11. }
  12. // CompileValConst -- компилирует новое константное значение
  13. func CompileValConst(val int) *ValConst {
  14. sf := &ValConst{
  15. val: val,
  16. }
  17. _ = types.IVal(sf)
  18. return sf
  19. }
  20. // Val -- возвращает фактическое значение
  21. func (sf *ValConst) Val() int {
  22. return sf.val
  23. }
  24. // Tempor -- возвращает время жизни значения
  25. func (sf *ValConst) Tempor() alias.Tempor {
  26. return cons.TemporConst
  27. }