summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-11 04:03:41 -0600
committerJeff Carr <[email protected]>2025-01-11 04:03:41 -0600
commit1f9e4a682d3acf36aa7ee1279f1f9cc928bcd5fd (patch)
treeeac1d0677459b6cc55fc4eb292c6545d42315cbc
parentd8464bf21ffada0be45116e7a6c4573bcadbce1b (diff)
rename files
-rw-r--r--generate.go (renamed from sort.go)14
-rw-r--r--generateFind.go (renamed from sortNew.go)102
-rw-r--r--generateHeader.go (renamed from header.go)0
-rw-r--r--generateMarshal.go (renamed from marshal.go)0
-rw-r--r--generateMutex.go (renamed from addMutex.go)0
-rw-r--r--generateSort.go (renamed from sortFunc.go)0
6 files changed, 64 insertions, 52 deletions
diff --git a/sort.go b/generate.go
index 90e7f5a..43a86d4 100644
--- a/sort.go
+++ b/generate.go
@@ -96,6 +96,7 @@ func (pf *File) processMessage(msg *MsgName, wSort, wFind io.Writer) error {
log.Printf("FOUND: %s %s for %s\n", APPLES, APPLE, FRUIT)
+ found.addFindByMsg(wFind, FRUIT, APPLES, APPLE)
found.addAppendByMsg(wFind, FRUIT, APPLES, APPLE)
found.addDeleteByMsg(wFind, FRUIT, APPLES, APPLE)
found.addInsertByMsg(wFind, FRUIT, APPLES, APPLE) // new idea
@@ -105,6 +106,17 @@ func (pf *File) processMessage(msg *MsgName, wSort, wFind io.Writer) error {
return nil
}
+func (parent *MsgName) addFindByMsg(w io.Writer, FRUIT, APPLES, APPLE string) {
+ log.Printf("\tINSERT: %s %s for %s\n", APPLES, APPLE, FRUIT)
+ for _, v := range parent.Vars {
+ if v.HasUnique {
+ var COLOR string = cases.Title(language.English, cases.NoLower).String(v.VarName)
+ log.Printf("\t\t(x %s) InsertBy%s(string) *%s\n", FRUIT, COLOR, APPLE)
+ parent.findBy(w, FRUIT, APPLES, APPLE, COLOR)
+ }
+ }
+}
+
func (parent *MsgName) addDeleteByMsg(w io.Writer, FRUIT, APPLES, APPLE string) {
log.Printf("\tDELETE: %s %s for %s\n", APPLES, APPLE, FRUIT)
var COLORS []string
@@ -130,7 +142,7 @@ func (parent *MsgName) addInsertByMsg(w io.Writer, FRUIT, APPLES, APPLE string)
if v.HasUnique {
var COLOR string = cases.Title(language.English, cases.NoLower).String(v.VarName)
log.Printf("\t\t(x %s) InsertBy%s(string) *%s\n", FRUIT, COLOR, APPLE)
- parent.insertByColor(w, FRUIT, APPLES, APPLE, COLOR)
+ parent.insertBy(w, FRUIT, APPLES, APPLE, COLOR)
}
}
}
diff --git a/sortNew.go b/generateFind.go
index 72370ba..c731fec 100644
--- a/sortNew.go
+++ b/generateFind.go
@@ -7,7 +7,12 @@ import (
"go.wit.com/log"
)
+// generates Find()
+
+// but really it has Append(), Delete() and some other stuff
+
func (msg *MsgName) getLockname(s string) string {
+ // leave this function stubbed in for development of autogenpb
// if argv.Mutex {
// // use the mutex lock from the modified protoc.pb.go file
// return s + ".Lock"
@@ -17,42 +22,40 @@ func (msg *MsgName) getLockname(s string) string {
return msg.Lockname
}
-// I like these functions the best.
-func (msg *MsgName) simpleAppend(w io.Writer, FRUIT, APPLES, APPLE string) {
+func (msg *MsgName) findBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
LOCK := msg.getLockname("x")
- log.Printf("\t\t(x %s) APPEND(%s)\n", FRUIT, APPLE)
- // append -- no check at all
- fmt.Fprintln(w, "// TESTING 2")
- fmt.Fprintln(w, "// just a simple Append() shortcut (but still uses the mutex lock)")
- fmt.Fprintln(w, "func (x *"+FRUIT+") Append(y *"+APPLE+") {")
- fmt.Fprintln(w, " "+LOCK+".Lock()")
- fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
+ fmt.Fprintln(w, "// find a dependancy by the go path")
+ fmt.Fprintln(w, "func (x *"+FRUIT+") FindBy"+COLOR+"(s string) *"+APPLE+" {")
+ fmt.Fprintln(w, " if x == nil {")
+ fmt.Fprintln(w, " return nil")
+ fmt.Fprintln(w, " }")
fmt.Fprintln(w, "")
- fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", y)")
+ fmt.Fprintln(w, " "+LOCK+".RLock()")
+ fmt.Fprintln(w, " defer "+LOCK+".RUnlock()")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, " for i, _ := range x."+APPLES+" {")
+ fmt.Fprintln(w, " if x."+APPLES+"[i]."+COLOR+" == s {")
+ fmt.Fprintln(w, " return x."+APPLES+"[i]")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " return nil")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
}
-func (msg *MsgName) insertByColor(w io.Writer, FRUIT, APPLES, APPLE string, COLOR string) {
+// I like these functions the best.
+func (msg *MsgName) simpleAppend(w io.Writer, FRUIT, APPLES, APPLE string) {
LOCK := msg.getLockname("x")
- fmt.Fprintln(w, "// TESTING")
- fmt.Fprintln(w, "// returns an "+APPLE+" if "+COLOR+" matches, otherwise create")
- fmt.Fprintln(w, "func (x *"+FRUIT+") InsertBy"+COLOR+" (y string) *"+APPLE+" {")
+ log.Printf("\t\t(x %s) APPEND(%s)\n", FRUIT, APPLE)
+ // append -- no check at all
+ fmt.Fprintln(w, "// just a simple Append() shortcut (but still uses the mutex lock)")
+ fmt.Fprintln(w, "func (x *"+FRUIT+") Append(y *"+APPLE+") {")
fmt.Fprintln(w, " "+LOCK+".Lock()")
fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
fmt.Fprintln(w, "")
- fmt.Fprintln(w, " for _, p := range x."+APPLES+" {")
- fmt.Fprintln(w, " if p."+COLOR+" == y {")
- fmt.Fprintln(w, " return p")
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " z := new("+APPLE+")")
- fmt.Fprintln(w, " z."+COLOR+" = y")
- fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", z)")
- fmt.Fprintln(w, " return z")
+ fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", y)")
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
}
@@ -60,7 +63,6 @@ func (msg *MsgName) insertByColor(w io.Writer, FRUIT, APPLES, APPLE string, COLO
func (msg *MsgName) appendUnique(w io.Writer, FRUIT, APPLES, APPLE string, COLORS []string) {
LOCK := msg.getLockname("x")
- fmt.Fprintln(w, "// TESTING")
fmt.Fprintln(w, "// enforces "+APPLE+" is unique in "+FRUIT+"."+APPLES)
fmt.Fprintln(w, "func (x *"+FRUIT+") AppendUnique(newP *"+APPLE+") bool {")
fmt.Fprintln(w, " "+LOCK+".Lock()")
@@ -83,7 +85,6 @@ func (msg *MsgName) appendUnique(w io.Writer, FRUIT, APPLES, APPLE string, COLOR
func (msg *MsgName) appendUniqueBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
LOCK := msg.getLockname("x")
- fmt.Fprintln(w, "// TESTING")
fmt.Fprintln(w, "// enforces "+APPLE+"."+COLOR+" is unique in "+FRUIT+"."+APPLES)
fmt.Fprintln(w, "func (x *"+FRUIT+") AppendUniqueBy"+COLOR+"(newP *"+APPLE+") bool {")
fmt.Fprintln(w, " "+LOCK+".Lock()")
@@ -101,33 +102,9 @@ func (msg *MsgName) appendUniqueBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR stri
fmt.Fprintln(w, "")
}
-func (msg *MsgName) findBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
- LOCK := msg.getLockname("x")
-
- fmt.Fprintln(w, "// TESTING")
- fmt.Fprintln(w, "// find a dependancy by the go path")
- fmt.Fprintln(w, "func (x *"+FRUIT+") FindBy"+COLOR+"(s string) *"+APPLE+" {")
- fmt.Fprintln(w, " if x == nil {")
- fmt.Fprintln(w, " return nil")
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " "+LOCK+".RLock()")
- fmt.Fprintln(w, " defer "+LOCK+".RUnlock()")
- fmt.Fprintln(w, "")
- fmt.Fprintln(w, " for i, _ := range x."+APPLES+" {")
- fmt.Fprintln(w, " if x."+APPLES+"[i]."+COLOR+" == s {")
- fmt.Fprintln(w, " return x."+APPLES+"[i]")
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, " }")
- fmt.Fprintln(w, " return nil")
- fmt.Fprintln(w, "}")
- fmt.Fprintln(w, "")
-}
-
func (msg *MsgName) deleteBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
LOCK := msg.getLockname("x")
- fmt.Fprintln(w, "// TESTING")
fmt.Fprintln(w, "func (x *"+FRUIT+") DeleteBy"+COLOR+"(s string) bool {")
fmt.Fprintln(w, " "+LOCK+".Lock()")
fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
@@ -148,7 +125,7 @@ func (msg *MsgName) deleteBy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
func (msg *MsgName) deleteByWithCopy(w io.Writer, FRUIT, APPLES, APPLE, COLOR string) {
LOCK := msg.getLockname("x")
- fmt.Fprintln(w, "// TESTING")
+ fmt.Fprintln(w, "// TESTING fails with 'go vet' warning")
fmt.Fprintln(w, "func (x *"+FRUIT+") DeleteBy"+COLOR+"(s string) *"+APPLE+" {")
fmt.Fprintln(w, " "+LOCK+".Lock()")
fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
@@ -167,3 +144,26 @@ func (msg *MsgName) deleteByWithCopy(w io.Writer, FRUIT, APPLES, APPLE, COLOR st
fmt.Fprintln(w, "}")
fmt.Fprintln(w, "")
}
+
+func (msg *MsgName) insertBy(w io.Writer, FRUIT, APPLES, APPLE string, COLOR string) {
+ LOCK := msg.getLockname("x")
+
+ fmt.Fprintln(w, "// useful? remindme:1y")
+ fmt.Fprintln(w, "// returns an "+APPLE+" if "+COLOR+" matches, otherwise create")
+ fmt.Fprintln(w, "func (x *"+FRUIT+") InsertBy"+COLOR+" (y string) *"+APPLE+" {")
+ fmt.Fprintln(w, " "+LOCK+".Lock()")
+ fmt.Fprintln(w, " defer "+LOCK+".Unlock()")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, " for _, p := range x."+APPLES+" {")
+ fmt.Fprintln(w, " if p."+COLOR+" == y {")
+ fmt.Fprintln(w, " return p")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, " }")
+ fmt.Fprintln(w, "")
+ fmt.Fprintln(w, " z := new("+APPLE+")")
+ fmt.Fprintln(w, " z."+COLOR+" = y")
+ fmt.Fprintln(w, " x."+APPLES+" = append(x."+APPLES+", z)")
+ fmt.Fprintln(w, " return z")
+ fmt.Fprintln(w, "}")
+ fmt.Fprintln(w, "")
+}
diff --git a/header.go b/generateHeader.go
index 8d5fbfb..8d5fbfb 100644
--- a/header.go
+++ b/generateHeader.go
diff --git a/marshal.go b/generateMarshal.go
index 9cb1a4e..9cb1a4e 100644
--- a/marshal.go
+++ b/generateMarshal.go
diff --git a/addMutex.go b/generateMutex.go
index f9e143e..f9e143e 100644
--- a/addMutex.go
+++ b/generateMutex.go
diff --git a/sortFunc.go b/generateSort.go
index e5cfa20..e5cfa20 100644
--- a/sortFunc.go
+++ b/generateSort.go