docs: def _handle_state_decls(self, state, sls, saltenv, errors):
          '''
          Add sls and saltenv components to the state
          '''
          for name in state:
              if not isinstance(state[name], dict):
                  if name == '__extend__':
                      continue
                  if name == '__exclude__':
                      continue
  
                  if isinstance(state[name], six.string_types):
                      # Is this is a short state, it needs to be padded
                      if '.' in state[name]:
                          comps = state[name].split('.')
                          state[name] = {'__sls__': sls,
                                         '__env__': saltenv,
                                         comps[0]: [comps[1]]}
                          continue
                  errors.append(
                      'ID {0} in SLS {1} is not a dictionary'.format(name, sls)
                  )
                  continue
              skeys = set()
              for key in list(state[name]):
                  if key.startswith('_'):
                      continue
                  if not isinstance(state[name][key], list):
                      continue
                  if '.' in key:
                      comps = key.split('.')
                      # Salt doesn't support state files such as:
                      #
                      #     /etc/redis/redis.conf:
                      #       file.managed:
                      #         - source: salt://redis/redis.conf
                      #         - user: redis
                      #         - group: redis
                      #         - mode: 644
                      #       file.comment:
                      #           - regex: ^requirepass
                      if comps[0] in skeys:
                          errors.append(
                              'ID \'{0}\' in SLS \'{1}\' contains multiple state '
                              'declarations of the same type'.format(name, sls)
                          )
                          continue
                      state[name][comps[0]] = state[name].pop(key)
                      state[name][comps[0]].append(comps[1])
                      skeys.add(comps[0])
                      continue
                  skeys.add(key)
              if '__sls__' not in state[name]:
                  state[name]['__sls__'] = sls
              if '__env__' not in state[name]:
                  state[name]['__env__'] = saltenv