diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-03-09 19:48:43 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-03-09 19:48:43 +0200 |
commit | 64fd8f427fdad93c8995d412895825d84536db3a (patch) | |
tree | 06f3a2b54403c5401c3026b86ee512e710c0caea /interpreter.py | |
parent | 48477102c9791ba35b61e5fc76b2e615df9bbd44 (diff) | |
download | meson-64fd8f427fdad93c8995d412895825d84536db3a.zip meson-64fd8f427fdad93c8995d412895825d84536db3a.tar.gz meson-64fd8f427fdad93c8995d412895825d84536db3a.tar.bz2 |
Metaprogramming in da hause fixing.
Diffstat (limited to 'interpreter.py')
-rw-r--r-- | interpreter.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/interpreter.py b/interpreter.py index d9a845c..7b717cd 100644 --- a/interpreter.py +++ b/interpreter.py @@ -407,8 +407,8 @@ class SharedLibraryHolder(BuildTargetHolder): super().__init__(target) class JarHolder(BuildTargetHolder): - def __init__(self, name, subdir, is_cross, sources, objects, environment, kwargs): - super().__init__(build.Jar, name, subdir, is_cross, sources, objects, environment, kwargs) + def __init__(self, target): + super().__init__(target) class CustomTargetHolder(InterpreterObject): def __init__(self, object_to_hold): @@ -1482,13 +1482,16 @@ class Interpreter(): if name in self.build.targets: raise InvalidCode('Tried to create target "%s", but a target of that name already exists.' % name) self.check_sources_exist(os.path.join(self.source_root, self.subdir), sources) - if isinstance(targetholder, ExecutableHolder): + if targetholder is ExecutableHolder: targetclass = build.Executable - elif isinstance(targetholder, SharedLibraryHolder): + elif targetholder is SharedLibraryHolder: targetclass = build.SharedLibrary - elif isinstance(targetholder, StaticLibraryHolder): + elif targetholder is StaticLibraryHolder: targetclass = build.StaticLibrary + elif targetholder is JarHolder: + targetclass = build.Jar else: + print(targetholder) raise RuntimeError('Unreachable code') target = targetclass(name, self.subdir, is_cross, sources, objs, self.environment, kwargs) l = targetholder(target) |