test_class.file: lang-python/src/test/java/org/eclipse/steady/python/PythonFileAnalyzerTest.java
test_class.identifier: PythonFileAnalyzerTest
test_case.body: @Test
    public void testPythonFilesInTinypy() throws FileAnalysisException {
      final FileAnalyzer f3 =
          FileAnalyzerFactory.buildFileAnalyzer(
              new File("src/test/resources/tiny_py_interpreter/tinypy/runtime/Errors.py"));
      final Map<ConstructId, Construct> c3 = f3.getConstructs();
      assertEquals(15, c3.size());
    }
test_case.class_method_signature: PythonFileAnalyzerTest.testPythonFilesInTinypy()
test_case.full_signature: @Test public void testPythonFilesInTinypy()
test_case.identifier: testPythonFilesInTinypy
test_case.invocations: buildFileAnalyzer getConstructs assertEquals size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testPythonFilesInTinypy()
focal_class.declarator: log = org.apache.logging.log4j.LogManager.getLogger()
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = org.apache.logging.log4j.LogManager.getLogger();
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: analyzer = null
focal_class.modifier: private
focal_class.original_string: private FileAnalyzer analyzer = null;
focal_class.type: FileAnalyzer
focal_class.var_name: analyzer
focal_class.declarator: file = null
focal_class.modifier: private
focal_class.original_string: private File file = null;
focal_class.type: File
focal_class.var_name: file
focal_class.declarator: constructs = null
focal_class.modifier: private
focal_class.original_string: private Map<ConstructId, Construct> constructs = null;
focal_class.type: Map<ConstructId, Construct>
focal_class.var_name: constructs
focal_class.declarator: PY2_PATTERNS =
        new Pattern[] {Pattern.compile("^\\s*print\\s+\".*$"), Pattern.compile("^.*raw_input\\(.*$")}
focal_class.modifier: static final
focal_class.original_string: static final Pattern[] PY2_PATTERNS =
        new Pattern[] {Pattern.compile("^\\s*print\\s+\".*$"), Pattern.compile("^.*raw_input\\(.*$")};
focal_class.type: Pattern[]
focal_class.var_name: PY2_PATTERNS
focal_class.declarator: PY35_ASYNC_PATTERNS =
        new Pattern[] {Pattern.compile("^.*async\\s*def.*$")}
focal_class.modifier: static final
focal_class.original_string: static final Pattern[] PY35_ASYNC_PATTERNS =
        new Pattern[] {Pattern.compile("^.*async\\s*def.*$")};
focal_class.type: Pattern[]
focal_class.var_name: PY35_ASYNC_PATTERNS
focal_class.declarator: COMMENT_PATTERNS = new Pattern[] {Pattern.compile("^\\s*#.*$")}
focal_class.modifier: static final
focal_class.original_string: static final Pattern[] COMMENT_PATTERNS = new Pattern[] {Pattern.compile("^\\s*#.*$")};
focal_class.type: Pattern[]
focal_class.var_name: COMMENT_PATTERNS
focal_class.file: lang-python/src/main/java/org/eclipse/steady/python/PythonFileAnalyzer.java
focal_class.identifier: PythonFileAnalyzer
focal_class.interfaces: implements FileAnalyzer
focal_class.class_method_signature: PythonFileAnalyzer.getSupportedFileExtensions()
focal_class.full_signature: @Override public String[] getSupportedFileExtensions()
focal_class.identifier: getSupportedFileExtensions
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String[]
focal_class.signature: String[] getSupportedFileExtensions()
focal_class.class_method_signature: PythonFileAnalyzer.canAnalyze(File _file)
focal_class.full_signature: @Override public boolean canAnalyze(File _file)
focal_class.identifier: canAnalyze
focal_class.modifiers: @Override public
focal_class.parameters: (File _file)
focal_class.return: boolean
focal_class.signature: boolean canAnalyze(File _file)
focal_class.class_method_signature: PythonFileAnalyzer.analyze(final File _file)
focal_class.full_signature: @Override public void analyze(final File _file)
focal_class.identifier: analyze
focal_class.modifiers: @Override public
focal_class.parameters: (final File _file)
focal_class.return: void
focal_class.signature: void analyze(final File _file)
focal_class.class_method_signature: PythonFileAnalyzer.isTopOfType(Stack<PythonId> _context, PythonId.Type _type)
focal_class.full_signature: static boolean isTopOfType(Stack<PythonId> _context, PythonId.Type _type)
focal_class.identifier: isTopOfType
focal_class.modifiers: static
focal_class.parameters: (Stack<PythonId> _context, PythonId.Type _type)
focal_class.return: boolean
focal_class.signature: boolean isTopOfType(Stack<PythonId> _context, PythonId.Type _type)
focal_class.class_method_signature: PythonFileAnalyzer.isTopOfType(Stack<PythonId> _context, PythonId.Type[] _types)
focal_class.full_signature: static boolean isTopOfType(Stack<PythonId> _context, PythonId.Type[] _types)
focal_class.identifier: isTopOfType
focal_class.modifiers: static
focal_class.parameters: (Stack<PythonId> _context, PythonId.Type[] _types)
focal_class.return: boolean
focal_class.signature: boolean isTopOfType(Stack<PythonId> _context, PythonId.Type[] _types)
focal_class.class_method_signature: PythonFileAnalyzer.getConstructs()
focal_class.full_signature: @Override public Map<ConstructId, Construct> getConstructs()
focal_class.identifier: getConstructs
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Map<ConstructId, Construct>
focal_class.signature: Map<ConstructId, Construct> getConstructs()
focal_class.class_method_signature: PythonFileAnalyzer.containsConstruct(ConstructId _id)
focal_class.full_signature: @Override public boolean containsConstruct(ConstructId _id)
focal_class.identifier: containsConstruct
focal_class.modifiers: @Override public
focal_class.parameters: (ConstructId _id)
focal_class.return: boolean
focal_class.signature: boolean containsConstruct(ConstructId _id)
focal_class.class_method_signature: PythonFileAnalyzer.getConstruct(ConstructId _id)
focal_class.full_signature: @Override public Construct getConstruct(ConstructId _id)
focal_class.identifier: getConstruct
focal_class.modifiers: @Override public
focal_class.parameters: (ConstructId _id)
focal_class.return: Construct
focal_class.signature: Construct getConstruct(ConstructId _id)
focal_class.class_method_signature: PythonFileAnalyzer.hasChilds()
focal_class.full_signature: @Override public boolean hasChilds()
focal_class.identifier: hasChilds
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean hasChilds()
focal_class.class_method_signature: PythonFileAnalyzer.getChilds(boolean _recursive)
focal_class.full_signature: @Override public Set<FileAnalyzer> getChilds(boolean _recursive)
focal_class.identifier: getChilds
focal_class.modifiers: @Override public
focal_class.parameters: (boolean _recursive)
focal_class.return: Set<FileAnalyzer>
focal_class.signature: Set<FileAnalyzer> getChilds(boolean _recursive)
focal_class.class_method_signature: PythonFileAnalyzer.getModule(File _file)
focal_class.full_signature: public static PythonId getModule(File _file)
focal_class.identifier: getModule
focal_class.modifiers: public static
focal_class.parameters: (File _file)
focal_class.return: PythonId
focal_class.signature: PythonId getModule(File _file)
focal_class.class_method_signature: PythonFileAnalyzer.createAnalyzer(final File _file)
focal_class.full_signature: public static FileAnalyzer createAnalyzer(final File _file)
focal_class.identifier: createAnalyzer
focal_class.modifiers: public static
focal_class.parameters: (final File _file)
focal_class.return: FileAnalyzer
focal_class.signature: FileAnalyzer createAnalyzer(final File _file)
focal_class.class_method_signature: PythonFileAnalyzer.createAnalyzer(InputStream _is)
focal_class.full_signature: public static FileAnalyzer createAnalyzer(InputStream _is)
focal_class.identifier: createAnalyzer
focal_class.modifiers: public static
focal_class.parameters: (InputStream _is)
focal_class.return: FileAnalyzer
focal_class.signature: FileAnalyzer createAnalyzer(InputStream _is)
focal_method.body: @Override
    public Map<ConstructId, Construct> getConstructs() throws FileAnalysisException {
      if (this.constructs == null) {
        analyzer = PythonFileAnalyzer.createAnalyzer(this.file);
        analyzer.analyze(this.file);
        this.constructs = analyzer.getConstructs();
      }
      return analyzer.getConstructs();
    }
focal_method.class_method_signature: PythonFileAnalyzer.getConstructs()
focal_method.full_signature: @Override public Map<ConstructId, Construct> getConstructs()
focal_method.identifier: getConstructs
focal_method.invocations: createAnalyzer analyze getConstructs getConstructs
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Map<ConstructId, Construct>
focal_method.signature: Map<ConstructId, Construct> getConstructs()