if(n->op == OLIST)
n = n->left;
if(n->op == OEMPTY)
- return;
+ return T;
for(; n!=N; n=n->right) {
if(n->op != OCASE)
{
Node *a, *r, *on, *c;
Type *t;
- Iter iter;
c = n->left;
if(c->op == ORECV)
t = fixchan(c->left->type);
if(t == T)
- return;
+ return N;
convlit(c->right, t->type);
if(!ascompat(t->type, c->right->type)) {
badtype(c->op, t->type, c->right->type);
- return;
+ return N;
}
// selectsend(sel *byte, hchan *chan any, elem any) (selected bool);
t = fixchan(c->left->type);
if(t == T)
- return;
+ return N;
// selectrecv(sel *byte, hchan *chan any, elem *any) (selected bool);
on = syslook("selectrecv", 1);
t = fixchan(c->right->type);
if(t == T)
- return;
+ return N;
walktype(c->left, Elv); // elem
convlit(c->left, t->type);
if(!ascompat(t->type, c->left->type)) {
badtype(c->op, t->type, c->left->type);
- return;
+ return N;
}
// selectrecv(sel *byte, hchan *chan any, elem *any) (selected bool);
Type*
lookdot(Node *n, Type *f)
{
- Type *r, *c;
+ Type *r;
Sym *s;
r = T;
void
walkdot(Node *n)
{
- Node *mn;
Type *t, *f;
if(n->left == N || n->right == N)
Type *t;
Iter save;
int w;
- char *name;
r = N;
l = listfirst(&save, &n);
stringop(Node *n, int top)
{
Node *r, *c, *on;
- Type *t;
- int32 l;
switch(n->op) {
default:
Node *r, *a;
Type *t;
Node *on;
- int alg1, alg2, cl, cr;
+ int cl, cr;
//dump("mapop", n);
Node *r, *a;
Type *t;
Node *on;
- int alg, cl, cr;
+ int cl, cr;
//dump("chanop", n);
isandss(Type *lt, Node *r)
{
Type *rt;
- Node *n;
- int o;
rt = r->type;
if(isinter(lt)) {