Harmonise held_object usage somewhat.

pull/18/head
Jussi Pakkanen 10 years ago
parent d73af2558a
commit 188986fac3
  1. 12
      build.py
  2. 22
      interpreter.py

@ -236,9 +236,7 @@ class BuildTarget():
d = [d]
newd = []
for i in d:
if hasattr(i, 'el'):
newd.append(i.el)
elif hasattr(i, 'held_object'):
if hasattr(i, 'held_object'):
newd.append(i.held_object)
else:
newd.append(i)
@ -420,8 +418,8 @@ class BuildTarget():
def add_external_deps(self, deps):
for dep in deps:
if hasattr(dep, 'el'):
dep = dep.el
if hasattr(dep, 'held_object'):
dep = dep.held_object
if not isinstance(dep, dependencies.Dependency):
raise InvalidArguments('Argument is not an external dependency')
self.external_deps.append(dep)
@ -504,8 +502,6 @@ class Generator():
exe = args[0].held_object
if not isinstance(exe, Executable):
raise InvalidArguments('First generator argument must be an executable.')
elif hasattr(args[0], 'ep'):
exe = args[0].ep
else:
raise InvalidArguments('First generator argument must be an executable object.')
self.exe = exe
@ -710,8 +706,6 @@ class CustomTarget:
cmd = [cmd]
final_cmd = []
for i, c in enumerate(cmd):
if hasattr(c, 'ep'):
c = c.ep
if hasattr(c, 'held_object'):
c = c.held_object
if isinstance(c, str):

@ -170,47 +170,47 @@ class ConfigurationDataHolder(InterpreterObject):
class ExternalProgramHolder(InterpreterObject):
def __init__(self, ep):
InterpreterObject.__init__(self)
self.ep = ep
self.held_object = ep
self.methods.update({'found': self.found_method})
def found_method(self, args, kwargs):
return self.found()
def found(self):
return self.ep.found()
return self.held_object.found()
def get_command(self):
return self.ep.fullpath
return self.held_object.fullpath
def get_name(self):
return self.ep.name
return self.held_object.name
class ExternalLibraryHolder(InterpreterObject):
def __init__(self, el):
InterpreterObject.__init__(self)
self.el = el
self.held_object = el
self.methods.update({'found': self.found_method})
def found(self):
return self.el.found()
return self.held_object.found()
def found_method(self, args, kwargs):
return self.found()
def get_filename(self):
return self.el.fullpath
return self.held_object.fullpath
def get_name(self):
return self.el.name
return self.held_object.name
def get_compile_args(self):
return self.el.get_compile_args()
return self.held_object.get_compile_args()
def get_link_args(self):
return self.el.get_link_args()
return self.held_object.get_link_args()
def get_exe_args(self):
return self.el.get_exe_args()
return self.held_object.get_exe_args()
class GeneratorHolder(InterpreterObject):
def __init__(self, interpreter, args, kwargs):

Loading…
Cancel
Save