refactor calculation of assumption_names

This commit is contained in:
Gregory Becker
2022-04-20 14:06:48 -07:00
parent b9831acb44
commit cf71baff30

View File

@@ -484,6 +484,22 @@ def __init__(self, cores=True):
self.out = llnl.util.lang.Devnull()
self.cores = cores
# types of facts to include in unsat cores
self.assumption_names = [
'conflict', 'condition', 'error', 'variant', 'dependency',
'rule', 'deprecated', 'node_flag_set',
'node_compiler_version_set', 'node_compiler_set', 'variant_set',
'node_target_set', 'node_os_set', 'node_platform_set',
'node_platform_default', 'node_compiler_version_satisfies', 'node_version_satisfies',
'external_spec_selected', 'no_flags', 'variant_value', 'version',
'depends_on', 'hash', 'node_flag_compiler_default', 'node_flag_source',
'build', 'node', 'root',
]
# At high debug levels, include internal errors in output
if spack.error.debug > 2:
self.assumption_names.append('internal_error')
def title(self, name, char):
self.out.write('\n')
self.out.write("%" + (char * 76))
@@ -513,24 +529,9 @@ def fact(self, head):
atom = self.backend.add_atom(symbol)
assumption_names = [
'conflict', 'condition', 'error', 'variant', 'dependency',
'rule', 'deprecated', 'node_flag_set',
'node_compiler_version_set', 'node_compiler_set', 'variant_set',
'node_target_set', 'node_os_set', 'node_platform_set',
'node_platform_default', 'node_compiler_version_satisfies', 'node_version_satisfies',
'external_spec_selected', 'no_flags', 'variant_value', 'version',
'depends_on', 'hash', 'node_flag_compiler_default', 'node_flag_source',
'build', 'node', 'root',
]
# At high debug levels, include internal errors in output
if spack.error.debug > 2:
assumption_names.append('internal_error')
# Only functions relevant for constructing good error messages are
# assumptions, and only when using cores.
choice = self.cores and symbol.name in assumption_names
choice = self.cores and symbol.name in self.assumption_names
self.backend.add_rule([atom], [], choice=choice)
if choice: