From 905c4a20d8772e52a3871cc5fb6a2172ae5a2f51 Mon Sep 17 00:00:00 2001 From: Charles Forsyth Date: Sun, 16 Apr 2017 20:34:27 +0100 Subject: change from Aaron R Robinson to fix interface generation when exception types appear --- appl/cmd/limbo/typecheck.b | 4 +++- dis/limbo.dis | Bin 343658 -> 343678 bytes limbo/typecheck.c | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/appl/cmd/limbo/typecheck.b b/appl/cmd/limbo/typecheck.b index 5629500b..88060840 100644 --- a/appl/cmd/limbo/typecheck.b +++ b/appl/cmd/limbo/typecheck.b @@ -759,9 +759,11 @@ concheck(n: ref Node, isglobal: int) exname(d: ref Decl): string { s := ""; - m := impmods.sym; + m: ref Sym; if(d.dot != nil) m = d.dot.sym; + else if(impmods != nil) + m = impmods.sym; if(m != nil) s += m.name+"."; if(fndec != nil) diff --git a/dis/limbo.dis b/dis/limbo.dis index 76c2dfb4..b4e3acac 100644 Binary files a/dis/limbo.dis and b/dis/limbo.dis differ diff --git a/limbo/typecheck.c b/limbo/typecheck.c index 52e0295d..ce3da87b 100644 --- a/limbo/typecheck.c +++ b/limbo/typecheck.c @@ -873,9 +873,11 @@ exname(Decl *d) n = 0; sprint(buf, "%d", scope-ScopeGlobal); - m = impmods->sym; + m = nil; if(d->dot) m = d->dot->sym; + else if(impmods) + m = impmods->sym; if(m) n += strlen(m->name)+1; if(fndec) -- cgit v1.2.3