示例#1
0
 def _validate_file(pathname):
     return (
         pathname in paths or (
             get_reader_for(pathname) and
             _support(get_reader_for(pathname)) and
             all(not fnmatch(pathname, p) for p in exclude_patterns) and
             _not_duplicate(pathname)))
示例#2
0
文件: lizard.py 项目: joyfish/lizard
 def _validate_file(pathname):
     return (
         pathname in paths or (
             get_reader_for(pathname) and
             _support(get_reader_for(pathname)) and
             all(not fnmatch(pathname, p) for p in exclude_patterns) and
             _not_duplicate(pathname)))
示例#3
0
文件: lizard.py 项目: joyfish/lizard
 def analyze_source_code(self, filename, code):
     context = FileInfoBuilder(filename)
     reader = (get_reader_for(filename) or CLikeReader)(context)
     tokens = reader.generate_tokens(code)
     for processor in self.processors:
         tokens = processor(tokens, reader)
     for _ in reader(tokens, reader):
         pass
     return context.fileinfo
示例#4
0
 def analyze_source_code(self, filename, code):
     context = FileInfoBuilder(filename)
     reader = (get_reader_for(filename) or CLikeReader)(context)
     tokens = reader.generate_tokens(code)
     for processor in self.processors:
         tokens = processor(tokens, reader)
     for _ in reader(tokens, reader):
         pass
     return context.fileinfo
    def language_supported(self) -> bool:
        """
        Return whether the language used in the modification can be analyzed by Pydriller.
        Languages are derived from the file  extension.
        Supported languages are those supported by Lizard.

        :return: True iff language of this Modification can be analyzed.
        """
        return lizard_languages.get_reader_for(self.filename) is not None
示例#6
0
 def analyze_source_code(self, filename, code):
     context = FileInfoBuilder(filename)
     reader = (get_reader_for(filename) or CLikeReader)(context)
     tokens = reader.generate_tokens(code)
     try:
         for processor in self.processors:
             tokens = processor(tokens, reader)
         for _ in reader(tokens, reader):
             pass
     except RecursionError as e:
         sys.stderr.write(
             "[skip] fail to process '%s' with RecursionError - %s\n" %
             (filename, e))
     return context.fileinfo
示例#7
0
 def test_unknown_extension(self):
     self.assertEqual(None, get_reader_for("a.unknown"))
示例#8
0
 def test_GDScript(self):
     self.assertEqual(GDScriptReader, get_reader_for("a.gd"))
示例#9
0
 def test_scala(self):
     self.assertEqual(ScalaReader, get_reader_for("a.scala"))
示例#10
0
 def test_JavaScript(self):
     self.assertEqual(JavaScriptReader, get_reader_for("a.js"))
示例#11
0
 def test_c_cpp(self):
     for name in ("a.cpp", ".cxx", ".h", ".hpp"):
         self.assertEqual(CLikeReader, get_reader_for(name),
                          "File name '%s' is not recognized as c/c++ file" % name)
示例#12
0
 def test_c_cpp(self):
     for name in ("a.cpp", ".cxx", ".h", ".hpp"):
         self.assertEqual(
             CLikeReader, get_reader_for(name),
             "File name '%s' is not recognized as c/c++ file" % name)
示例#13
0
 def test_scala(self):
     self.assertEqual(ScalaReader, get_reader_for("a.scala"))
示例#14
0
 def _get_reader(file_):
     return lizard_languages.get_reader_for(file_)  # pylint: disable=E1101
示例#15
0
 def test_java(self):
     self.assertEqual(JavaReader, get_reader_for("a.java"))
示例#16
0
 def test_not_case_sensitive(self):
     self.assertEqual(CLikeReader, get_reader_for("a.Cpp"))
示例#17
0
 def test_unknown_extension(self):
     self.assertEqual(None, get_reader_for("a.unknown"))
示例#18
0
 def test_JavaScript(self):
     self.assertEqual(JavaScriptReader, get_reader_for("a.js"))
示例#19
0
 def test_not_case_sensitive(self):
     self.assertEqual(CLikeReader, get_reader_for("a.Cpp"))
示例#20
0
 def test_GDScript(self):
     self.assertEqual(GDScriptReader, get_reader_for("a.gd"))
示例#21
0
 def test_java(self):
     self.assertEqual(JavaReader, get_reader_for("a.java"))
示例#22
0
 def test_objectiveC(self):
     self.assertEqual(ObjCReader, get_reader_for("a.m"))
示例#23
0
 def language_supported(self) -> bool:
     return lizard_languages.get_reader_for(self.filename) is not None
示例#24
0
 def test_objectiveC(self):
     self.assertEqual(ObjCReader, get_reader_for("a.m"))