Class ImportResolver

java.lang.Object
de.fraunhofer.aisec.cpg.passes.Pass
de.fraunhofer.aisec.cpg.passes.ImportResolver
All Implemented Interfaces:
java.util.function.Consumer<TranslationResult>

public class ImportResolver
extends Pass
  • Field Details

    • records

      protected final java.util.List<RecordDeclaration> records
    • importables

      protected final java.util.Map<java.lang.String,​Declaration> importables
  • Constructor Details

    • ImportResolver

      public ImportResolver()
  • Method Details

    • getLang

      public @Nullable LanguageFrontend getLang()
      Overrides:
      getLang in class Pass
      Returns:
      May be null
    • setLang

      public void setLang​(LanguageFrontend lang)
      Description copied from class: Pass
      Passes may need information about what source language they are parsing.
      Overrides:
      setLang in class Pass
      Parameters:
      lang - May be null
    • cleanup

      public void cleanup()
      Specified by:
      cleanup in class Pass
    • accept

      public void accept​(TranslationResult result)
    • getStaticImports

      protected java.util.Set<ValueDeclaration> getStaticImports​(RecordDeclaration record)
    • getDeclarationsForTypeNames

      protected java.util.Set<Declaration> getDeclarationsForTypeNames​(java.util.List<java.lang.String> targetTypes)
    • getOrCreateMembers

      protected java.util.Set<ValueDeclaration> getOrCreateMembers​(EnumDeclaration base, java.lang.String name)
    • getOrCreateMembers

      protected java.util.Set<ValueDeclaration> getOrCreateMembers​(RecordDeclaration base, java.lang.String name)
    • findImportables

      protected void findImportables​(de.fraunhofer.aisec.cpg.graph.Node node)