pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: las.c,v 1.119 1999/11/20 19:09:47 grubba Exp $"); + RCSID("$Id: las.c,v 1.120 1999/11/20 21:13:25 grubba Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:2050:    struct pike_string *f;    char *name;    INT32 max_args,args;       push_type(T_MIXED); /* match any return type, even void */    push_type(T_VOID); /* not varargs */    push_type(T_MANY);    function_type_max=0;    low_build_function_type(CDR(n));    push_type(T_FUNCTION); -  s=pop_type(); -  f=CAR(n)->type?CAR(n)->type:mixed_type_string; -  n->type=check_call(s,f); -  args=count_arguments(s); -  max_args=count_arguments(f); -  if(max_args<0) max_args=0x7fffffff; +  s = pop_type(); +  f = CAR(n)->type?CAR(n)->type:mixed_type_string; +  n->type = check_call(s,f); +  args = count_arguments(s); +  max_args = count_arguments(f); +  if(max_args<0) max_args = 0x7fffffff;    -  +  if (n->type) { +  /* Type/argument-check OK. */ +  break; +  } +     switch(CAR(n)->token)    {   #if 0 /* FIXME */    case F_TRAMPOLINE:   #endif    case F_IDENTIFIER:    name=ID_FROM_INT(new_program, CAR(n)->u.id.number)->name->str;    break;       case F_CONSTANT: