diff -r 11cd8ad86d5f -r 989bfed752f1 Tools__NewSystemBrowser.st --- a/Tools__NewSystemBrowser.st Fri Nov 18 18:07:08 2016 +0100 +++ b/Tools__NewSystemBrowser.st Sat Nov 19 21:00:42 2016 +0100 @@ -14,61 +14,61 @@ "{ NameSpace: Tools }" SystemBrowser subclass:#NewSystemBrowser - instanceVariableNames:'environmentHolder environment navigationState bufferNameList - selectedBuffer buffers bufferUsageOrder browserCanvas - immediateUpdate showClassPackages lastMethodCategory - lastMethodMoveClass browserCanvasType - syntaxColoringProcessRunning syntaxColoringProcess - methodInfoProcess browsletShowHideLabelHolder browserPageCanvas - isEmbedded hasNonEmptyEnvironmentSelectedHolder - smalllintRulesOrAllHolder smalllintRulesOrDefaultHolder - explainProcess' - classVariableNames:'LastNewProtocols LastProtocolRenames LastCategoryRenames - LastCategoryRenameOld LastCategoryRenameNew LastProjectMoves - LastNameSpaceMove LastMethodMoveOrCopyTargetClass - LastClassFilterBlockString LastMethodFilterBlockString - LastBreakPointConditionString LastIndividualChecks - LastAcceptPackage LastVariableRenames LastVisitorClassName - LastTemporaryVariableName FindHistory SynchronousUpdate - DoubleClickIsOpenBrowser ShowMethodTemplateWhenProtocolIsSelected - DefaultShowMethodInheritance DefaultEmphasizeUnloadedClasses - DefaultImmediateSyntaxColoring DefaultImmediateExplaining - DefaultSyntaxColoring DefaultToolBarVisible - DefaultCodeInfoVisible DefaultShortNameInTabs - DefaultHideUnloadedClasses DefaultMarkApplications - DefaultAutoFormat DefaultShowMethodComplexity - DefaultShowMethodTypeIcon DefaultShowSpecialResourceEditors - DefaultShowSyntheticMethods SharedMethodCategoryCache - LastMethodProcessingBlockString LastLoadedPackages - DefaultShortAllClassesInNameSpaceOrganisation LastBaseVersionTag - LastTag DefaultShowPseudoProtocols DefaultShowMultitabMode - LastRenamedOld LastRenamedNew LastImportedPackage - LastLintRulesHolder NewNavigationHistory - LastLiteralReplacementType LastLiteralReplacementNewName - LastLiteralReplacementOldLiteral LastNewProjectType - LastClassProcessingBlockString RecentlyClosedList - LastClassSearchBoxShowedFullName CachedTagToRevisionMapping - CachedMethodsImplemented LastCypressDirectory - LastClassSearchBoxShowedJavaOnly LastRemoteRepository - LastClassDocDirectory DefaultShowCoverage LastLintedPackage - LastSearchedImplementors LastSearchedSenders - LastComparedClassName' - poolDictionaries:'' - category:'Interface-Browsers-New' + instanceVariableNames:'environmentHolder environment navigationState bufferNameList + selectedBuffer buffers bufferUsageOrder browserCanvas + immediateUpdate showClassPackages lastMethodCategory + lastMethodMoveClass browserCanvasType + syntaxColoringProcessRunning syntaxColoringProcess + methodInfoProcess browsletShowHideLabelHolder browserPageCanvas + isEmbedded hasNonEmptyEnvironmentSelectedHolder + smalllintRulesOrAllHolder smalllintRulesOrDefaultHolder + explainProcess' + classVariableNames:'LastNewProtocols LastProtocolRenames LastCategoryRenames + LastCategoryRenameOld LastCategoryRenameNew LastProjectMoves + LastNameSpaceMove LastMethodMoveOrCopyTargetClass + LastClassFilterBlockString LastMethodFilterBlockString + LastBreakPointConditionString LastIndividualChecks + LastAcceptPackage LastVariableRenames LastVisitorClassName + LastTemporaryVariableName FindHistory SynchronousUpdate + DoubleClickIsOpenBrowser ShowMethodTemplateWhenProtocolIsSelected + DefaultShowMethodInheritance DefaultEmphasizeUnloadedClasses + DefaultImmediateSyntaxColoring DefaultImmediateExplaining + DefaultSyntaxColoring DefaultToolBarVisible + DefaultCodeInfoVisible DefaultShortNameInTabs + DefaultHideUnloadedClasses DefaultMarkApplications + DefaultAutoFormat DefaultShowMethodComplexity + DefaultShowMethodTypeIcon DefaultShowSpecialResourceEditors + DefaultShowSyntheticMethods SharedMethodCategoryCache + LastMethodProcessingBlockString LastLoadedPackages + DefaultShortAllClassesInNameSpaceOrganisation LastBaseVersionTag + LastTag DefaultShowPseudoProtocols DefaultShowMultitabMode + LastRenamedOld LastRenamedNew LastImportedPackage + LastLintRulesHolder NewNavigationHistory + LastLiteralReplacementType LastLiteralReplacementNewName + LastLiteralReplacementOldLiteral LastNewProjectType + LastClassProcessingBlockString RecentlyClosedList + LastClassSearchBoxShowedFullName CachedTagToRevisionMapping + CachedMethodsImplemented LastCypressDirectory + LastClassSearchBoxShowedJavaOnly LastRemoteRepository + LastClassDocDirectory DefaultShowCoverage LastLintedPackage + LastSearchedImplementors LastSearchedSenders + LastComparedClassName' + poolDictionaries:'' + category:'Interface-Browsers-New' ! ListEntry subclass:#OwnershipGraph - instanceVariableNames:'ownershipInfo cachedForm' - classVariableNames:'' - poolDictionaries:'' - privateIn:NewSystemBrowser + instanceVariableNames:'ownershipInfo cachedForm' + classVariableNames:'' + poolDictionaries:'' + privateIn:NewSystemBrowser ! Object subclass:#RevisionOwnershipInfo - instanceVariableNames:'revision author date lineOwnership' - classVariableNames:'' - poolDictionaries:'' - privateIn:NewSystemBrowser::OwnershipGraph + instanceVariableNames:'revision author date lineOwnership' + classVariableNames:'' + poolDictionaries:'' + privateIn:NewSystemBrowser::OwnershipGraph ! !NewSystemBrowser class methodsFor:'documentation'! @@ -19811,7 +19811,6 @@ ! ! - !NewSystemBrowser methodsFor:'aspects-organization'! categoryMenuVisible @@ -23682,7 +23681,6 @@ ^ UserPreferences current useSearchBarInBrowser or:[self codeView searchBarActionBlock notNil] ! ! - !NewSystemBrowser methodsFor:'binding access'! menuFor:key @@ -28849,26 +28847,34 @@ runRule: rule onEnvironment: aBrowserEnvironment progressFeedBackInto:[:classBeingChecked | - |msg percentage now| + |msg percentage percentageRounded now numFound| count := count + 1. percentage := ((count-1) / numClassesOverAll * 100). + percentageRounded := percentage rounded. (lastPercentage isNil or:[ - (lastPercentage ~= (percentage roundTo:2)) + (lastPercentage ~= percentageRounded) and:[ now := Timestamp now. (now - timeOfLastFeedback > 100 milliseconds) ] ] ) ifTrue:[ + lastPercentage := percentageRounded. + msg := ('Checking: ' withColor:Color grey) , ruleName - , ((' (',ruleClassName,')')withColor:Color grey). + , ((' (',ruleClassName,')') withColor:Color grey). - ((numClassesOverAll < 10) or:[numRules == 1]) ifTrue:[ - msg := msg , ' in ',classBeingChecked name. - ]. + "/ ((numClassesOverAll < 10) or:[numRules == 1]) ifTrue:[ + "/ msg := msg , ' in ',classBeingChecked name. + "/ ]. + numFound := rule problemCount. + numFound ~~ 0 ifTrue:[ + msg := msg , ' (', numFound printString,' found in ',count printString,' classes)'. + ]. + anyError ifFalse:[ rule isEmpty ifFalse:[ anyError := (rule severity == RBLintRule severityWarning). @@ -28892,7 +28898,6 @@ messageText: msg; parameter: percentage; raiseRequest. - lastPercentage := (percentage roundTo:2). timeOfLastFeedback := now ifNil:[Timestamp now]. ]. ]. @@ -28911,9 +28916,9 @@ "Modified: / 28-12-2008 / 14:40:01 / bazantj " "Modified: / 22-07-2009 / 14:38:30 / Jan Vrany " "Created: / 28-08-2010 / 12:12:51 / Jan Vrany " - "Modified: / 01-03-2012 / 15:22:20 / cg" "Modified: / 14-10-2014 / 18:01:37 / Jan Vrany " "Modified (comment): / 27-11-2014 / 11:38:51 / Jan Vrany " + "Modified: / 19-11-2016 / 20:16:53 / cg" ! smalllintRunSelectedOnEnvironment:aBrowserEnvironment @@ -49903,7 +49908,6 @@ "Modified: / 28-02-2012 / 16:48:38 / cg" ! ! - !NewSystemBrowser methodsFor:'menu actions-variables'! browseVarRefsOrModsWithTitle:browserTitle boxTitle:boxTitle variables:varType access:accessType all:browseAll @@ -58283,7 +58287,6 @@ ^ navigationState projectListApplication ! ! - !NewSystemBrowser methodsFor:'private-history'! lastSearchPatterns @@ -59310,13 +59313,14 @@ parseTree := RBParser parseMethod:mthd source - onError: [:str :pos | Transcript showCR:str. Transcript showCR:pos. - nil]. + onError: [:str :pos | + Transcript showCR:str. Transcript showCR:pos. + nil + ]. parseTree isNil ifTrue:[^ false ]. - (aMatcher executeTree: parseTree initialAnswer: nil) notNil ifTrue:[ - ^ true - ]. - ^ false + ^ (aMatcher executeTree: parseTree initialAnswer: nil) notNil + + "Modified: / 19-11-2016 / 12:00:26 / cg" ! methodHasUglyCodingStyle:mthd selector:sel inClass:cls