Class

org.argus.jawa.compiler.interactive

Global

Related Doc: package interactive

Permalink

class Global extends RichCompilationUnits with CompilerLifecycleManagement with CompilerControl with JawaResolver

This is the interactive compiler of Jawa.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Global
  2. JawaResolver
  3. JavaKnowledge
  4. CompilerControl
  5. CompilerLifecycleManagement
  6. RichCompilationUnits
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Global(projectName: String, reporter: Reporter)

    Permalink

Type Members

  1. case class AskLinkPosItem(sym: JawaSymbol, response: Global.Response[Position]) extends Global.WorkItem with Product with Serializable

    Permalink
    Definition Classes
    CompilerControl
  2. case class AskParsedEnteredItem(source: SourceFile, keepLoaded: Boolean, response: Global.Response[CompilationUnit]) extends Global.WorkItem with Product with Serializable

    Permalink
    Definition Classes
    CompilerControl
  3. class AskToDoFirstItem extends Global.WorkItem

    Permalink
    Definition Classes
    CompilerControl
  4. case class AskTypeAtItem(pos: Position, response: Global.Response[Option[JawaSymbol]]) extends Global.WorkItem with Product with Serializable

    Permalink
    Definition Classes
    CompilerControl
  5. case class FilesDeletedItem(sources: List[SourceFile], response: Global.Response[Unit]) extends Global.WorkItem with Product with Serializable

    Permalink
    Definition Classes
    CompilerControl
  6. class NoWorkScheduler extends WorkScheduler

    Permalink

    A do-nothing work scheduler that responds immediately with MissingResponse.

    A do-nothing work scheduler that responds immediately with MissingResponse.

    Used during compiler shutdown.

    Definition Classes
    CompilerControl
  7. case class ReloadItem(sources: List[SourceFile], response: Global.Response[Unit]) extends Global.WorkItem with Product with Serializable

    Permalink
    Definition Classes
    CompilerControl
  8. type Response[T] = interactive.Response[T]

    Permalink
    Definition Classes
    CompilerControl
  9. class ResponseMap extends HashMap[SourceFile, Set[Global.Response[CompilationUnit]]]

    Permalink
    Definition Classes
    CompilerLifecycleManagement
  10. case class RichCompilationUnit(cu: CompilationUnit) extends Product with Serializable

    Permalink
    Definition Classes
    RichCompilationUnits
  11. case class WorkEvent(atNode: Int, atMillis: Long) extends Product with Serializable

    Permalink

    The response that is currently pending, i.e.

    The response that is currently pending, i.e. the compiler is working on providing an asnwer for it.

    Definition Classes
    CompilerLifecycleManagement
  12. abstract class WorkItem extends () ⇒ Unit

    Permalink
    Definition Classes
    CompilerControl

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def JAVA_PRIMITIVES: Set[String]

    Permalink
    Definition Classes
    JavaKnowledge
  5. def JAVA_TOPLEVEL_OBJECT: String

    Permalink
    Definition Classes
    JavaKnowledge
  6. def JAVA_TOPLEVEL_OBJECT_TYPE: JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  7. def addCompilationUnit(file: AbstractFile, rcu: RichCompilationUnit): Option[RichCompilationUnit]

    Permalink
    Definition Classes
    RichCompilationUnits
  8. def addCompilationUnits(rcus: ISeq[RichCompilationUnit]): Unit

    Permalink
    Definition Classes
    RichCompilationUnits
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def ask[A](op: () ⇒ A): A

    Permalink

    Asks for a computation to be done quickly on the presentation compiler thread

    Asks for a computation to be done quickly on the presentation compiler thread

    Definition Classes
    CompilerControl
  11. def askFilesDeleted(sources: List[SourceFile], response: Response[Unit]): Unit

    Permalink

    Removes source files and toplevel symbols, and issues a new typer run.

    Removes source files and toplevel symbols, and issues a new typer run. Returns () to syncvar response on completion.

    Definition Classes
    CompilerControl
  12. def askForResponse[A](op: () ⇒ A): Response[A]

    Permalink

    Asks for a computation to be done on presentation compiler thread, returning a response with the result or an exception

    Asks for a computation to be done on presentation compiler thread, returning a response with the result or an exception

    Definition Classes
    CompilerControl
  13. def askLinkPos(sym: JawaSymbol, response: Response[Position]): Unit

    Permalink

    Sets sync var response to the position of the definition of the given link in the given sourcefile.

    Sets sync var response to the position of the definition of the given link in the given sourcefile.

    sym

    The symbol referenced by the link (might come from a classfile)

    response

    A response that will be set to the following: If source contains a definition that is referenced by the given link the position of that definition, otherwise NoPosition. Note: This operation does not automatically load source. If source is unloaded, it stays that way.

    Definition Classes
    CompilerControl
  14. def askParsedEntered(source: SourceFile, keepLoaded: Boolean, response: Response[CompilationUnit]): Unit

    Permalink

    Set sync var response to the parse tree of source with all top-level symbols entered.

    Set sync var response to the parse tree of source with all top-level symbols entered.

    source

    The source file to be analyzed

    keepLoaded

    If set to true, source file will be kept as a loaded unit afterwards. If keepLoaded is false the operation is run at low priority, only after everything is brought up to date in a regular type checker run.

    response

    The response.

    Definition Classes
    CompilerControl
  15. def askReload(sources: List[SourceFile], response: Response[Unit]): Unit

    Permalink

    Makes sure a set of compilation units is loaded and parsed.

    Makes sure a set of compilation units is loaded and parsed. Returns () to syncvar response on completion. Afterwards a new background compiler run is started with the given sources at the head of the list of to-be-compiled sources.

    Definition Classes
    CompilerControl
  16. def askReset(): Unit

    Permalink

    Cancels current compiler run and start a fresh one where everything will be re-typechecked (but not re-loaded).

    Cancels current compiler run and start a fresh one where everything will be re-typechecked (but not re-loaded).

    Definition Classes
    CompilerControl
  17. def askShutdown(): Unit

    Permalink

    Tells the compile server to shutdown, and not to restart again

    Tells the compile server to shutdown, and not to restart again

    Definition Classes
    CompilerControl
  18. def askStructure(keepSrcLoaded: Boolean)(source: SourceFile, response: Response[CompilationUnit]): Unit

    Permalink

    If source if not yet loaded, get an outline view with askParseEntered.

    If source if not yet loaded, get an outline view with askParseEntered. If source is loaded, return it. In both cases, set response to parsed tree.

    keepSrcLoaded

    If set to true, source file will be kept as a loaded unit afterwards.

    Definition Classes
    CompilerControl
  19. def askToDoFirst(source: SourceFile): Unit

    Permalink

    Asks to do unit corresponding to given source file on present and subsequent type checking passes.

    Asks to do unit corresponding to given source file on present and subsequent type checking passes. If the file is in the 'crashedFiles' ignore list it is removed and typechecked normally.

    Definition Classes
    CompilerControl
  20. def askTypeAt(pos: Position, response: Response[Option[JawaSymbol]]): Unit

    Permalink

    Sets sync var response to the smallest fully attributed tree that encloses position pos.

    Sets sync var response to the smallest fully attributed tree that encloses position pos. Note: Unlike for most other ask... operations, the source file belonging to pos needs not be loaded.

    Definition Classes
    CompilerControl
  21. def assertCorrectThread(): Unit

    Permalink

    Check that the currently executing thread is the presentation compiler thread.

    Check that the currently executing thread is the presentation compiler thread.

    Compiler initialization may happen on a different thread (signalled by globalPhase being NoPhase)

    Definition Classes
    CompilerLifecycleManagement
    Annotations
    @elidable( elidable.WARNING )
  22. def assign(str: String, dimension: Int, pattern: String, front: Boolean): String

    Permalink
    Attributes
    protected
    Definition Classes
    JavaKnowledge
  23. def checkForMoreWork(pos: Position): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    CompilerLifecycleManagement
  24. def checkNoResponsesOutstanding(): Unit

    Permalink
    Definition Classes
    CompilerLifecycleManagement
  25. def clearIgnoredFiles(): Unit

    Permalink

    Flush the buffer of sources that are ignored during background compilation.

    Flush the buffer of sources that are ignored during background compilation.

    Definition Classes
    CompilerLifecycleManagement
  26. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. def constructorName: String

    Permalink
    Definition Classes
    JavaKnowledge
  28. val debugIDE: Boolean

    Permalink
  29. final def debugLog(msg: ⇒ String): Unit

    Permalink

    Print msg only when debugIDE is true.

    Print msg only when debugIDE is true.

    Annotations
    @inline()
  30. def demandNewCompilerRun(): Unit

    Permalink
    Definition Classes
    CompilerLifecycleManagement
  31. def enableIgnoredFile(file: AbstractFile): Unit

    Permalink

    Remove a crashed file from the ignore buffer.

    Remove a crashed file from the ignore buffer. Background compilation will take it into account and errors will be reported against it.

    Definition Classes
    CompilerLifecycleManagement
  32. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  33. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  34. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  35. def formatPackageStringToPackage(pkg: String): JawaPackage

    Permalink
    Definition Classes
    JavaKnowledge
  36. def formatSignatureToType(sig: String): JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  37. def formatTypeToName(typ: JawaType): String

    Permalink
    Definition Classes
    JavaKnowledge
  38. def formatTypeToSignature(typ: JawaType): String

    Permalink
    Definition Classes
    JavaKnowledge
  39. def genSignature(classTyp: JawaType, methodName: String, paramTyps: IList[JawaType], retTyp: JawaType): Signature

    Permalink
    Definition Classes
    JavaKnowledge
  40. def genSignature(classSigPart: String, methodNamePart: String, paramSigPart: String): Signature

    Permalink
    Definition Classes
    JavaKnowledge
  41. def generateFieldFQN(owner: JawaType, name: String, typ: JawaType): FieldFQN

    Permalink
    Definition Classes
    JavaKnowledge
  42. def generateSignature(method: JawaMethod): Signature

    Permalink
    Definition Classes
    JavaKnowledge
  43. def generateSignatureFromOwnerAndMethodSubSignature(clazz: JawaClass, subSig: String): Signature

    Permalink
    Definition Classes
    JavaKnowledge
  44. def generateUnknownJawaMethod(declaringClass: JawaClass, signature: Signature): JawaMethod

    Permalink
    Definition Classes
    JavaKnowledge
  45. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  46. def getClassNameFromFieldFQN(fqn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  47. def getClassNameFromMethodFullName(mfn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  48. def getClassTypeFromFieldFQN(fqn: String): JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  49. def getClassTypeFromMethodFullName(mfn: String): JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  50. def getClassTypes(file: SourceFile, reporter: Reporter): ISet[JawaType]

    Permalink
    Definition Classes
    JawaResolver
  51. def getCompilationUnit(file: AbstractFile): Option[RichCompilationUnit]

    Permalink
    Definition Classes
    RichCompilationUnits
  52. def getCompilationUnits: IMap[AbstractFile, RichCompilationUnit]

    Permalink
    Definition Classes
    RichCompilationUnits
  53. def getFieldNameFromFieldFQN(fqn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  54. def getMethodNameFromMethodFullName(mfn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  55. def getOuterTypeFrom(innerType: JawaType): JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  56. val getParsedEnteredResponses: ResponseMap

    Permalink

    A map that associates with each abstract file the set of responses that ware waiting (via build) for the unit associated with the abstract file to be parsed and resolved

    A map that associates with each abstract file the set of responses that ware waiting (via build) for the unit associated with the abstract file to be parsed and resolved

    Attributes
    protected
    Definition Classes
    CompilerLifecycleManagement
  57. def getType(typ: String, dimentions: Int): JawaType

    Permalink
    Attributes
    protected
    Definition Classes
    JavaKnowledge
  58. def getTypeFromName(name: String): JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  59. def getUnitOf(s: SourceFile): Option[RichCompilationUnit]

    Permalink

    Return the compilation unit attached to a source file, or None if source is not loaded.

    Return the compilation unit attached to a source file, or None if source is not loaded.

    Definition Classes
    CompilerControl
  60. def hasCompilationUnit(file: AbstractFile): Boolean

    Permalink
    Definition Classes
    RichCompilationUnits
  61. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  62. def inform(msg: String): Unit

    Permalink
  63. final def informIDE(msg: ⇒ String): Unit

    Permalink

    Inform with msg only when verboseIDE is true.

    Inform with msg only when verboseIDE is true.

    Annotations
    @inline()
  64. var initializing: Boolean

    Permalink
    Attributes
    protected
  65. def isFQN(str: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  66. def isInnerClass(typ: JawaType): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  67. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  68. def isJavaPrimitive(name: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  69. def isJavaPrimitive(typ: JawaType): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  70. def isJawaConstructor(name: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  71. def isOutOfDate: Boolean

    Permalink
    Definition Classes
    CompilerLifecycleManagement
  72. def isValidFieldFQN(fqn: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  73. def isValidFieldName(name: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  74. def isValidMethodFullName(mfn: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  75. def locateAst(pos: Position): JawaAstNode

    Permalink

    Locate smallest tree that encloses position

    Locate smallest tree that encloses position

    pos

    Position must be loaded

    Definition Classes
    CompilerControl
  76. def logError(msg: String, t: Throwable): Unit

    Permalink
  77. def managedFiles: ISet[AbstractFile]

    Permalink
    Definition Classes
    RichCompilationUnits
  78. var minRunId: Int

    Permalink
  79. def moveToFront(fs: List[SourceFile]): Unit

    Permalink

    Move list of files to front of allSources

    Move list of files to front of allSources

    Definition Classes
    CompilerLifecycleManagement
  80. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  81. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  82. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  83. def onCompilerThread: Boolean

    Permalink
    Definition Classes
    CompilerControl
  84. def onUnitOf[T](source: SourceFile)(op: (RichCompilationUnit) ⇒ T): T

    Permalink

    Run operation op on a compilation unit associated with given source.

    Run operation op on a compilation unit associated with given source. If source has a loaded compilation unit, this one is passed to op. Otherwise a new compilation unit is created, but not added to the set of loaded units.

    Definition Classes
    CompilerControl
  85. var outOfDate: Boolean

    Permalink

    Is a background compiler run needed? Note: outOfDate is true as long as there is a background compile scheduled or going on.

    Is a background compiler run needed? Note: outOfDate is true as long as there is a background compile scheduled or going on.

    Attributes
    protected
    Definition Classes
    CompilerLifecycleManagement
  86. def parseCode[T <: ParsableAstNode](source: SourceFile, resolveBody: Boolean)(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T]): Option[T]

    Permalink
    Definition Classes
    JawaResolver
  87. def parseCompilationUnit(source: SourceFile): Option[CompilationUnit]

    Permalink

    Returns parse tree for source source.

    Returns parse tree for source source. No symbols are entered. Syntax errors are reported.

    This method is thread-safe and as such can safely run outside of the presentation compiler thread.

    Definition Classes
    CompilerControl
  88. val projectName: String

    Permalink
  89. def removeCompilationUnit(file: AbstractFile): Option[RichCompilationUnit]

    Permalink
    Definition Classes
    RichCompilationUnits
  90. def removeUnitOf(s: SourceFile): Option[RichCompilationUnit]

    Permalink

    Removes the CompilationUnit corresponding to the given SourceFile from consideration for recompilation.

    Removes the CompilationUnit corresponding to the given SourceFile from consideration for recompilation.

    Definition Classes
    CompilerControl
  91. val reporter: Reporter

    Permalink
  92. def resolveMethodBody(md: MethodDeclaration): MethodDeclaration

    Permalink

    resolve the given method's body to BODY level.

    resolve the given method's body to BODY level.

    Definition Classes
    JawaResolver
  93. def respond[T](result: Response[T])(op: ⇒ T): Unit

    Permalink
  94. def respondGradually[T](response: Response[T])(op: ⇒ Stream[T]): Unit

    Permalink
  95. var scheduler: WorkScheduler

    Permalink

    The scheduler by which client and compiler communicate Must be initialized before starting compilerRunner

    The scheduler by which client and compiler communicate Must be initialized before starting compilerRunner

    Attributes
    protected[org.argus.jawa.compiler.interactive]
    Definition Classes
    CompilerControl
  96. def separatePkgAndTyp(pkgAndTyp: String): JawaBaseType

    Permalink
    Definition Classes
    JavaKnowledge
  97. def staticInitializerName: String

    Permalink
    Definition Classes
    JavaKnowledge
  98. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  99. def timeStep: String

    Permalink
    Attributes
    protected
  100. val toBeRemoved: MSet[AbstractFile]

    Permalink

    A set containing all those files that need to be removed Units are removed by getUnit, typically once a unit is finished compiled.

    A set containing all those files that need to be removed Units are removed by getUnit, typically once a unit is finished compiled.

    Attributes
    protected
    Definition Classes
    RichCompilationUnits
  101. val toBeRemovedAfterRun: MSet[AbstractFile]

    Permalink

    A set containing all those files that need to be removed after a full background compiler run

    A set containing all those files that need to be removed after a full background compiler run

    Attributes
    protected
    Definition Classes
    RichCompilationUnits
  102. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  103. val verboseIDE: Boolean

    Permalink
  104. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  105. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  106. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from JawaResolver

Inherited from JavaKnowledge

Inherited from CompilerControl

Inherited from RichCompilationUnits

Inherited from AnyRef

Inherited from Any

Ungrouped