src/Pure/codegen.ML
changeset 27302 8d12ac6a3e1c
parent 27251 121991a4884d
child 27353 71c4dd53d4cb
equal deleted inserted replaced
27301:bf7d82193a2e 27302:8d12ac6a3e1c
   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,