Business Objects
Quark Platform Documentation
Version 1.7.0_0
Business Objects

Package org.openquark.cal.compiler

Provides classes for interacting with the CAL compiler - please also see the services package for the top-level API for accessing the compiler's functionality.

See:
          Description

Interface Summary
CALDocCommentTextBlockVisitor<T,R> A visitor interface for visiting elements of a text block in a CALDoc comment.
CALDocTokenTypes  
CALTokenTypes  
CALTreeParserTokenTypes  
Compiler This is the Compiler interface.
CompilerMessageLogger Used by the compilation process (i.e. parsing, static analysis, type-checking, code generation), to log messages of interest.
CompositionNode Provides an interface for describing pieces in a composition tree.
CompositionNode.Application A composition node which represents an expression which can be applied to its arguments.
CompositionNode.Collector A composition node which represents the definition of a let.
CompositionNode.CompositionArgument A representation of an argument to a CompositionNode.
CompositionNode.Emitter A composition node which represents a use of the definition of a let as an application.
CompositionNode.GemEntityNode A composition node which represents an GemEntity
CompositionNode.Lambda A composition node which represents a lambda expression Creation date: (12/12/01 3:50:13 PM)
CompositionNode.RecordCreationNode A composition node which represents a record
CompositionNode.RecordFieldSelectionNode A composition node which represents a record extraction
CompositionNode.Value A composition node which represents a value Creation date: (12/12/01 5:50:13 PM)
ExpressionVisitor<T,R> A visitor interface for visiting Expression elements.
ForeignContextProvider This interface provides a way for the client to specify a custom foreign context for cal modules.
IdentifierResolver.Context This public interface encapsulates the notion of an external context for resolving identifiers - when an identifier could not be resolved within the scopes that are lexically declared in the source being analyzed, the context is consulted to see if the name is bound in the context.
IdentifierResolver.Context.ExternalEntityVisibilityChecker This public interface provides methods for checking the visibility of a given external entity in the context of a particular module.
ModuleContainer.ISourceManager Use to manage updates of the contents of a module.
ModuleContainer.ISourceManager2 Used for more precise changes to the source.
Name This class generalizes QualifiedName and ModuleName.
ProgramModifier.ProgramChangeListener This is the ProgramChangeListener interface.
Refactorer.RenameDataConsFieldName.UserChoiceConfirmer A callback interface for confirming the user's choice during the renaming process.
Refactorer.StatusListener Interface for listeners wishing to receive status updates during refactoring
SourceMetrics An interface representing the source metrics associated with a given workspace.
SourceMetricsManager.IProgressMonitor Used to provide feedback on the progress of the search.
SourceModelVisitor<T,R> A visitor interface for visiting source model elements.
TypeChecker This is the TypeChecker class/interface.
 

Class Summary
AdjunctSource Abstracts the source of a CAL adjunct.
AdjunctSource.FromSourceModel Encapsulates the definition of an adjunct in source model form.
AdjunctSource.FromText Encapsulates the definition of an adjunct contained in text.
CALDocComment The representation of a CALDoc comment as stored by ModuleTypeInfo objects.
CALDocComment.ArgBlock Represents the "@arg" CALDoc tag.
CALDocComment.CodeSegment Represents a block of source code in a CALDoc comment.
CALDocComment.DataConsLinkSegment Represents an inline, hyperlinkable cross-reference to a data constructor in a CALDoc comment.
CALDocComment.EmphasizedSegment Represents a piece of text in a CALDoc comment that is emphasized.
CALDocComment.FormattedSegment Represents a piece of text in a CALDoc comment that has formatting applied to it.
CALDocComment.FunctionOrClassMethodLinkSegment Represents an inline, hyperlinkable cross-reference to a function or class method in a CALDoc comment.
CALDocComment.InlineTagSegment Represents an inline tag segment in a CALDoc comment, i.e. segments appearing in the source code as "{at-tagName ...at-}".
CALDocComment.LinkSegment Represents an inline, hyperlinkable cross-reference in a CALDoc comment.
CALDocComment.ListItem Represents a list item within a CALDoc comment, either in a ordered list or an unordered list.
CALDocComment.ListParagraph Represents a list (either ordered or unordered) within a CALDoc comment.
CALDocComment.ModuleLinkSegment Represents an inline, hyperlinkable cross-reference to a module in a CALDoc comment.
CALDocComment.ModuleReference Represents a (checked/unchecked) module name reference in a CALDoc "@see module = ..." block.
CALDocComment.Paragraph Represents a paragraph within a CALDoc comment.
CALDocComment.PlainTextSegment Represents a simple piece of text in a CALDoc comment.
CALDocComment.Reference Represents a reference in a list of references in a CALDoc "@see" block.
CALDocComment.ScopedEntityLinkSegment Represents an inline, hyperlinkable cross-reference to a scoped entity in a CALDoc comment.
CALDocComment.ScopedEntityReference Represents a (checked/unchecked) scoped entity name reference in a CALDoc "@see" block.
CALDocComment.Segment Represents a text segment in a CALDoc comment.
CALDocComment.StronglyEmphasizedSegment Represents a piece of text in a CALDoc comment that is strongly emphasized.
CALDocComment.SubscriptSegment Represents a piece of text in a CALDoc comment that is subscripted.
CALDocComment.SuperscriptSegment Represents a piece of text in a CALDoc comment that is superscripted.
CALDocComment.TextBlock Represents a block of paragraphs within a CALDoc comment.
CALDocComment.TextParagraph Represents a text paragraph within a CALDoc comment, i.e. a simple paragraph of text.
CALDocComment.TypeClassLinkSegment Represents an inline, hyperlinkable cross-reference to a type class in a CALDoc comment.
CALDocComment.TypeConsLinkSegment Represents an inline, hyperlinkable cross-reference to a type constructor in a CALDoc comment.
CALDocComment.URLSegment Represents a hyperlinkable URL in a CALDoc comment.
CALDocCommentTextBlockTraverser<T,R> CALDocCommentTextBlockTraverser is an implementation of the CALDocCommentTextBlockVisitor which performs a pre-order traversal of the text block elements it visits.
CALMessageResourceBundle A resource bundle for messages in the CAL compiler package.
CALMultiplexedLexer Warning- this class should only be used by the CAL compiler implementation.
CALSourceGenerator Given a connected set of nodes representing a composition tree, CALSourceGenerator can be used to generate the corresponding CAL source code for that tree.
CALToken An implementation of the antlr.Token class that provides implementations for getFileName() and setFileName().
ClassInstance Models a class instance definition.
ClassInstance.InstanceStyle This is an Enumeration that defines the different styles of instances
ClassInstanceIdentifier A helper class for holding onto enough information to easily look up a class instance given a module context defining the visibility.
ClassInstanceIdentifier.AdHocRecordInstance Represents instances whose instance type is a non record-polymorphic record.
ClassInstanceIdentifier.TypeConstructorInstance Represents instances whose instance type is rooted in a type constructor.
ClassInstanceIdentifier.UniversalRecordInstance Represents instances whose instance type is a record-polymorphic record.
ClassMethod ClassMethod models a method in a type class.
CodeAnalyser This is a helper class that analyzes the code for code editors.
CodeAnalyser.AnalysedIdentifier Wrapper class for source identifiers.
CodeAnalyser.AnalysedIdentifier.QualificationType Specifies the method of qualification for this identifier, and whether this is an argument or top level symbol.
CodeAnalyser.AnalysisResults This class is a wrapper that encapsulates the results from the code analysis
CodeAnalyser.OffsetCompilerMessage Wrapper class for offset compiler messages.
CodeAnalyser.QualificationResults This class is a wrapper that encapsulates the results from fully qualifying a piece of code.
CodeQualificationMap Mapping from unqualified to qualified symbol names, used in automatic qualification of code.
CompiledModuleSourceDefinition A ModuleSourceDefinition is a module resource which wraps a previously compiled module definition and its name.
CompilerMessage A class to represent messages occurring during compilation such as errors, fatal errors, warnings, and informational messages.
CompilerMessage.Identifier Represents the name of the CAL entity associated with a CompilerMessage.
CompilerMessage.Identifier.Category An enumeration class containing constants for the different categories of entities that could be associated with a message.
CompilerMessage.Severity Type-safe enum pattern to represent the severity of compilation error messages.
CoreFunction Warning- this class should only be used by the CAL compiler implementation.
DataConstructor Represents data constructors in CAL.
DerivedInstanceFunctionGenerator Warning- this class should only be used by the CAL compiler implementation.
DeserializationHelper Warning- this class should only be used by the CAL compiler implementation.
EntryPointGenerator Warning- this class should only be used by the CAL compiler implementation.
Expression Warning- this class should only be used by the CAL compiler implementation.
Expression.Appl An application.
Expression.Cast For use in implementing casting of expressions that evaluate to values of a foreign, non-primitive type, and downcasting them.
Expression.DataConsSelection Class used to represent selection from a data constructor valued expression.
Expression.ErrorInfo ErrorInfos are generated by the compiler during the process of compiling.
Expression.FieldValueData A helper class to represents the ordinal and textual field names in a split up fashion useful for code generation purposes.
Expression.Let Base class for recursive or non-recursive lets.
Expression.Let.LetDefn  
Expression.LetNonRec Used to represent non-recursive let definitions.
Expression.LetRec Used to represent recursive let bindings.
Expression.Literal A literal.
Expression.PackCons A constructor.
Expression.RecordCase Models the case expression for record patterns.
Expression.RecordCase.FieldData A helper class to represents the ordinal and textual field names in a split up fashion useful for code generation purposes.
Expression.RecordExtension Class used to represent a record extension.
Expression.RecordSelection Models the "." operator for selecting the value of a field from a record.
Expression.RecordUpdate Class used to represent a record update.
Expression.Switch A switch.
Expression.Switch.SwitchAlt  
Expression.Switch.SwitchAlt.Matching A switch alt where the variables are specified by field name.
Expression.Switch.SwitchAlt.Positional A switch alt where the variables are specified by position.
Expression.TailRecursiveCall Represents a tail recursive call.
Expression.Var A variable.
ExpressionAnalyzer Warning- this class should only be used by the CAL compiler implementation.
ExpressionAnalyzer.LiftedLetVarInfo Structure used to describe a lifted let variable definition function.
ExpressionAnalyzer.LiftedLetVarResults Encapsulate the results of lifting let variable definitions.
ExpressionCopier<T> ExpressionCopier is an implementation of the ExpressionVisitor which performs a deep copy of the Expression elements.
FieldName Models field names in a CAL record or data constructor argument.
FieldName.CalSourceFormComparator Provides a comparator for field names in their CAL source form as Strings.
FieldName.Ordinal Ordinal field names, which always start with a # followed by a natural number in CAL source.
FieldName.Textual Textual field names.
ForeignFunctionInfo Class used to provide the information needed to call a CAL foreign function.
ForeignFunctionInfo.Cast Information about a CAL foreign function that is in fact a Java cast.
ForeignFunctionInfo.ClassLiteral Information about a CAL foreign function that is in fact a Java Class literal (of the Java type java.lang.Class), referring to a particular Java type R.
ForeignFunctionInfo.InstanceOf Information about a CAL foreign function that is in fact a Java instanceof operator.
ForeignFunctionInfo.Invocation Information about a CAL foreign function that is in fact a Java invocation of a field (static or non-static), method (static or non-static) or constructor.
ForeignFunctionInfo.JavaKind Type-safe enumeration describing the different kinds of Java entities that can be imported into CAL via a foreign function declaration.
ForeignFunctionInfo.LengthArray Information about a CAL foreign function that is in fact a call to the length field of an array reference type.
ForeignFunctionInfo.NewArray Information about a CAL foreign function that is in fact a Java new array creation.
ForeignFunctionInfo.NullCheck Information about a CAL foreign function that is in fact a Java null check.
ForeignFunctionInfo.NullLiteral Information about a CAL foreign function that is in fact a Java null literal (of a specific CAL type) These are CAL functions of type T (i.e. 0 arguments), where T is a foreign CAL type whose implementation type is a Java reference type.
ForeignFunctionInfo.SubscriptArray Information about a CAL foreign function that is in fact a Java array subscript operator.
ForeignFunctionInfo.UpdateArray Information about a CAL foreign function that is in fact a Java array update operator.
ForeignTypeInfo Provides information about the Java type corresponding to a CAL type via a foreign data declaration.
Function Provides an implementation of FunctionalAgent suitable for use in the type checker with functions or pattern bound variables.
FunctionalAgent Descibes a function-like entity with CAL.
IdentifierInfo This is the root class of a hierarchy of classes representing different kinds of identifiers in CAL.
IdentifierInfo.DataConsFieldName Represents the identity of one or more data constructor fields referred to by an identifier, which consists of the (common) field name and the identities of the associated data constructors.
IdentifierInfo.Local Abstract base class for the identity of a locally-defined entity referred to by an identifier.
IdentifierInfo.Local.CasePatternVariable Represents the identity of a case-bound pattern variable referred to by an identifier.
IdentifierInfo.Local.Function Represents the identity of a let-bound local function referred to by an identifier.
IdentifierInfo.Local.Parameter Abstract base class for the identity of a parameter, which can be defined as part of a function's parameter list, or in a CALDoc arg tag.
IdentifierInfo.Local.Parameter.InstanceMethodCALDoc Represents the identity of a parameter of an instance method as declared in the associated CALDoc comment.
IdentifierInfo.Local.Parameter.Lambda Represents the identity of a lambda-bound parameter.
IdentifierInfo.Local.Parameter.LocalFunction Represents the identity of a parameter of a let-bound local function, which can be defined as part of the function's parameter list, or in the associated CALDoc comment.
IdentifierInfo.Local.Parameter.TopLevelFunctionOrClassMethod Represents the identity of a parameter of a top-level function or class method, which can be defined as part of the function's parameter list, or in the associated CALDoc comment.
IdentifierInfo.Local.PatternMatchVariable Represents the identity of a let-bound pattern variable appearing in a (lazy) local pattern match declaration.
IdentifierInfo.Module Represents the identity of a module referred to by a module name identifier, namely the module's fully qualified name.
IdentifierInfo.RecordFieldName Represents the identity of a record field referred to by an identifier.
IdentifierInfo.TopLevel Abstract base class for the identity of a top-level (or scoped) entity referred to by an identifier.
IdentifierInfo.TopLevel.DataCons Represents the identity of a data constructor referred to by an identifier, namely the data constructor's fully qualified name.
IdentifierInfo.TopLevel.FunctionOrClassMethod Represents the identity of a top-level function or class method referred to by an identifier, namely the function or method's fully qualified name.
IdentifierInfo.TopLevel.TypeClass Represents the identity of a type class referred to by an identifier, namely the type class's fully qualified name.
IdentifierInfo.TopLevel.TypeCons Represents the identity of a type constructor referred to by an identifier, namely the type constructor's fully qualified name.
IdentifierInfo.TypeVariable Represents the identity of a type variable referred to by an identifier, namely the variable name and the variable's unique ID.
IdentifierOccurrence<I extends IdentifierInfo> This is the root class of a hierarchy of classes representing different kinds of identifier occurrences in CAL.
IdentifierOccurrence.Binding<I extends IdentifierInfo> Abstract base class for an occurrence which is a name binding (binding a name to an entity in a particular scope).
IdentifierOccurrence.Binding.DataConsFieldName Represents a data constructor field name appearing in the definition of its associated data constructor.
IdentifierOccurrence.Binding.Definition<I extends IdentifierInfo> Represents a definition (the actual definition in source of the entity to which the name is bound).
IdentifierOccurrence.Binding.External<I extends IdentifierInfo> Represents an external name binding (one that does not appear in the source code being analyzed, e.g. one that is implied by the information in a ModuleTypeInfo or a CodeQualificationMap).
IdentifierOccurrence.Binding.ImportUsingItem<I extends IdentifierInfo.TopLevel> Represents a name listed in an import using clause.
IdentifierOccurrence.Binding.PunnedTextualDataConsFieldName<I extends IdentifierInfo.Local> Represents a punned textual data constructor field name (which is a local variable binding).
IdentifierOccurrence.Binding.PunnedTextualRecordFieldName<I extends IdentifierInfo.Local> Represents a punned textual record field name (which is a local variable binding).
IdentifierOccurrence.ForeignDescriptor<I extends IdentifierInfo.TopLevel> Represents a foreign descriptor (or external name) for a foreign entity.
IdentifierOccurrence.Reference<I extends IdentifierInfo> Abstract base class for an occurrence which is a reference (to an entity in scope).
IdentifierOccurrence.Reference.DataConsFieldName Abstract base class for an occurrence which is a reference to a data constructor field (including occurrences of all associated data constructors).
IdentifierOccurrence.Reference.DataConsFieldName.NonPunned Represents a data constructor field name not appearing in a punned context (including occurrences of all associated data constructors).
IdentifierOccurrence.Reference.DataConsFieldName.PunnedOrdinal Represents a punned ordinal data constructor field name (including occurrences of all associated data constructors).
IdentifierOccurrence.Reference.Local<I extends IdentifierInfo.Local> Represents a reference to a locally-bound entity.
IdentifierOccurrence.Reference.Module Represents a reference to a module (whether the name can be partially qualified, or must be fully qualified).
IdentifierOccurrence.Reference.NonQualifiable<I extends IdentifierInfo> Represents a reference to a top-level (scoped) entity in a context where qualification is not allowed.
IdentifierOccurrence.Reference.Operator<I extends IdentifierInfo.TopLevel> Represents an operator reference (to a function, class method, type constructor, or data constructor).
IdentifierOccurrence.Reference.Qualifiable<I extends IdentifierInfo.TopLevel> Represents a reference to a top-level (scoped) entity in a context where qualification is allowed or required.
IdentifierOccurrence.Reference.RecordFieldName Abstract base class for an occurrence which is a reference to a record field.
IdentifierOccurrence.Reference.RecordFieldName.NonPunned Represents a record field name not appearing in a punned context.
IdentifierOccurrence.Reference.RecordFieldName.PunnedOrdinal Represents a punned ordinal record field name.
IdentifierOccurrence.Reference.TypeVariable Represents a reference to a type variable.
IdentifierOccurrenceCollector<R> A visitor class that traverses a source model, gathers up the bindings declared therein, visits each source element with the appropriate symbol table passed in as a visitation argument, and gathers up the references (non-binding occurrences) as well.
IdentifierOccurrenceFinder<R> A visitor class that traverses a source model, gathers up the bindings declared therein, visits each source element with the appropriate symbol table passed in as a visitation argument, and gathers up the references (non-binding occurrences) as well.
IdentifierOccurrenceFinder.FinderState Encapsulates the traversal state of the IdentifierOccurrenceFinder, to be passed around as the user-specified state in the visitor argument.
IdentifierResolver This is a non-instantiatable class containing a collection of inner classes related to the task of resolving identifiers in source code.
IdentifierResolver.SymbolTable Abstract base class for a family of immutable classes that encapsulates a symbol table, representing a particular scope for identifier resolution.
IdentifierResolver.SymbolTable.LocalScope Represents a scope where local variables are defined.
IdentifierResolver.SymbolTable.RootScope Represents a scope above the top level scope that is associated with an external name resolution context.
IdentifierResolver.SymbolTable.TopLevelScope Represents the scope where top-level (scoped) entities are defined.
IdentifierResolver.TypeVariableScope An immutable class representing a scope for type variables.
IdentifierResolver.Visitor<T,R> Abstract base visitor that traverses the source model, gathers up the bindings declared therein, and visits each source element with the appropriate symbol table passed in as a visitation argument.
IdentifierResolver.VisitorArgument<T> This class encapsulates the visitation argument used with the visitor class.
LanguageInfo LanguageInfo is intended to contain helpful static methods describing the CAL language in general, independent of a particular run of the compiler on a particular project.
LocalFunctionIdentifier Represents the name of a local function, disambiguated by index within a toplevel function.
MessageKind This is the base class from which all compiler message kind classes are derived.
MessageKind.Error Normal level when reporting a user error in CAL source.
MessageKind.Error.CodeGenerationAborted  
MessageKind.Error.CodeGenerationAbortedWithException  
MessageKind.Error.DebugMessage  
MessageKind.Error.FailedToFinalizeJavaCode  
MessageKind.Error.NoClassLoaderProvided Called when a ForeignContextProvider is asked to provide a classloader to load classes for a module, and the provided returns null (signalling that it doesn't recognize the module).
MessageKind.Error.UnableToCreateOutputValueNode  
MessageKind.Error.UnableToResolveFunctionAlias  
MessageKind.Error.UnableToRetrieveAnOutputPolicy  
MessageKind.Fatal Fatal errors should result in compilation immediately stopping.
MessageKind.Fatal.CodeGenerationAbortedDueToInternalCodingError  
MessageKind.Fatal.CouldNotFindWorkspaceDefinition  
MessageKind.Fatal.UnableToRecoverFromCodeGenErrors  
MessageKind.Info Purely informational, and not a problem of any sort.
MessageKind.Info.DebugMessage  
MessageKind.Warning A problem that does not prevent compilation or running of the resulting program, but nevertheless may be of interest to the user.
MessageKind.Warning.DebugMessage  
MessageLogger Used by the compilation process (i.e. parsing, static analysis, type-checking, code generation), to log messages of interest.
ModuleContainer Objects that implement this class are needed to initialize the SourceMetricsManager.
ModuleName This class abstracts a module name in CAL.
ModuleName.FullyQualifiedComparator A Comparator which compares ModuleNames by their fully-qualified form, comparing on a component-by-component basis.
ModuleNameResolver This immutable class encapsulates logic related to resolving module names that appear in CAL source.
ModuleNameResolver.ResolutionResult This immutable class encapsulates the result of a module name resolution.
ModuleSourceDefinition A ModuleSourceDefinition is a module resource which wraps the text of a module definition and its name.
ModuleSourceDefinitionGroup A ModuleSourceDefinitionGroup wraps a set of module source definitions.
ModuleTypeInfo Provides information about the top-level entities defined by the module, for use by external clients or dependent modules.
OperatorInfo Some helpful methods for working with functions and class methods that have an operator form.
OptimizerHelper Warning- this class should only be used by the CAL compiler implementation.
Packager Warning- this class should only be used by the CAL compiler implementation.
ParseTreeNode Warning- this class should only be used by the CAL compiler implementation.
PolymorphicVarContext A helper class intended to hold the uninstantiated type and record variables occurring in a collection of (one or more) type expressions.
PreludeTypeConstants Sometimes client code needs to have access to various TypeExpr objects.
ProgramModifier This is the ProgramModifier class.
QualifiedName A simple wrapper class for holding onto names qualified by their module source.
RecordType A class used to represent record types such as: literal (non record-polymorphic) records: {name :: String, height :: Double} Num a => {foo :: [a], bar :: Char, zap :: Maybe a} record-polymorphic records: r\field => {r | field1 :: Char} (r\name, r\height) => {r | name :: String, height :: Double} Implementation note: RecordType objects can be though of as defining a finite sequence of extensions from a base record variable: the non-record polymorphic records are: {NO_FIELDS | extensionFieldsMap1 | extensionFieldsMap2 | ... | extensionFieldsMapN} the record-polymorphic records are: r\lacksFields => {r | extensionFieldsMap1 | extensionFieldsMap2 | ... | extensionFieldsMapN} Where the extensionFieldsMaps are restricted by construction to having distinct domains (i.e. the fields don't overlap) and there are similar consistency constraints on the record variable r.
RecordVar Represents a variable value for a record (i.e. a finite set of Fields, along with their associated types).
Refactorer A Refactorer represents a specific refactoring operation on a specific module or set of modules.
Refactorer.AutoCompleteWithInsertImport Represents the Auto-complete refactoring with an insert import for the auto-completed symbol.
Refactorer.CleanImports Represents the Clean Imports refactoring.
Refactorer.InsertImport Represents the Insert Import refactoring.
Refactorer.InsertImport_Only Represents the Insert Import refactoring that inserts only an import statement with no names.
Refactorer.InsertImport_Symbol Represents the Insert Import refactoring that inserts an import statement for a given name.
Refactorer.InsertTypeDeclarations Represents the Insert Type Declarations refactoring.
Refactorer.PrettyPrint Represents the Pretty Print refactoring.
Refactorer.Rename Represents the Rename refactoring.
Refactorer.RenameDataConsFieldName Represents the refactoring of renaming a data constructor field.
Refactorer.RenameLocalName Represents the refactoring of renaming a locally-bound name (let-bound functions and local pattern match variables, case-bound patterns, lambda-bound parameters, and parameters of top-level and local functions).
Refactorer.RenameTypeVariable Represents the refactoring of renaming a type variable.
Refactorer.ReplaceText Replaces old text with new text
Scope Models the scope modifier in CAL.
ScopedEntity Models an entity in CAL with a qualified name and a scope.
ScopedEntityNamingPolicy A helper class used to determine how a scoped name (such as Maybe) should be displayed.
ScopedEntityNamingPolicy.UnqualifiedIfUsingOrSameModule Qualifies names based on the module that the policy is constructed with.
ScopedEntityNamingPolicy.UnqualifiedInCurrentModuleOrInPreludeIfUnambiguous This policy produces unqualified names for entities defined in the current module, and Prelude entities (if their names are not also defined in the current module).
ScopedEntityNamingPolicy.UnqualifiedUnlessAmbiguous Use the unqualified name unless there is ambiguity.
SearchManager This immutable class encapsulates logic for performing searches on source code and performing structured source code navigation.
SearchResult Represents a single search hit from a search performed by the SourceMetricFinder.
SearchResult.Frequency Represents a search hit based only on frequency information.
SearchResult.Frequency.Type Typesafe enumeration for the type of the search hit.
SearchResult.Precise Represents a precise search hit (with source range) from a search performed by the SourceMetricFinder.
SourceEmbellishment This class is used to represent source code embellishments Currently these may include comments and whitespace.
SourceEmbellishment.BlankLine this class is used to represent a blank line in the source
SourceEmbellishment.MultiLineComment this is used to represent a multi-line comment, which may span multiple lines
SourceEmbellishment.SingleLineComment this is used to represent a single line comment.
SourceIdentifier Tracks the category and position of an identifier and its module name (if any) within a CAL source stream.
SourceIdentifier.Category Class enumerating category of a CAL identifier stored in an SourceIdentifier.
SourceMetricsManager This internal class encapsulates aggregated source metrics for a set of modules.
SourceModel Models syntactically valid CAL entities, in particular, a syntactically valid CAL module.
SourceModel.ArgBindings Models the arguments in the unpacking of a general data constructor.
SourceModel.ArgBindings.Matching Models the arguments in the unpacking of a general data constructor, where the argument notation is matching.
SourceModel.ArgBindings.Positional Models the unpacking of a general data constructor, where the argument notation is positional.
SourceModel.CALDoc Base class for all source elements that constitute a CALDoc comment.
SourceModel.CALDoc.Comment Models a CALDoc comment, which consists of a description block followed by a list of tagged blocks.
SourceModel.CALDoc.Comment.ClassMethod Models a CALDoc comment associated with a class method definition.
SourceModel.CALDoc.Comment.DataCons Models a CALDoc comment associated with a data constructor definition.
SourceModel.CALDoc.Comment.Function Models a CALDoc comment associated with a function definition.
SourceModel.CALDoc.Comment.Instance Models a CALDoc comment associated with an instance definition.
SourceModel.CALDoc.Comment.InstanceMethod Models a CALDoc comment associated with an instance method definition.
SourceModel.CALDoc.Comment.Module Models a CALDoc comment associated with a module definition.
SourceModel.CALDoc.Comment.TypeClass Models a CALDoc comment associated with a type class definition.
SourceModel.CALDoc.Comment.TypeCons Models a CALDoc comment associated with a type constructor definition.
SourceModel.CALDoc.CrossReference Models a reference in a list of references in a CALDoc "@see" block or "@link" inline block.
SourceModel.CALDoc.CrossReference.CanAppearWithoutContext Base class for a reference in a CALDoc "@see" block or "@link" inline block that can appear without the context keyword.
SourceModel.CALDoc.CrossReference.DataCons Models a (checked/unchecked) data constructor name reference in a CALDoc "@see dataConstructor = ..." block.
SourceModel.CALDoc.CrossReference.Function Models a (checked/unchecked) function name reference in a CALDoc "@see function = ..." block.
SourceModel.CALDoc.CrossReference.Module Models a (checked/unchecked) module name reference in a CALDoc "@see module = ..." block.
SourceModel.CALDoc.CrossReference.TypeClass Models a (checked/unchecked) type class name reference in a CALDoc "@see typeClass = ..." block.
SourceModel.CALDoc.CrossReference.TypeCons Models a (checked/unchecked) type constructor name reference in a CALDoc "@see typeConstructor = ..." block.
SourceModel.CALDoc.CrossReference.WithoutContextCons Models a (checked/unchecked) constructor/module name reference in a CALDoc "@see"/"@link" block without the context keyword.
SourceModel.CALDoc.InteriorIndentable Base class for CALDoc comment elements that can be indented in the source on the right hand side of the decorative '*' on the left-edge of the comment.
SourceModel.CALDoc.TaggedBlock Models a tagged block in a CALDoc comment.
SourceModel.CALDoc.TaggedBlock.Arg Models the "@arg" CALDoc tag.
SourceModel.CALDoc.TaggedBlock.Author Models the "@author" CALDoc tag.
SourceModel.CALDoc.TaggedBlock.Deprecated Models the "@deprecated" CALDoc tag.
SourceModel.CALDoc.TaggedBlock.Return Models the "@return" CALDoc tag.
SourceModel.CALDoc.TaggedBlock.See Models the "@see" CALDoc tag.
SourceModel.CALDoc.TaggedBlock.See.DataCons Models a CALDoc "@see dataConstructor = ..." block.
SourceModel.CALDoc.TaggedBlock.See.Function Models a CALDoc "@see function = ..." block.
SourceModel.CALDoc.TaggedBlock.See.Module Models a CALDoc "@see module = ..." block.
SourceModel.CALDoc.TaggedBlock.See.TypeClass Models a CALDoc "@see typeClass = ..." block.
SourceModel.CALDoc.TaggedBlock.See.TypeCons Models a CALDoc "@see typeConstructor = ..." block.
SourceModel.CALDoc.TaggedBlock.See.WithoutContext Models a CALDoc "@see" block without the context keyword.
SourceModel.CALDoc.TaggedBlock.TaggedBlockWithText Models a common kind of tagged blocks in CALDoc: one which ends with a text block.
SourceModel.CALDoc.TaggedBlock.Version Models the "@version" CALDoc tag.
SourceModel.CALDoc.TextBlock Models a block of text segments within a CALDoc comment.
SourceModel.CALDoc.TextSegment Base class for a text segment in a CALDoc comment.
SourceModel.CALDoc.TextSegment.InlineTag Base class for an inline tag segment in a CALDoc comment.
SourceModel.CALDoc.TextSegment.InlineTag.Code Models a "@code" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.InlineTag.InlineTagWithPreformattedContent Base class for an inline tag segment whose content is simply a preformatted text segment.
SourceModel.CALDoc.TextSegment.InlineTag.InlineTagWithTextBlockContent Base class for an inline tag segment whose content is simply a TextBlock.
SourceModel.CALDoc.TextSegment.InlineTag.Link Models a "@link" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.InlineTag.Link.ConsNameWithoutContext Models a "@link" CALDoc inline tag segment without a context and containing an identifier starting with an uppercase character.
SourceModel.CALDoc.TextSegment.InlineTag.Link.DataCons Models a "@link dataConstructor = ..."
SourceModel.CALDoc.TextSegment.InlineTag.Link.Function Models a "@link function = ..."
SourceModel.CALDoc.TextSegment.InlineTag.Link.FunctionWithoutContext Models a "@link" CALDoc inline tag segment without a context and containing an identifier starting with a lowercase character.
SourceModel.CALDoc.TextSegment.InlineTag.Link.Module Models a "@link module = ..."
SourceModel.CALDoc.TextSegment.InlineTag.Link.TypeClass Models a "@link typeClass = ..."
SourceModel.CALDoc.TextSegment.InlineTag.Link.TypeCons Models a "@link typeConstructor = ..."
SourceModel.CALDoc.TextSegment.InlineTag.Link.WithContext Models a "@link" CALDoc inline tag segment with a context, i.e. currently one of: module, function, typeConstructor, dataConstructor, typeClass.
SourceModel.CALDoc.TextSegment.InlineTag.Link.WithoutContext Models a "@link" CALDoc inline tag segment without a context.
SourceModel.CALDoc.TextSegment.InlineTag.List Base class for an inline tag segment for representing a list in a CALDoc comment.
SourceModel.CALDoc.TextSegment.InlineTag.List.Item Models a list item in a CALDoc comment.
SourceModel.CALDoc.TextSegment.InlineTag.List.Ordered Models an ordered list in a CALDoc comment.
SourceModel.CALDoc.TextSegment.InlineTag.List.Unordered Models an unordered list in a CALDoc comment.
SourceModel.CALDoc.TextSegment.InlineTag.Summary Models a "@summary" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.InlineTag.TextFormatting Base class for an inline tag segment for text formatting in CALDoc.
SourceModel.CALDoc.TextSegment.InlineTag.TextFormatting.Emphasized Models an "@em" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.InlineTag.TextFormatting.StronglyEmphasized Models a "@strong" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.InlineTag.TextFormatting.Subscript Models a "@sub" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.InlineTag.TextFormatting.Superscript Models a "@sup" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.InlineTag.URL Models a "@url" CALDoc inline tag segment.
SourceModel.CALDoc.TextSegment.Plain Models a plain text segment in a CALDoc comment, i.e. a segment consisting of a simple string of characters.
SourceModel.CALDoc.TextSegment.Preformatted Models a preformatted text segment in a CALDoc comment.
SourceModel.CALDoc.TextSegment.TopLevel Base class for a top-level text segment in a CALDoc comment, i.e. one that can be a child of a text paragraph.
SourceModel.Constraint Models a constraint on a type variable.
SourceModel.Constraint.Lacks Models the constraint that a record variable lacks a specific field e.g r\orderDate s\#4
SourceModel.Constraint.TypeClass Models the constraint that a type variable belongs to a particular type class.
SourceModel.Expr Models a CAL expression occurring in the definition of regular CAL function.
SourceModel.Expr.Application Models a function application expression.
SourceModel.Expr.BinaryOp Models binary operator expressions in operator form e.g. 2.0 + 3.0 (and not something like Prelude.add 2.0 3.0).
SourceModel.Expr.BinaryOp.Add Models the + operator (which is Prelude.add in its textual form).
SourceModel.Expr.BinaryOp.And Models the && operator (which is Prelude.and in its textual form).
SourceModel.Expr.BinaryOp.Append Models the ++ operator (which is Prelude.append in its textual form).
SourceModel.Expr.BinaryOp.Apply Models the $ operator (which is Prelude.apply in its textual form).
SourceModel.Expr.BinaryOp.BackquotedOperator Models the `{Operator}` operator the back quoted operator application
SourceModel.Expr.BinaryOp.BackquotedOperator.DataCons Models a backquoted operator containing a data constructor name between the backquotes.
SourceModel.Expr.BinaryOp.BackquotedOperator.Var Models a backquoted operator containing a function/class method name between the backquotes.
SourceModel.Expr.BinaryOp.Compose Models the # operator (which is Prelude.compose in its textual form).
SourceModel.Expr.BinaryOp.Cons Models the : operator (which is Prelude.Cons in its textual form).
SourceModel.Expr.BinaryOp.Divide Models the / operator (which is Prelude.divide in its textual form).
SourceModel.Expr.BinaryOp.Equals Models the == operator (which is Prelude.equals in its textual form).
SourceModel.Expr.BinaryOp.GreaterThan Models the < operator (which is Prelude.lessThan in its textual form).
SourceModel.Expr.BinaryOp.GreaterThanEquals Models the >= operator (which is Prelude.greaterThanEquals in its textual form).
SourceModel.Expr.BinaryOp.LessThan Models the < operator (which is Prelude.lessThan in its textual form).
SourceModel.Expr.BinaryOp.LessThanEquals Models the <= operator (which is Prelude.lessThanEquals in its textual form).
SourceModel.Expr.BinaryOp.Multiply Models the * operator (which is Prelude.multiply in its textual form).
SourceModel.Expr.BinaryOp.NotEquals Models the !
SourceModel.Expr.BinaryOp.Or Models the || operator (which is Prelude.or in its textual form).
SourceModel.Expr.BinaryOp.Remainder Models the % operator (which is Prelude.remainder in its textual form).
SourceModel.Expr.BinaryOp.Subtract Models the - binary operator (which is Prelude.subtract in its textual form).
SourceModel.Expr.Case Models a case expression in CAL source.
SourceModel.Expr.Case.Alt Base class for case alteratives.
SourceModel.Expr.Case.Alt.Default Models the default or wildcard pattern "_ -> expr" that matches any of the cases not given explicitly as a case alternative.
SourceModel.Expr.Case.Alt.UnpackChar Models the unpacking of char values.
SourceModel.Expr.Case.Alt.UnpackDataCons Models the unpacking of a group of general data constructors, where the data constructor's name is textual.
SourceModel.Expr.Case.Alt.UnpackInt Models the unpacking of int values.
SourceModel.Expr.Case.Alt.UnpackListCons Models the unpacking of the ":" data constructor (this is the operator form of Prelude.Cons).
SourceModel.Expr.Case.Alt.UnpackListNil Models the unpacking of the "[]" data constructor (this is the operator form of Prelude.Nil).
SourceModel.Expr.Case.Alt.UnpackRecord Models unpacking record values using a case expression.
SourceModel.Expr.Case.Alt.UnpackTuple Models the unpacking of a tuple data constructor in operator form.
SourceModel.Expr.Case.Alt.UnpackUnit Models the unpacking of the "()" data constructor (this is the operator form of Prelude.Unit).
SourceModel.Expr.DataCons Models a data constructor reference occurring in an expression in textual form.
SourceModel.Expr.ExprTypeSignature Models expression type signatures such as "1 + 3 :: Prelude.Int", "[] :: [Char]".
SourceModel.Expr.If Models an if-then-else expression.
SourceModel.Expr.Lambda Models a lambda expression such as: \x y z -> x + y + z or \!
SourceModel.Expr.Let Models a let x in exp; expression in CAL source.
SourceModel.Expr.List Models the notational form a list in CAL source e.g.
SourceModel.Expr.Literal Base class for representing literals in CAL source.
SourceModel.Expr.Literal.Char Models literal values of type Prelude.Char in CAL source e.g.
SourceModel.Expr.Literal.Double Models literal values of type Prelude.Double in CAL source e.g. 1.23