f586544ab7
Support int64 number instead of int to be more fixed to bit size so that the underlying arch won't affect overflow cases. Besides, refection: func (v Value) Int() int64 always cast to int64 no matter the input is int, int16, int32. Currently we always treat "-" as negative sign to bind to next value, and "+" as plus operator to add operands together. So we allow: a = 5 + -4 + 5 or a = -4 + 5 But we don't allow: a = +5 + 4 + -4 since we don't treat "+" as a positive sign, otherwise, a = 5 + +5 would exist which looks pretty weird. In the future, we may want fully support number calculator logic eg, "+"/"-" can be positive/negative sign or operator, and "(" and ")" will be considered to group expressions with a higher precedence. int & uint properties within struct keeps unchanged, which is only allowed when tagged with 'blueprint:mutated'. We only allow *int64 property instead of int64 property within struct since it does't make sense to do prepending or appending to int64. Change-Id: I565e046dbd268af3538aee148cd7300037e56523 |
||
---|---|---|
.. | ||
ast.go | ||
modify.go | ||
parser.go | ||
parser_test.go | ||
printer.go | ||
printer_test.go | ||
sort.go |