builds and runs again
This commit is contained in:
parent
455377e30a
commit
65aa8e85b1
|
@ -6,7 +6,6 @@ full: clean auto goimports vet build
|
||||||
|
|
||||||
vet:
|
vet:
|
||||||
@GO111MODULE=off go vet
|
@GO111MODULE=off go vet
|
||||||
@echo this go binary package should build okay
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
rm -f fruit.newsort.pb.go
|
rm -f fruit.newsort.pb.go
|
||||||
|
|
23
newsort.go
23
newsort.go
|
@ -1,27 +1,27 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"go.wit.com/log"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func (pb *Files) makeNewSortfile(pf *File) {
|
func (pb *Files) makeNewSortfile(pf *File) error {
|
||||||
f, _ := os.OpenFile(pf.Filebase+".newsort.pb.go", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
|
f, _ := os.OpenFile(pf.Filebase+".newsort.pb.go", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
|
||||||
|
|
||||||
header(f, pf)
|
header(f, pf)
|
||||||
|
|
||||||
pf.syncLock(f)
|
pf.syncLock(f)
|
||||||
if pf.Bases != nil {
|
if pf.Bases == nil {
|
||||||
log.Info("THIS IS WHAT BASES?", pf.Bases.Name, pf.Bases)
|
return fmt.Errorf("Base was nil. 'message %s {` did not exist", pf.Filebase)
|
||||||
}
|
}
|
||||||
if pf.Base != nil {
|
if pf.Base == nil {
|
||||||
log.Info("THIS IS WHAT BASE?", pf.Base.Name, pf.Base)
|
return fmt.Errorf("Base was nil. 'message %s {` did not exist", pf.Filebase)
|
||||||
pf.Base.iterTop(f)
|
|
||||||
pf.Base.iterNext(f)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pf.Base.iterTop(f)
|
||||||
|
pf.Base.iterNext(f)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
for _, msg := range pf.MsgNames {
|
for _, msg := range pf.MsgNames {
|
||||||
if msg.DoMutex {
|
if msg.DoMutex {
|
||||||
|
@ -35,8 +35,8 @@ func (pb *Files) makeNewSortfile(pf *File) {
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// pf.appendUnique(f, msg, sortmap) // Append() enforce no unique keys
|
pf.appendUnique(f, nil, sortmap) // Append() enforce no unique keys
|
||||||
return
|
return nil
|
||||||
// iterSortAll(f, sortmap)
|
// iterSortAll(f, sortmap)
|
||||||
|
|
||||||
if argv.Append != "" {
|
if argv.Append != "" {
|
||||||
|
@ -74,4 +74,5 @@ func (pb *Files) makeNewSortfile(pf *File) {
|
||||||
iterFind(f, sortmap)
|
iterFind(f, sortmap)
|
||||||
}
|
}
|
||||||
iterEnd(f, sortmap)
|
iterEnd(f, sortmap)
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,7 @@ func (f *File) parseForMessage(line string) *MsgName {
|
||||||
log.Info("found messge:", msgName)
|
log.Info("found messge:", msgName)
|
||||||
msg := new(MsgName)
|
msg := new(MsgName)
|
||||||
msg.Name = msgName
|
msg.Name = msgName
|
||||||
msg.Lockname = msgName + "Mu"
|
msg.Lockname = f.Filebase + "Mu" // this should be lowercase. do not export the Mutex
|
||||||
|
|
||||||
if strings.Contains(line, "`autogenpb:mutex`") {
|
if strings.Contains(line, "`autogenpb:mutex`") {
|
||||||
msg.DoMutex = true
|
msg.DoMutex = true
|
||||||
|
|
31
sort.go
31
sort.go
|
@ -185,14 +185,15 @@ func iterEnd(w io.Writer, names map[string]string) {
|
||||||
func iterAppend(w io.Writer, names map[string]string) {
|
func iterAppend(w io.Writer, names map[string]string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (pf *File) appendUnique(w io.Writer, msg *MsgName, names map[string]string) {
|
func (pf *File) appendUnique(w io.Writer, blah *MsgName, names map[string]string) {
|
||||||
var MSG string = msg.Name // msg.Name
|
var MSG string = pf.Bases.Name
|
||||||
var BASE string = names["Base"]
|
var BASE string = names["Base"]
|
||||||
var LOCK string = names["lock"]
|
var LOCK string = pf.Bases.Lockname
|
||||||
|
|
||||||
if argv.Mutex {
|
if argv.Mutex {
|
||||||
LOCK = "Lock"
|
LOCK = pf.Bases.Name + ".Lock"
|
||||||
} else {
|
} else {
|
||||||
LOCK = names["lock"] + ".Lock"
|
LOCK = "all.Lock"
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Fprintln(w, "// enforces "+BASE+" is unique")
|
fmt.Fprintln(w, "// enforces "+BASE+" is unique")
|
||||||
|
@ -201,7 +202,7 @@ func (pf *File) appendUnique(w io.Writer, msg *MsgName, names map[string]string)
|
||||||
fmt.Fprintln(w, " defer "+LOCK+".RUnlock()")
|
fmt.Fprintln(w, " defer "+LOCK+".RUnlock()")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
fmt.Fprintln(w, " for _, p := range all."+MSG+" {")
|
fmt.Fprintln(w, " for _, p := range all."+MSG+" {")
|
||||||
for _, KEY := range msg.Unique {
|
for _, KEY := range pf.Base.Unique {
|
||||||
fmt.Fprintln(w, " if p."+KEY+" == newP."+KEY+" {")
|
fmt.Fprintln(w, " if p."+KEY+" == newP."+KEY+" {")
|
||||||
fmt.Fprintln(w, " return false")
|
fmt.Fprintln(w, " return false")
|
||||||
fmt.Fprintln(w, " }")
|
fmt.Fprintln(w, " }")
|
||||||
|
@ -212,6 +213,24 @@ func (pf *File) appendUnique(w io.Writer, msg *MsgName, names map[string]string)
|
||||||
fmt.Fprintln(w, " return true")
|
fmt.Fprintln(w, " return true")
|
||||||
fmt.Fprintln(w, "}")
|
fmt.Fprintln(w, "}")
|
||||||
fmt.Fprintln(w, "")
|
fmt.Fprintln(w, "")
|
||||||
|
|
||||||
|
for _, KEY := range pf.Base.Unique {
|
||||||
|
fmt.Fprintln(w, "// enforces "+BASE+" is unique")
|
||||||
|
fmt.Fprintln(w, "func (all *"+MSG+") AppendUnique"+KEY+"(newP *"+BASE+") bool {")
|
||||||
|
fmt.Fprintln(w, " "+LOCK+".RLock()")
|
||||||
|
fmt.Fprintln(w, " defer "+LOCK+".RUnlock()")
|
||||||
|
fmt.Fprintln(w, "")
|
||||||
|
fmt.Fprintln(w, " for _, p := range all."+MSG+" {")
|
||||||
|
fmt.Fprintln(w, " if p."+KEY+" == newP."+KEY+" {")
|
||||||
|
fmt.Fprintln(w, " return false")
|
||||||
|
fmt.Fprintln(w, " }")
|
||||||
|
fmt.Fprintln(w, " }")
|
||||||
|
fmt.Fprintln(w, "")
|
||||||
|
fmt.Fprintln(w, " all."+MSG+" = append(all."+MSG+", newP)")
|
||||||
|
fmt.Fprintln(w, " return true")
|
||||||
|
fmt.Fprintln(w, "}")
|
||||||
|
fmt.Fprintln(w, "")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func iterReplace(w io.Writer, names map[string]string) {
|
func iterReplace(w io.Writer, names map[string]string) {
|
||||||
|
|
Loading…
Reference in New Issue