386 val {codegens, tycodegens, consts, types, preprocs, modules, test_params} = |
386 val {codegens, tycodegens, consts, types, preprocs, modules, test_params} = |
387 CodegenData.get thy; |
387 CodegenData.get thy; |
388 val tc = Sign.intern_type thy s; |
388 val tc = Sign.intern_type thy s; |
389 in |
389 in |
390 case Symtab.lookup (snd (#types (Type.rep_tsig (Sign.tsig_of thy)))) tc of |
390 case Symtab.lookup (snd (#types (Type.rep_tsig (Sign.tsig_of thy)))) tc of |
391 SOME (Type.LogicalType i, _) => |
391 SOME ((Type.LogicalType i, _), _) => |
392 if num_args_of (fst syn) > i then |
392 if num_args_of (fst syn) > i then |
393 error ("More arguments than corresponding type constructor " ^ s) |
393 error ("More arguments than corresponding type constructor " ^ s) |
394 else (case AList.lookup (op =) types tc of |
394 else (case AList.lookup (op =) types tc of |
395 NONE => CodegenData.put {codegens = codegens, |
395 NONE => CodegenData.put {codegens = codegens, |
396 tycodegens = tycodegens, consts = consts, |
396 tycodegens = tycodegens, consts = consts, |