Browse Source

для демо с итератором выяснилось, что типы могут быть так же расположены в скоупе процедуры, похоже что там поиск импортированых типов не работает

kpmy 10 years ago
parent
commit
088f7437ff

BIN
code/ListsObxIterable.oz


BIN
code/ListsObxLinear.oz


BIN
code/ListsObxMap.oz


BIN
code/Start3.oz


BIN
code/Start4.oz


+ 1 - 1
fw.go

@@ -42,7 +42,7 @@ func main() {
 		//name = "XevDemo12"
 		//name = "XevDemo13"
 		//name = "XevDemo19"
-		name = "Start3"
+		name = "Start4"
 	}
 	global := &stdDomain{god: true}
 	global.global = global

+ 2 - 2
rt2/rules2/wrap/data/stack.go

@@ -113,7 +113,7 @@ func push(dom context.Domain, il items.Data, _o object.Object) {
 				for x := rec.Link(); x != nil; x = x.Link() {
 					switch x.(type) {
 					case object.FieldObject:
-						//fmt.Println(o.Name(), ".", x.Name(), x.Adr())
+						fmt.Println(o.Name(), ".", x.Name(), x.Adr())
 						fl = append(fl, x)
 					case object.ParameterObject, object.ProcedureObject, object.VariableObject:
 						//do nothing
@@ -125,7 +125,7 @@ func push(dom context.Domain, il items.Data, _o object.Object) {
 					x := ml.NewTypeCalc()
 					x.ConnectTo(rec)
 					_, frec := x.ForeignBase()
-					//fmt.Println(frec)
+					fmt.Println(frec)
 					rec, _ = frec.(object.RecordType)
 				} else {
 					rec = rec.BaseRec()

+ 1 - 1
rt2/rules2/wrap/data/val.go

@@ -102,7 +102,7 @@ func (r *rec) Set(v scope.Value) {
 
 func (r *rec) Get(i cp.ID) scope.Value {
 	x, ok := r.fi.Get(&key{id: i}).(*item)
-	assert.For(ok, 40)
+	assert.For(ok, 40, i)
 	return x.Value()
 }