github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/internal/compiler/desugarer/const.go (about) 1 package desugarer 2 3 import ( 4 "github.com/nevalang/neva/internal/compiler" 5 src "github.com/nevalang/neva/internal/compiler/sourcecode" 6 ) 7 8 // handleConst handles case when constant has integer value and type is float. 9 func (d Desugarer) handleConst(constant src.Const) (src.Const, *compiler.Error) { 10 if constant.Message == nil { 11 return constant, nil 12 } 13 if constant.Message.TypeExpr.String() != "float" { 14 return constant, nil 15 } 16 if constant.Message.Float != nil { 17 return constant, nil 18 } 19 return src.Const{ 20 Message: &src.Message{ 21 TypeExpr: constant.Message.TypeExpr, 22 Float: compiler.Pointer(float64(*constant.Message.Int)), 23 }, 24 }, nil 25 }