Lines Matching refs:self

143   def __init__(self, a_file=None):
152 self._macros = dict()
154 self.ParseInput(a_file)
159 def __init__(self, name, arg_names):
160 self._name = name
161 self._args = tuple(arg_names)
162 self._body = ''
163 self._needNewLine = False
165 def AppendLine(self, line):
166 if self._needNewLine:
167 self._body += '\n'
168 self._body += line
169 self._needNewLine = not line.endswith('\n')
172 def name(self):
173 return self._name
176 def args(self):
177 return self._args
180 def body(self):
181 return self._body
183 def ParseInput(self, a_file):
193 self.ParseLines(input_lines)
195 def ParseLines(self, input_lines):
210 name, args = self._ParseDefineLine(line)
211 if self._macros.get(name):
213 current_macro = self.MacroDefinition(name, args)
214 self._macros[name] = current_macro
235 def _ParseDefineLine(self, input_line):
260 def Expand(self, macro_ref_str):
275 if match.group('name') not in self._macros:
277 return self._Expand(match, [], macro_ref_str)
279 def _FormatStack(self, macro_ref_stack):
285 def _Expand(self, macro_ref_match, macro_stack, macro_ref_str=None):
292 (macro_ref_str, self._FormatStack(macro_stack)))
293 macro = self._macros[name]
301 self._FormatStack(macro_stack)))
303 result = self._ReplaceArgValues(macro, args, macro_ref_str, macro_stack)
307 eval_result = self._EvalMacrosRefs(result, new_macro_stack)
315 def _ReplaceArgValues(self,
347 self._FormatStack(macro_stack)))
353 def _EvalMacrosRefs(self, text, macro_stack):
354 macro_ref_re = _MacroRefRe(self._macros.keys())
357 return self._Expand(match, macro_stack)
364 def __init__(self, a_file, import_resolver=None):
375 self._sections = []
376 self._original_content = a_file.read()
377 self._import_resolver = import_resolver
378 self._processed_content = None
382 def __init__(self, first_line_num):
383 self._lines = []
384 self._first_line_num = first_line_num
386 def TryAppend(self, line, line_num):
401 def HitEOF(self):
405 def BindMacroCollection(self, macro_collection):
413 def Append(self, line):
414 self._lines.append(line)
417 def lines(self):
418 return self._lines
421 def num_lines_captured(self):
422 return len(self._lines)
425 def first_line_num(self):
426 return self._first_line_num
429 def first_line(self):
430 if not self._lines:
432 return self._lines[0]
435 def text(self):
436 return '\n'.join(self.lines) + '\n'
441 def TryAppend(self, line, line_num):
444 self.Append(line)
450 def __init__(self, first_line_num):
451 SourceFile.SectionBase.__init__(self, first_line_num)
452 self._macro_collection = None
454 def TryAppend(self, line, line_num):
458 self.Append(line)
461 assert self.num_lines_captured > 0
464 (directive, line_num, self.first_line))
468 def HitEOF(self):
470 self.first_line)
472 def BindMacroCollection(self, macro_collection):
473 self._macro_collection = macro_collection
476 def lines(self):
477 captured_lines = SourceFile.SectionBase.lines.fget(self)
482 if self._macro_collection:
488 expand_result = self._macro_collection.Expand(macro)
498 self.first_line_num, self.first_line))
512 def TryAppend(self, line, line_num):
521 (directive, line_num, self.first_line))
522 self.Append(line)
525 def BindMacroCollection(self, macro_collection):
529 macro_collection.ParseLines([x[3:] for x in self.lines])
533 (e.message, self.first_line_num, self.first_line))
538 def __init__(self, first_line_num, import_resolver):
539 SourceFile.SectionBase.__init__(self, first_line_num)
540 self._import_resolver = import_resolver
542 def TryAppend(self, line, line_num):
545 assert self.num_lines_captured == 0
546 self.Append(line)
549 def BindMacroCollection(self, macro_colletion):
552 if self._import_resolver is None:
554 ' "%s".' % (self.first_line_num, self.first_line))
555 import_name = self.first_line.split(' ', 1)[1].strip()
556 imported_file = self._import_resolver(import_name)
560 (import_name, self.first_line_num, self.first_line))
562 imported_src_file = SourceFile(imported_file, self._import_resolver)
569 (e.message, self.first_line_num, self.first_line))
571 def _ParseFile(self):
572 self._sections = []
573 lines = self._original_content.splitlines()
577 cur_section = self._MakeSection(line, line_num)
580 cur_section = self._MakeSection(line, line_num)
589 def _MakeSection(self, line, line_num):
591 section = self.TextSection(line_num)
595 section = self.ExpansionSection(line_num)
597 section = self.DefinitionSection(line_num)
599 section = self.ImportDefinesSection(line_num, self._import_resolver)
602 self._sections.append(section)
605 def ProcessContent(self, strip_expansion=False):
607 self._ParseFile()
613 for section in self._sections:
616 for section in self._sections:
618 self._processed_content = result
621 def original_content(self):
622 return self._original_content
625 def processed_content(self):
626 return self._processed_content