jv_smallsense.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 30 Jul 2013 23:34:56 +0100
changeset 45 408d060b005e
parent 42 48307f46ff8e
child 50 8655feecd4db
permissions -rw-r--r--
Fix in completion class vars and pools for class-side methods.

"{ Package: 'jv:smallsense' }"

LibraryDefinition subclass:#jv_smallsense
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'* Projects & Packages *'
!


!jv_smallsense class methodsFor:'description'!

excludedFromPreRequisites
    "list all packages which should be ignored in the automatic
     preRequisites scan. See #preRequisites for more."

    ^ #(
    )
!

mandatoryPreRequisites
    "list all required mandatory packages.
     Packages are mandatory, if they contain superclasses of the package's classes
     or classes which are extended by this package.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies
     (the browser has a menu function for that)"

    ^ #(
        #'stx:goodies/refactoryBrowser/helpers'    "BrowserEnvironment - superclass of SmallSenseUnacceptedMethodEnvironment "
        #'stx:goodies/refactoryBrowser/lint'    "RBLintRule - extended "
        #'stx:goodies/roeltyper'    "TypeCollector - superclass of SmallSenseTypeCollector "
        #'stx:libbasic'    "Autoload - superclass of SmallSenseBaseTestClass "
        #'stx:libbasic2'    "CacheDictionary - superclass of SmallSenseTypeCollectorCache "
        #'stx:libcomp'    "AbstractSyntaxHighlighter - superclass of SmallSenseAbstractInstvarInterfaceExtractor "
        #'stx:libhtml'    "HTMLDocumentFrame - extended "
        #'stx:libtool'    "AbstractSettingsApplication - superclass of SmallSenseSettingsAppl "
        #'stx:libview'    "DeviceGraphicsContext - extended "
        #'stx:libview2'    "ApplicationModel - superclass of SmallSenseCompletionWindow "
        #'stx:libwidg2'    "HierarchicalItem - superclass of SmallSenseClassPO "
    )
!

preRequisites
    "list all required packages.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies and looking for
     global variable accesses. (the browser has a menu function for that)
     Howevery, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPrerequisites method."

    ^ #(
        #'stx:goodies/refactoryBrowser/helpers'    "BrowserEnvironment - superclass of SmallSenseUnacceptedMethodEnvironment "
        #'stx:goodies/refactoryBrowser/lint'    "RBLintRule - superclass of extended RBTransformationRule "
        #'stx:goodies/roeltyper'    "TypeCollector - superclass of SmallSenseTypeCollector "
        #'stx:goodies/sunit'
        #'stx:libbasic'    "Collection - superclass of SmallSenseTypeCollectorCache "
        #'stx:libbasic2'    "CacheDictionary - superclass of SmallSenseTypeCollectorCache "
        #'stx:libbasic3'    "ChangeSet - referenced by RBTransformationRule>>fixes: "
        #'stx:libcomp'    "Parser - superclass of SmallSenseAbstractInstvarInterfaceExtractor "
        #'stx:libhtml'    "HTMLDocumentFrame - superclass of extended HTMLDocumentView "
        #'stx:libtool'    "Tools::BackgroundSourceProcessingService - superclass of SmallSenseService "
        #'stx:libview'    "DeviceGraphicsContext - superclass of extended HTMLDocumentFrame "
        #'stx:libview2'    "SimpleDialog - superclass of SmallSenseCompletionWindow "
        #'stx:libwidg'
        #'stx:libwidg2'    "HierarchicalItem - superclass of SmallSenseParseNodeInspector::ParseNodeItem "
    )
!

referencedPreRequisites
    "list all packages containing classes referenced by the packages's members.
     This list can be maintained manually or (better) generated and
     updated by looking for global variable accesses
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
        #'stx:goodies/refactoryBrowser/parser'    "RBFormatter - referenced by SmallSenseSmalltalkEditSupport>>keyPressReturn "
        #'stx:libbasic3'    "ChangeSet - referenced by RBTransformationRule>>fixes: "
    )
!

subProjects
    "list packages which are known as subprojects.
     The generated makefile will enter those and make there as well.
     However: they are not forced to be loaded when a package is loaded;
     for those, redefine requiredPrerequisites"

    ^ #(
    )
! !

!jv_smallsense class methodsFor:'description - contents'!

classNamesAndAttributes
    "lists the classes which are to be included in the project.
     Each entry in the list may be: a single class-name (symbol),
     or an array-literal consisting of class name and attributes.
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."

    ^ #(
        "<className> or (<className> attributes...) in load order"
        (SmallSenseBaseTestClass autoload)
        SmallSenseChecker
        SmallSenseCompletionWindow
        SmallSenseCriticsWindow
        SmallSenseEditService
        SmallSenseEditSupport
        (SmallSenseFinderTests autoload)
        SmallSenseInfo
        SmallSenseManager
        SmallSensePO
        SmallSenseParseNodeInspector
        SmallSenseParseNodeVisitor
        SmallSenseParser
        (SmallSenseParserTests autoload)
        SmallSensePosition
        SmallSenseQuickFixer
        SmallSenseRecognizer
        (SmallSenseRecognizerTests autoload)
        SmallSenseResultSet
        SmallSenseSelectorNode
        SmallSenseService
        SmallSenseSettingsAppl
        SmallSenseSyntaxHighlightingService
        (SmallSenseTestCase autoload)
        SmallSenseType
        SmallSenseTypeCollector
        SmallSenseTypeCollectorCache
        SmallSenseTypeHolder
        SmallSenseUnacceptedMethodEnvironment
        #'jv_smallsense'
        SmallSenseAbstractInstvarInterfaceExtractor
        SmallSenseClassInfo
        SmallSenseClassPO
        SmallSenseClassType
        SmallSenseConstantPO
        SmallSenseFinder
        SmallSenseGenericEditSupport
        SmallSenseInferencer
        SmallSenseMethodInfo
        SmallSenseMethodPO
        SmallSenseSmalltalkEditSupport
        SmallSenseSnippetPO
        SmallSenseUnionType
        SmallSenseUnknownType
        SmallSenseVariablePO
        SmallSenseInstvarInterfaceExtractor
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are 2-element array literals, consisting of class-name and selector."

    ^ #(
        ParseNode isSelector
        AssignmentNode childNamesAndValuesDo:
        AssignmentNode inferedType
        AssignmentNode inferedType:
        MessageNode childNamesAndValuesDo:
        ParseErrorNode childNamesAndValuesDo:
        ParseNode childNamesAndValuesDo:
        ParseNode inferedType
        ParseNode inferedType:
        PrimaryNode childNamesAndValuesDo:
        StatementNode childNamesAndValuesDo:
        StatementNode inferedType
        StatementNode inferedType:
        UserPreferences smallSenseEnabled
        UserPreferences smallSenseEnabled:
        VariableNode isGlobalOrPrivateClass
        'ConfigurableFeatures class' hasSmallSenseEnabled
        UserPreferences smallSenseBackgroundLintEnabled
        UserPreferences smallSenseBackgroundLintEnabled:
        RBLintRule fixes:
        RBTransformationRule fixes:
        UserPreferences smallSenseBackgroundTypingEnabled
        UserPreferences smallSenseBackgroundTypingEnabled:
        HTMLDocumentView doQuickFix:
        'Tools::CodeHighlightingService class' new
    )
! !

!jv_smallsense class methodsFor:'description - project information'!

applicationIconFileName
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"

    ^ nil
    "/ ^ self applicationName
!

companyName
    "Return a companyname which will appear in <lib>.rc"

    ^ 'eXept Software AG'
!

description
    "Return a description string which will appear in vc.def / bc.def"

    ^ 'Smalltalk/X Class library'
!

legalCopyright
    "Return a copyright string which will appear in <lib>.rc"

    ^ 'Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011'
!

productName
    "Return a product name which will appear in <lib>.rc"

    ^ 'Smalltalk/X'
! !

!jv_smallsense class methodsFor:'description - svn'!

svnRepositoryUrlString
    "Return a SVN repository URL of myself.
     (Generated since 2011-04-08)
    "        

    ^ '$URL: https://vranyj1@swing.fit.cvut.cz/svn/stx/libtool/branches/jv/smallsense/jv_smallsense.st $'
!

svnRevisionNr
    "Return a SVN revision number of myself.
     This number is updated after a commit"

    ^ "$SVN-Revision:"'7962            '"$"
! !

!jv_smallsense class methodsFor:'documentation'!

version_HG
    ^ '$Changeset: <not expanded> $'
!

version_SVN
    ^ '$Id: jv_smallsense.st 7967 2012-04-04 11:12:00Z vranyj1 $'
! !