Skip to content

Releases: goplus/gogen

Release v0.9.37

06 Aug 15:49
Compare
Choose a tag to compare

new features:

  • support assignOp(+=, -=, etc). see InitBuiltinAssignOps, TestBigRatAssignOp, TestBigRatAssignOp2, TestBigRatAssignOp3.
  • TestErrDefineVar

Release v0.9.35

04 Aug 00:26
Compare
Choose a tag to compare

new features:

  • rational support: untyped bigint/bigrat, bigint/bigrat (and operators), see cb.UntypedBigInt/UntypedBigRat
  • constant eval: support constant.BinaryOp/Compare/Shift
  • DefaultConv/AssignableConv

changes:

  • remove BuiltinContracts, LoadUnderlyingFunc
  • stack element: internal.Elem => *internal.Elem

Release v0.9.23

02 Aug 03:24
Compare
Choose a tag to compare

new features:

  • binary operators: LAnd(&&), LOr(||) and LNot(!)
  • cb.Member support embedded fields of struct

changes:

  • support codecov (coverage report)
  • ComparableTo bugfix

Release v0.9.20

26 Jul 14:53
Compare
Choose a tag to compare

new features:

  • add MatchError
  • add AssignWith, CallWith
  • codeErrorTest: TestErrRecv (pointer type), TestErrMemberRef, TestErrReturn, TestErrAssign, TestErrForRange, TestErrConst, TestErrNewVar

changes:

  • NewFuncWith returns error
  • pkg.NewParam add token.Pos
  • pkg.NewConstStart/NewVar/NewVarStart add token.Pos

Release v0.9.16

24 Jul 00:13
Compare
Choose a tag to compare

new features:

  • init func
  • error recover: ResetInit / ResetStmt
  • codeErrorTest: TestErrInitFunc, TestErrRecv, TestErrLabel, TestErrNewVar, TestErrStructLit, TestErrMapLit, TestErrArrayLit, TestErrSliceLit, TestErrSlice, TestErrIndex, TestErrIndexRef, TestErrStar, TestErrMember

Release v0.9.8

21 Jul 14:25
Compare
Choose a tag to compare

new features:

  • type assert
  • type switch..case
  • select..case
  • Comments/SetComments

changes:

  • for range: allow for _, x := range chanExpr

Release v0.9.1

20 Jul 07:04
Compare
Choose a tag to compare

new features:

  • interface
  • AssignOp (+=, -=, etc.)
  • SetDebug support debugInstr, debugImport, debugMatch
  • getUnderlying: support delay load a type init

changes:

  • NewFunc/NewFuncWith bugfix

Release v0.8.73

19 Jul 14:48
Compare
Choose a tag to compare

new features:

  • MemberVal(name string) => MemberVal(name string, mflags ...*int), to support Go+ AutoProperty feature
  • EnsureImported

changes:

  • SetDebug(debug bool) => SetDebug(dbgFlags int)
  • NewLoadPkgsCached(
    load func(cfg *packages.Config, patterns ...string) ([]*packages.Package, error)) LoadPkgsFunc

small fix:

  • CallInlineClosure bugfix
  • cb.Elem() is a part of cb.Star()
  • BinaryOp: nil == v AND nil != nil

Release v0.8.50

18 Jul 16:21
Compare
Choose a tag to compare

new features:

  • StructLit (eg. struct {a int}{1}, struct {a int}{a: 1}, etc.)
  • NamedLit (eg. type foo XXX; foo{1}, foo{a: 1}, etc.)
  • NewType/AliasType
  • Methods
  • MemberRef
  • pkg variable ref
  • operator: & and * (Addr and Elem)

changes:

  • SliceGet => Slice
  • IndexGet => Index

todo:

  • ZeroLit support *types.Named

Release v0.8.25

17 Jul 09:42
Compare
Choose a tag to compare

new features:

  • inline a function call (see cb.CallInlineClosureStart .. End)
  • CompareNil (and BinaryOp support == nil, != nil)
  • ReturnErr (use it to return an error easier)
  • ZeroLit enhancement (support all builtin types, including basic types, slice, array, map, chan, interface, etc.)
  • gop_test.go (now support bigint/bigrat variable declaration, BinaryOp/UnaryOp, TypeCast/Init)

changes:

  • label bugfix (including goto/break/continue)