spa2rql.py
branchstable
changeset 5621 6f32f08d91f3
parent 5613 bc0ebfbf5c5d
child 10662 10942ed172de
equal deleted inserted replaced
5620:8bff6aae4623 5621:6f32f08d91f3
    73         try:
    73         try:
    74             ctypes = self.possible_types[var]
    74             ctypes = self.possible_types[var]
    75             nbctypes = len(ctypes)
    75             nbctypes = len(ctypes)
    76             ctypes &= varpossibletypes
    76             ctypes &= varpossibletypes
    77             if not ctypes:
    77             if not ctypes:
    78                 raise TypeResolverException()
    78                 raise TypeResolverException('No possible type')
    79             return len(ctypes) != nbctypes
    79             return len(ctypes) != nbctypes
    80         except KeyError:
    80         except KeyError:
    81             self.possible_types[var] = varpossibletypes
    81             self.possible_types[var] = varpossibletypes
    82             return True
    82             return True
    83 
    83 
   112                     if objvar in self.possible_types:
   112                     if objvar in self.possible_types:
   113                         yams_predicates[:] = [(s, r, o) for s, r, o in yams_predicates
   113                         yams_predicates[:] = [(s, r, o) for s, r, o in yams_predicates
   114                                               if o == '*' or o in self.possible_types[objvar]]
   114                                               if o == '*' or o in self.possible_types[objvar]]
   115                 # ensure this still make sense
   115                 # ensure this still make sense
   116                 if not yams_predicates:
   116                 if not yams_predicates:
   117                     raise TypeResolverException()
   117                     raise TypeResolverException('No yams predicate')
   118                 if len(yams_predicates) != nbchoices:
   118                 if len(yams_predicates) != nbchoices:
   119                     modified = True
   119                     modified = True
   120 
   120 
   121     def build_restrictions(self):
   121     def build_restrictions(self):
   122         # now, for each predicate
   122         # now, for each predicate