StacksImportModule

abstract class StacksImportModule(    val moduleName: String,     val commentGroups: MutableMap<A_String, CommentGroup>,     val moduleNameToExtendsList: MutableMap<String, StacksExtendsModule>,     val extendsMethodLeafNameToModuleName: MutableMap<A_String, MutableMap<String, CommentGroup>>,     val moduleNameToUsesList: MutableMap<String, StacksUsesModule>,     val usesMethodLeafNameToModuleName: MutableMap<A_String, MutableMap<String, CommentGroup>>)

A grouping of all implementationGroups originating from the names section of this module that this is being imported by another module.

Author

Richard Arriaga

Parameters

moduleName

The name of the module

commentGroups

The a map of implementationGroups keyed by the implementation name.

moduleNameToExtendsList

A map of module names to other modules extended by this module.

extendsMethodLeafNameToModuleName

A map keyed by exported method names with no path to the qualified module path it is originally named from.

moduleNameToUsesList

A map of module names to other modules used by this module.

usesMethodLeafNameToModuleName

A map keyed by visible (uses) method names with no path to the qualified module path it is originally named from.

Constructors

Link copied to clipboard
fun StacksImportModule(    moduleName: String,     commentGroups: MutableMap<A_String, CommentGroup>,     moduleNameToExtendsList: MutableMap<String, StacksExtendsModule>,     extendsMethodLeafNameToModuleName: MutableMap<A_String, MutableMap<String, CommentGroup>>,     moduleNameToUsesList: MutableMap<String, StacksUsesModule>,     usesMethodLeafNameToModuleName: MutableMap<A_String, MutableMap<String, CommentGroup>>)

Construct a new StacksImportModule.

Functions

Link copied to clipboard
abstract fun addClassImplementationGroup(key: A_String, classCommentGroup: CommentGroup)
Link copied to clipboard
abstract fun addGlobalImplementationGroup(key: A_String, globalCommentGroup: CommentGroup)
Link copied to clipboard
abstract fun addGrammaticalImplementation(key: A_String, implementation: GrammaticalRestrictionComment)
Link copied to clipboard
abstract fun addMacroImplementation(key: A_String, implementation: MacroComment)
Link copied to clipboard
abstract fun addMethodImplementation(key: A_String, implementation: MethodComment)
Link copied to clipboard
abstract fun addSemanticImplementation(key: A_String, implementation: SemanticRestrictionComment)
Link copied to clipboard

Flatten out moduleNameToExtendsList map so that all modules in tree are in one flat map keyed by the qualified method name to the implementation. Pair this with a map of method name to html link.

Create a new map from implementationGroups with new keys using the method qualified name

Link copied to clipboard
abstract fun renameImplementation(    key: A_String,     newName: A_String,     newlyDefinedModule: CommentsModule,     newFileName: StacksFilename,     deleteOriginal: Boolean)

Rename an implementation in this Module.

Properties

Link copied to clipboard
val commentGroups: MutableMap<A_String, CommentGroup>

The a map of implementationGroups keyed by the implementation name.

Link copied to clipboard

A map keyed by exported method names with no path to the qualified module path it is originally named from.

Link copied to clipboard
val moduleName: String

The name of the module

Link copied to clipboard

A map of module names to other modules extended by this module.

Link copied to clipboard
val moduleNameToUsesList: MutableMap<String, StacksUsesModule>

A map of module names to other modules used by this module.

Link copied to clipboard

A map keyed by visible (uses) method names with no path to the qualified module path it is originally named from.

Inheritors

Link copied to clipboard
Link copied to clipboard