summaryrefslogtreecommitdiff
path: root/6
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2016-02-26 01:15:31 -0800
committerOri Bernstein <ori@eigenstate.org>2016-02-26 01:15:31 -0800
commit8c05ff6402cfb8988424b10ce3846f6d270919fd (patch)
treee03eb82e1844242400f11c52c34636db195a29ff /6
parenta7328b247486910e1bc21eee2e52b8452948f010 (diff)
downloadmc-8c05ff6402cfb8988424b10ce3846f6d270919fd.tar.gz
More consistent internness for types.
Diffstat (limited to '6')
-rw-r--r--6/typeinfo.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/6/typeinfo.c b/6/typeinfo.c
index 8073713..a16982c 100644
--- a/6/typeinfo.c
+++ b/6/typeinfo.c
@@ -104,6 +104,7 @@ Blob *tydescsub(Type *ty)
char buf[512];
uint8_t tt;
Node *len;
+ int isintern;
sub = NULL;
nsub = 0;
@@ -179,7 +180,10 @@ Blob *tydescsub(Type *ty)
case Tyname:
i = bprintf(buf, sizeof buf, "%s", Symprefix);
tydescid(buf + i, sizeof buf - i, ty);
- lappend(&sub, &nsub, mkblobref(buf, 0, ty->isimport || ty->vis == Visexport));
+ isintern = 0;
+ if (types[i]->isreflect && (!types[i]->isimport || types[i]->ishidden))
+ isintern = 1;
+ lappend(&sub, &nsub, mkblobref(buf, 0, isintern));
break;
}
b = mkblobseq(sub, nsub);