accrue.jl5

## Class AccrueJL5ExtensionInfo

- java.lang.Object
- - polyglot.frontend.AbstractExtensionInfo
  - - polyglot.frontend.ParserlessJLExtensionInfo
    - - polyglot.frontend.JLExtensionInfo
      - - polyglot.ext.jl5.JL5ExtensionInfo
        - - accrue.jl5.AccrueJL5ExtensionInfo

- All Implemented Interfaces:
    AccrueExtensionInfo, polyglot.frontend.ExtensionInfo

      public class AccrueJL5ExtensionInfo
      extends polyglot.ext.jl5.JL5ExtensionInfo
      implements AccrueExtensionInfo

  Extension information for Accrue extension for JL5 source code.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AnalysisSignatures` | `analysisSignatures`
    `protected boolean` | `isOutputExtensionInfo` Is this extension info being used as an output extension (i.e., after some preprocessing pass)? If so, then the behavior of the scheduler and the options will be slightly changed.

    - ### Fields inherited from class polyglot.ext.jl5.JL5ExtensionInfo

      `outputExtensionInfo`

    - ### Fields inherited from class polyglot.frontend.AbstractExtensionInfo

      `classFileLoader, compiler, default_locations, extFM, nf, scheduler, stats, target_factory, ts`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AccrueJL5ExtensionInfo()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `compilerName()`
    `protected AnalysisSignatures` | `createAnalysisSignatures()`
    `protected polyglot.ast.NodeFactory` | `createNodeFactory()`
    `protected polyglot.main.Options` | `createOptions()`
    `polyglot.frontend.Scheduler` | `createScheduler()`
    `StmtRegistrar` | `createStmtRegistrar()` Create the StmtRegistrar that will be used to register pointer-analysis statements.
    `java.lang.String[]` | `defaultFileExtensions()`
    `AnalysisSignatures` | `getAnalysisSignatures()` Return an object to handle analysis results when source code is unavailable.
    `polyglot.frontend.goals.Goal` | `getCompileGoal(polyglot.frontend.Job job)`
    `HeapAbstractionFactory` | `heapAbstractionFactory()` Return the HeapAbstractionFactory to be used during pointer analysis.
    `void` | `initCompiler(polyglot.frontend.Compiler compiler)`
    `boolean` | `isOutputExtensionInfo()` Is this ExtensionInfo the output extension info for some other extension? This will affect some of the behavior of some of the goals of this ExtensionInfo, notably whether this extension info will parse source files, or simply accept the AST nodes given to it (i.e., the output of the previous ExtensionInfo).
    `PointsToEngine` | `pointsToEngine()` Return the PointsToEngine to be used during pointer analysis.
    `void` | `setIsOutputExtensionInfo(boolean isOutputExtensionInfo)` Set whether this ExtensionInfo is the output extension info for some other extension.

    - ### Methods inherited from class polyglot.ext.jl5.JL5ExtensionInfo

      `createClassFile, createTypeSystem, defaultFileExtension, outputExtensionInfo, parser, version`

    - ### Methods inherited from class polyglot.frontend.ParserlessJLExtensionInfo

      `initTypeSystem, jobExt, makeLoadedClassResolver`

    - ### Methods inherited from class polyglot.frontend.AbstractExtensionInfo

      `classFileLoader, cleanup, compiler, configureFileManager, configureFileManagerForPostCompiler, createFileManager, createFileSource, createFileSource, defaultLocations, extFileManager, fileExtensions, getOptions, getStats, getToExt, nodeFactory, scheduler, sourceLoader, targetFactory, toString, typeSystem`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface polyglot.frontend.ExtensionInfo

      `classFileLoader, cleanup, compiler, configureFileManagerForPostCompiler, createClassFile, createFileSource, createFileSource, defaultFileExtension, defaultLocations, extFileManager, fileExtensions, getOptions, getStats, getToExt, jobExt, nodeFactory, outputExtensionInfo, parser, scheduler, sourceLoader, targetFactory, typeSystem, version`

- - ### Field Detail

    - #### isOutputExtensionInfo

          protected boolean isOutputExtensionInfo

      Is this extension info being used as an output extension (i.e., after some preprocessing pass)? If so, then the behavior of the scheduler and the options will be slightly changed.

    - #### analysisSignatures

          protected AnalysisSignatures analysisSignatures

  - ### Constructor Detail

    - #### AccrueJL5ExtensionInfo

          public AccrueJL5ExtensionInfo()

  - ### Method Detail

    - #### setIsOutputExtensionInfo

          public void setIsOutputExtensionInfo(boolean isOutputExtensionInfo)

      Description copied from interface: `AccrueExtensionInfo`
      Set whether this ExtensionInfo is the output extension info for some other extension.
      Specified by:
        `setIsOutputExtensionInfo` in interface `AccrueExtensionInfo`

    - #### compilerName

          public java.lang.String compilerName()

      Specified by:
        `compilerName` in interface `polyglot.frontend.ExtensionInfo`
      Overrides:
        `compilerName` in class `polyglot.ext.jl5.JL5ExtensionInfo`

    - #### createNodeFactory

          protected polyglot.ast.NodeFactory createNodeFactory()

      Overrides:
        `createNodeFactory` in class `polyglot.ext.jl5.JL5ExtensionInfo`

    - #### createScheduler

          public polyglot.frontend.Scheduler createScheduler()

      Overrides:
        `createScheduler` in class `polyglot.ext.jl5.JL5ExtensionInfo`

    - #### getCompileGoal

          public polyglot.frontend.goals.Goal getCompileGoal(polyglot.frontend.Job job)

      Specified by:
        `getCompileGoal` in interface `polyglot.frontend.ExtensionInfo`
      Overrides:
        `getCompileGoal` in class `polyglot.frontend.ParserlessJLExtensionInfo`

    - #### initCompiler

          public void initCompiler(polyglot.frontend.Compiler compiler)

      Specified by:
        `initCompiler` in interface `polyglot.frontend.ExtensionInfo`
      Overrides:
        `initCompiler` in class `polyglot.frontend.AbstractExtensionInfo`

    - #### getAnalysisSignatures

          public AnalysisSignatures getAnalysisSignatures()

      Description copied from interface: `AccrueExtensionInfo`
      Return an object to handle analysis results when source code is unavailable.
      Specified by:
        `getAnalysisSignatures` in interface `AccrueExtensionInfo`

    - #### pointsToEngine

          public PointsToEngine pointsToEngine()

      Description copied from interface: `AccrueExtensionInfo`
      Return the PointsToEngine to be used during pointer analysis.
      Specified by:
        `pointsToEngine` in interface `AccrueExtensionInfo`

    - #### heapAbstractionFactory

          public HeapAbstractionFactory heapAbstractionFactory()

      Description copied from interface: `AccrueExtensionInfo`
      Return the HeapAbstractionFactory to be used during pointer analysis.
      Specified by:
        `heapAbstractionFactory` in interface `AccrueExtensionInfo`

    - #### createAnalysisSignatures

          protected AnalysisSignatures createAnalysisSignatures()

    - #### createOptions

          protected polyglot.main.Options createOptions()

      Overrides:
        `createOptions` in class `polyglot.ext.jl5.JL5ExtensionInfo`

    - #### createStmtRegistrar

          public StmtRegistrar createStmtRegistrar()

      Description copied from interface: `AccrueExtensionInfo`
      Create the StmtRegistrar that will be used to register pointer-analysis statements.
      Specified by:
        `createStmtRegistrar` in interface `AccrueExtensionInfo`

    - #### isOutputExtensionInfo

          public boolean isOutputExtensionInfo()

      Description copied from interface: `AccrueExtensionInfo`
      Is this ExtensionInfo the output extension info for some other extension? This will affect some of the behavior of some of the goals of this ExtensionInfo, notably whether this extension info will parse source files, or simply accept the AST nodes given to it (i.e., the output of the previous ExtensionInfo).
      Specified by:
        `isOutputExtensionInfo` in interface `AccrueExtensionInfo`

    - #### defaultFileExtensions

          public java.lang.String[] defaultFileExtensions()

      Specified by:
        `defaultFileExtensions` in interface `polyglot.frontend.ExtensionInfo`
      Overrides:
        `defaultFileExtensions` in class `polyglot.ext.jl5.JL5ExtensionInfo`