summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2023-08-07 22:38:14 +0200
committerTodd Gamblin <tgamblin@llnl.gov>2023-08-15 15:54:37 -0700
commitd237430f47a620cdc0a5137efb8b63d49a92b007 (patch)
treea63d6594d0923879ae21042866490d0c7208e9e3 /lib
parent3f0adae9efc20437b5284b523861862b61314ce7 (diff)
downloadspack-d237430f47a620cdc0a5137efb8b63d49a92b007.tar.gz
spack-d237430f47a620cdc0a5137efb8b63d49a92b007.tar.bz2
spack-d237430f47a620cdc0a5137efb8b63d49a92b007.tar.xz
spack-d237430f47a620cdc0a5137efb8b63d49a92b007.zip
Inline a few functions that are not needed anymore
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/solver/asp.py28
1 files changed, 8 insertions, 20 deletions
diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py
index 41b07eb4a8..e9141d071d 100644
--- a/lib/spack/spack/solver/asp.py
+++ b/lib/spack/spack/solver/asp.py
@@ -2567,24 +2567,14 @@ class SpecBuilder:
# from this dictionary during reconstruction
self._hash_lookup = hash_lookup or {}
- @staticmethod
- def extract_pkg(node: NodeArgument) -> str:
- """Extracts the package name from a node fact, and returns it.
-
- Args:
- node: node from which the package name is to be extracted
- """
- return node.pkg
-
def hash(self, node, h):
if node not in self._specs:
self._specs[node] = self._hash_lookup[h]
self._hash_specs.append(node)
def node(self, node):
- pkg = self.extract_pkg(node)
if node not in self._specs:
- self._specs[node] = spack.spec.Spec(pkg)
+ self._specs[node] = spack.spec.Spec(node.pkg)
def _arch(self, node):
arch = self._specs[node].architecture
@@ -2644,8 +2634,7 @@ class SpecBuilder:
packages_yaml = spack.config.get("packages")
packages_yaml = _normalize_packages_yaml(packages_yaml)
- pkg = self.extract_pkg(node)
- spec_info = packages_yaml[pkg]["externals"][int(idx)]
+ spec_info = packages_yaml[node.pkg]["externals"][int(idx)]
self._specs[node].external_path = spec_info.get("prefix", None)
self._specs[node].external_modules = spack.spec.Spec._format_module_list(
spec_info.get("modules", None)
@@ -2673,11 +2662,10 @@ class SpecBuilder:
edges[0].update_deptypes(deptypes=(type,))
def virtual_on_edge(self, parent_node, provider_node, virtual):
- provider = self.extract_pkg(provider_node)
- dependencies = self._specs[parent_node].edges_to_dependencies(name=provider)
+ dependencies = self._specs[parent_node].edges_to_dependencies(name=(provider_node.pkg))
provider_spec = self._specs[provider_node]
dependencies = [x for x in dependencies if id(x.spec) == id(provider_spec)]
- assert len(dependencies) == 1, f"{virtual}: {provider}"
+ assert len(dependencies) == 1, f"{virtual}: {provider_node.pkg}"
dependencies[0].update_virtuals((virtual,))
def reorder_flags(self):
@@ -2722,9 +2710,8 @@ class SpecBuilder:
for node in sorted_sources:
all_src_flags = list()
per_pkg_sources = [self._specs[node]]
- name = self.extract_pkg(node)
- if name in cmd_specs:
- per_pkg_sources.append(cmd_specs[name])
+ if node.pkg in cmd_specs:
+ per_pkg_sources.append(cmd_specs[node.pkg])
for source in per_pkg_sources:
all_src_flags.extend(source.compiler_flags.get(flag_type, []))
extend_flag_list(from_sources, all_src_flags)
@@ -2795,7 +2782,8 @@ class SpecBuilder:
# solving but don't construct anything. Do not ignore error
# predicates on virtual packages.
if name != "error":
- pkg = self.extract_pkg(args[0])
+ node = args[0]
+ pkg = node.pkg
if spack.repo.PATH.is_virtual(pkg):
continue