Selaa lähdekoodia

ошибка с типом в ListsObxLinear

kpmy 10 vuotta sitten
vanhempi
commit
6c131520d7
6 muutettua tiedostoa jossa 29 lisäystä ja 13 poistoa
  1. BIN
      code/Start3.oz
  2. 2 1
      cp/module/module.go
  3. 1 1
      fw.go
  4. 7 5
      rt2/module/ml.go
  5. 7 5
      rt2/nodeframe/frame.go
  6. 12 1
      rt2/rules2/wrap/data/stack.go

BIN
code/Start3.oz


+ 2 - 1
cp/module/module.go

@@ -1,6 +1,7 @@
 package module
 
 import (
+	"fmt"
 	"fw/cp"
 	"fw/cp/constant/enter"
 	"fw/cp/node"
@@ -136,7 +137,7 @@ func (m *Module) Init(inittd ...func(t object.ComplexType)) {
 		return strconv.Itoa(int(id))
 	}
 
-	//fmt.Println("init", m.Name)
+	fmt.Println("init", m.Name)
 	for k, s := range m.Types {
 		q := ""
 		switch e := k.(type) {

+ 1 - 1
fw.go

@@ -33,10 +33,10 @@ func close() {
 }
 
 func main() {
-	utils.Debug2(false, false)
 	flag.Parse()
 	utils.Debug(debug)
 	if name == "" {
+		//utils.Debug2(false, true)
 		//name = "XevDemo23"
 		//name = "XevDemo11"
 		//name = "XevDemo12"

+ 7 - 5
rt2/module/ml.go

@@ -60,7 +60,7 @@ func (l *list) Handle(msg interface{}) {}
 
 func (l *list) Load(name string, ldr ...Loader) (ret *mod.Module, err error) {
 	assert.For(name != "", 20)
-	//fmt.Println("loading", name, "loaded", l.Loaded(name) != nil)
+	fmt.Println("loading", name, "loaded", l.Loaded(name) != nil)
 	ret = l.Loaded(name)
 	var loader Loader = func(m *mod.Module) {}
 	if len(ldr) > 0 {
@@ -71,14 +71,16 @@ func (l *list) Load(name string, ldr ...Loader) (ret *mod.Module, err error) {
 		ret = xev.Load(path, name+".oz")
 		ret.Name = name
 		for _, imp := range ret.Imports {
-			//fmt.Println("imports", imp.Name, "loaded", l.Loaded(imp.Name) != nil)
+			fmt.Println(name, "imports", imp.Name, "loaded", l.Loaded(imp.Name) != nil)
 			_, err = l.Load(imp.Name, loader)
 		}
 		if err == nil {
-			ret.Init()
+			ret.Init(func(t object.ComplexType) {
+				fmt.Println(t.Qualident())
+			})
 			l.inner[name] = ret
 			loader(ret)
-			//fmt.Println("loaded", name)
+			fmt.Println("loaded", name)
 		}
 	}
 	return ret, err
@@ -225,7 +227,7 @@ func (c *tc) ConnectTo(x interface{}) {
 		halt.As(100, reflect.TypeOf(t))
 	}
 	c.m = ModuleOfType(c.ml.Domain(), c.typ)
-	assert.For(c.m != nil, 60)
+	assert.For(c.m != nil, 60, c.typ.Qualident(), c.typ)
 }
 
 func (c *tc) MethodList() (ret map[int][]Method) {

+ 7 - 5
rt2/nodeframe/frame.go

@@ -78,11 +78,13 @@ type nodeFrame struct {
 }
 
 func done(f frame.Frame) {
-	//utils.PrintFrame("____")
-	//utils.PrintFrame(f.Domain().Discover(context.SCOPE))
-	//	utils.PrintFrame("--")
-	//	utils.PrintFrame(f.Domain().Discover(context.HEAP))
-	//utils.PrintFrame("^^^^")
+	utils.PrintScope("== SCOPE ==")
+	utils.PrintScope(f.Domain().Discover(context.SCOPE))
+	utils.PrintScope("==  HEAP ==")
+	utils.PrintScope(f.Domain().Discover(context.HEAP))
+	utils.PrintScope("== CALL ==")
+	utils.PrintScope(f.Domain().Discover(context.CALL))
+	utils.PrintScope("^^^^^^^^^")
 }
 
 func (f *nodeFrame) Do() frame.WAIT {

+ 12 - 1
rt2/rules2/wrap/data/stack.go

@@ -399,7 +399,18 @@ func (a *area) Target(all ...scope.Allocator) scope.Allocator {
 	}
 }
 
-func (a *area) String() string { return "fixme" }
+func (a *area) String() (ret string) {
+	a.il.ForEach(func(in items.Value) bool {
+		v, ok := in.(*item)
+		if ok {
+			ret = fmt.Sprintln(ret, v.Data())
+		} else {
+			ret = fmt.Sprintln(ret, "..")
+		}
+		return false
+	})
+	return
+}
 
 func (a *area) Provide(x interface{}) scope.Value {
 	switch z := x.(type) {