Mercurial > codeOptimizer
diff Compilable.py @ 1:a1224150b8f6
Cleanup and making code easier to read.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Sun, 16 Sep 2012 10:35:39 +0200 |
| parents | 28b636105ed6 |
| children | 3a56cd936c59 |
line wrap: on
line diff
--- a/Compilable.py Sat Sep 15 20:34:39 2012 +0200 +++ b/Compilable.py Sun Sep 16 10:35:39 2012 +0200 @@ -34,31 +34,24 @@ def worksWithoutModifications(self): return tryCompileFile(self.path, 'g++', self.flags) - def activeBuffer(self): + def activeBuffer(self, replace): self.loadFile() str = '' for i in range(len(self.lines)): - if not i in self.replace: + if not i in replace: str += self.lines[i] else: - str += self.replace[i] + str += replace[i] return str - def works(self): - return tryCompileBuffer(self.activeBuffer(), 'g++', self.flags) - - def deactivateLine(self, i): - self.replace[i] = "\n" - - def activateLine(self, i): - del self.replace[i] + def works(self, replace): + return tryCompileBuffer(self.activeBuffer(replace), 'g++', self.flags) def loadFile(self): if self.lines == None: f = open(self.path, 'r') self.lines = f.readlines() f.close() - self.replace = {} def includeLines(self): self.loadFile() @@ -73,13 +66,14 @@ def removeRemovableIncludes(self): l = self.includeLines() retVal = [] + replace = {} for n in l: - self.deactivateLine(n) + replace[n] = '\n' print 'Trying to compile ' + self.path + ' without ' + self.getPathname(self.lines[n]) - if self.works(): + if self.works(replace): retVal.append(n) else: - self.activateLine(n) + del replace[n] return retVal @@ -108,17 +102,17 @@ return basename - def replaceIncludes(self): + def replaceIncludes(self, replace): l = self.includeLines() retVal = [] for n in l: - if n not in self.replace: + if n not in replace: rstring = 'class ' + self.getClassname(self.lines[n]) + ';\n' - self.replace[n] = rstring - if self.works(): + replace[n] = rstring + if self.works(replace): retVal.append(n) else: - self.activateLine(n) + del replace[n] return retVal def dependencies(self):
