def scan_file_object()

in src/advisor/scanners/java_scanner.py [0:0]


    def scan_file_object(self, filename, file_object, report):
        """Scans the provided file and adds issues, remarks, or errors as needed to the Report.

        Args:
            filename: The name of the file being checked.
            file_object: The file contents.
            report: The report being generated.
        """
        if self.has_source_extension(filename):
            self._add_java_language_remark(report)
            _, ext = os.path.splitext(filename)
            tool_invoker = JavaToolInvoker()
            is_jar_or_war = ext == '.jar' or ext == '.war'
            if is_jar_or_war and tool_invoker.can_run():
                result, message = tool_invoker.graviton_ready_assessor(filename)
                if (result == 3):
                    report.add_issue(NativeMethodsIssue(message, filename=filename))
            elif is_jar_or_war:
                self.add_jar_remark(report)

            return

        if path.basename(filename) in self.DEPENDENCY_FILES:
            manifester = Manifester()
            dependencies = manifester.get_dependencies(filename, file_object, report)
            self.add_library_remarks(dependencies, report)