pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:184:      #ifdef PIKE_DEBUG    /* Let's make it able to describe any type constant in debug mode. */    case T_UNFINISHED: return "T_UNFINISHED";    case T_MANY: return "T_MANY";    case PIKE_T_INT_UNTYPED: return "PIKE_T_INT_UNTYPED";    case PIKE_T_GET_SET: return "PIKE_T_GET_SET";    case PIKE_T_FREE: return "PIKE_T_FREE";    case PIKE_T_ATTRIBUTE: return "PIKE_T_ATTRIBUTE";    case PIKE_T_NSTRING: return "PIKE_T_NSTRING"; +  case PIKE_T_LSTRING: return "PIKE_T_LSTRING"; +  case PIKE_T_LARRAY: return "PIKE_T_LARRAY";    case PIKE_T_RING: return "PIKE_T_RING";    case PIKE_T_NAME: return "PIKE_T_NAME";    case PIKE_T_SCOPE: return "PIKE_T_SCOPE";    case PIKE_T_TUPLE: return "PIKE_T_TUPLE";    case T_ASSIGN: return "T_ASSIGN";    case T_DELETED: return "T_DELETED";    case PIKE_T_UNKNOWN: return "PIKE_T_UNKNOWN";    case T_OBJ_INDEX: return "T_OBJ_INDEX";    case T_SVALUE_PTR: return "T_SVALUE_PTR";    case T_ARRAY_LVALUE: return "T_ARRAY_LVALUE";
pike.git/src/pike_types.cmod:8477:       case PIKE_T_NSTRING:    type = T_STRING;    /* FALLTHRU */    case T_ARRAY:    low_make_pike_type(type_string + 1, cont);    /* FIXME: Add check for valid subtype in the string case. */    push_unlimited_array_type(type);    break;    +  case PIKE_T_LSTRING: +  type = T_STRING; +  /* Order dependant */ +  low_make_pike_type(type_string+1, cont); +  low_make_pike_type(*cont, cont); +  push_reverse_type(type); +  break; +  +  case PIKE_T_LARRAY: +  type = T_ARRAY; +  /* Order dependant */ +  low_make_pike_type(type_string+1, cont); +  low_make_pike_type(*cont, cont); +  push_reverse_type(type); +  break; +     case T_INT:    {    INT32 min = extract_type_int((char *)type_string+1);    INT32 max = extract_type_int((char *)type_string+5);       *cont = type_string + 9; /* 2*sizeof(INT32) + 1 */    push_int_type(min, max);    break;    }