diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2019-11-25 12:05:19 -0800 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-12-12 09:35:32 -0800 |
commit | 7460e4ccda339d167402bd077dcaa364fab5e172 (patch) | |
tree | 0926cbc0b7970b4b9de20b6801d6aba51efa712d | |
parent | ee6e249f659cd4658ae2f1a425d4aa01585c23aa (diff) | |
download | meson-7460e4ccda339d167402bd077dcaa364fab5e172.zip meson-7460e4ccda339d167402bd077dcaa364fab5e172.tar.gz meson-7460e4ccda339d167402bd077dcaa364fab5e172.tar.bz2 |
compilers: Make get_display_language a class or static method
Currently this is done at the instance level, but we need it at the
class level to allow compiler "lang" args to be gotten early enough.
This patch also removes a couple of instance of branch/leaf classes
providing their own implementation that is identical to the Compiler
version.
-rw-r--r-- | mesonbuild/compilers/compilers.py | 5 | ||||
-rw-r--r-- | mesonbuild/compilers/cpp.py | 3 | ||||
-rw-r--r-- | mesonbuild/compilers/cs.py | 3 | ||||
-rw-r--r-- | mesonbuild/compilers/cuda.py | 3 | ||||
-rw-r--r-- | mesonbuild/compilers/fortran.py | 3 | ||||
-rw-r--r-- | mesonbuild/compilers/objc.py | 3 | ||||
-rw-r--r-- | mesonbuild/compilers/objcpp.py | 3 |
7 files changed, 11 insertions, 12 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index eedd4cf..713a9e7 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -731,8 +731,9 @@ class Compiler: def get_language(self) -> str: return self.language - def get_display_language(self) -> str: - return self.language.capitalize() + @classmethod + def get_display_language(cls) -> str: + return cls.language.capitalize() def get_default_suffix(self) -> str: return self.default_suffix diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py index 0cf77ab..a2dd60f 100644 --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py @@ -67,7 +67,8 @@ class CPPCompiler(CLikeCompiler, Compiler): Compiler.__init__(self, exelist, version, for_machine, info, **kwargs) CLikeCompiler.__init__(self, is_cross, exe_wrap) - def get_display_language(self): + @staticmethod + def get_display_language(): return 'C++' def get_no_stdinc_args(self): diff --git a/mesonbuild/compilers/cs.py b/mesonbuild/compilers/cs.py index f2b1442..d064e7c 100644 --- a/mesonbuild/compilers/cs.py +++ b/mesonbuild/compilers/cs.py @@ -43,7 +43,8 @@ class CsCompiler(BasicLinkerIsCompilerMixin, Compiler): self.is_cross = False self.runner = runner - def get_display_language(self): + @classmethod + def get_display_language(cls): return 'C sharp' def get_always_args(self): diff --git a/mesonbuild/compilers/cuda.py b/mesonbuild/compilers/cuda.py index c8ab9ac..385e4cf 100644 --- a/mesonbuild/compilers/cuda.py +++ b/mesonbuild/compilers/cuda.py @@ -61,9 +61,6 @@ class CudaCompiler(Compiler): def get_always_args(self): return [] - def get_display_language(self): - return 'Cuda' - def get_no_stdinc_args(self): return [] diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index 607d7a5..4aff72e 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -49,9 +49,6 @@ class FortranCompiler(CLikeCompiler, Compiler): CLikeCompiler.__init__(self, is_cross, exe_wrapper) self.id = 'unknown' - def get_display_language(self): - return 'Fortran' - def has_function(self, funcname, prefix, env, *, extra_args=None, dependencies=None): raise MesonException('Fortran does not have "has_function" capability.\n' 'It is better to test if a Fortran capability is working like:\n\n' diff --git a/mesonbuild/compilers/objc.py b/mesonbuild/compilers/objc.py index 9f8bda8..a4aa5dc 100644 --- a/mesonbuild/compilers/objc.py +++ b/mesonbuild/compilers/objc.py @@ -36,7 +36,8 @@ class ObjCCompiler(CLikeCompiler, Compiler): Compiler.__init__(self, exelist, version, for_machine, info, **kwargs) CLikeCompiler.__init__(self, is_cross, exe_wrap) - def get_display_language(self): + @staticmethod + def get_display_language(): return 'Objective-C' def sanity_check(self, work_dir, environment): diff --git a/mesonbuild/compilers/objcpp.py b/mesonbuild/compilers/objcpp.py index ea35a36..b42cef6 100644 --- a/mesonbuild/compilers/objcpp.py +++ b/mesonbuild/compilers/objcpp.py @@ -35,7 +35,8 @@ class ObjCPPCompiler(CLikeCompiler, Compiler): Compiler.__init__(self, exelist, version, for_machine, info, **kwargs) CLikeCompiler.__init__(self, is_cross, exe_wrap) - def get_display_language(self): + @staticmethod + def get_display_language(): return 'Objective-C++' def sanity_check(self, work_dir, environment): |