AbstractSettingsApplication.st
changeset 19487 cc082b9448dd
parent 19447 6ca3f10f4932
child 19488 4c7397fe2715
--- a/AbstractSettingsApplication.st	Fri Feb 21 13:04:43 2020 +0100
+++ b/AbstractSettingsApplication.st	Fri Feb 21 13:59:26 2020 +0100
@@ -854,10 +854,6 @@
 !
 
 modifiedChannel
-
-    modifiedChannel isNil ifTrue:[
-        modifiedChannel := false asValue.
-    ].
     ^ modifiedChannel
 ! !
 
@@ -1013,11 +1009,13 @@
     <modifier: #super> "must be called if redefined"
 
     super initialize.
+    modifiedChannel := false asValue.
     resources := self class classResources.
     currentUserPrefs isNil ifTrue:[ self initializeCurrentUserPreferences ].
     settingsString := (UISpecification from:(self class windowSpec)) window label.
     didModifySettings := false.
 
+
     "/ self readSettings.
 
     "Modified: / 08-02-2017 / 00:29:53 / cg"
@@ -2818,23 +2816,17 @@
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'actions'!
 
 basicReadSettings
-    self
-        readAspects:(self simpleAspects)
-        from:ParserFlags.
+    self readAspects:(self simpleAspects) from:ParserFlags.
 
     self constantFoldingSelection
         value:(self class constantFoldingOptions indexOf:Compiler foldConstants ifAbsent:3).
 
     self supportsJustInTimeCompilation ifTrue:[
-        self fullDebugSupport value:(ObjectMemory fullSingleStepSupport ? false)
+        self justInTimeCompilation value:(ObjectMemory justInTimeCompilation).
+        self fullDebugSupport value:(ObjectMemory fullSingleStepSupport).
     ] ifFalse:[
-        self fullDebugSupport value:(ParserFlags fullLineNumberInfo)
-    ].
-
-    self supportsJustInTimeCompilation ifTrue:[
-        self justInTimeCompilation value:(ObjectMemory justInTimeCompilation ? false)
-    ] ifFalse:[
-        self justInTimeCompilation value:false
+        self justInTimeCompilation value:false.
+        self fullDebugSupport value:(ParserFlags fullLineNumberInfo).
     ].
 
     self warnAboutMissingMethodComment value:(UserPreferences current enforceComment).
@@ -2847,9 +2839,7 @@
     
     extensionSettingsChanged := ParserFlags allowSqueakExtensions ~= self allowSqueakExtensions.   
 
-    self
-        writeAspects:(self simpleAspects)
-        to:ParserFlags.
+    self writeAspects:(self simpleAspects) to:ParserFlags.
 
     ParserFlags lineNumberInfo:(self fullDebugSupport value ifTrue:[#full] ifFalse:[true]).
 
@@ -2935,81 +2925,40 @@
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'aspects'!
 
 allowAssignmentToPoolVariable
-
-    allowAssignmentToPoolVariable isNil ifTrue:[
-        allowAssignmentToPoolVariable := ParserFlags allowAssignmentToPoolVariable asValue.
-        allowAssignmentToPoolVariable onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowAssignmentToPoolVariable.
 
     "Created: / 12-09-2011 / 17:26:01 / cg"
 !
 
 allowDollarInIdentifier
-
-    allowDollar isNil ifTrue:[
-        allowDollar := ParserFlags allowDollarInIdentifier asValue.
-        allowDollar onChangeSend:#updateModifiedChannel to:self.
-        allowDollar addDependent:self.
-    ].
     ^ allowDollar.
 !
 
 allowDolphinExtensions
-
-    allowDolphinExtensions isNil ifTrue:[
-        allowDolphinExtensions := ParserFlags allowDolphinExtensions asValue.
-        allowDolphinExtensions onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowDolphinExtensions.
 !
 
 allowEmptyStatements
-
-    allowEmptyStatements isNil ifTrue:[
-        allowEmptyStatements := ParserFlags allowEmptyStatements asValue.
-        allowEmptyStatements onChangeSend:#updateModifiedChannel to:self.
-        "/ allowEmptyStatements addDependent:self.
-    ].
     ^ allowEmptyStatements.
 
     "Created: / 20-11-2006 / 22:35:10 / cg"
 !
 
 allowExtendedBinarySelectors
-
-    allowExtendedBinarySelectors isNil ifTrue:[
-        allowExtendedBinarySelectors := (ParserFlags allowExtendedBinarySelectors ? false) asValue.
-        allowExtendedBinarySelectors onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowExtendedBinarySelectors.
 !
 
 allowFixedPointLiterals
-
-    allowFixedPointLiterals isNil ifTrue:[
-        allowFixedPointLiterals := (ParserFlags allowFixedPointLiterals ? false) asValue.
-        allowFixedPointLiterals onChangeSend:#updateModifiedChannel to:self.
-    ].
+    "holds true, if nnnsn (FixedPoint / ScaledDecimal) literals are allowed."
+
     ^ allowFixedPointLiterals.
 !
 
 allowOldStyleAssignment
-
-    allowOldStyleAssignment isNil ifTrue:[
-        allowOldStyleAssignment := ParserFlags allowOldStyleAssignment asValue.
-        allowOldStyleAssignment onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowOldStyleAssignment.
 !
 
 allowParagraphInIdentifier
-
-    allowParagraph isNil ifTrue:[
-        allowParagraph := ParserFlags allowParagraphInIdentifier asValue.
-        allowParagraph onChangeSend:#updateModifiedChannel to:self.
-        allowParagraph addDependent:self.
-    ].
     ^ allowParagraph.
 
     "Created: / 16-11-2016 / 22:38:18 / cg"
@@ -3018,10 +2967,6 @@
 allowQualifiedNames
     "true, if '#{..}' and 'namespace.varName' qualified names are allowed"
 
-    allowQualifiedNames isNil ifTrue:[
-        allowQualifiedNames := ParserFlags allowQualifiedNames asValue.
-        allowQualifiedNames onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowQualifiedNames.
 
     "Modified (comment): / 23-09-2018 / 01:08:42 / Claus Gittinger"
@@ -3031,10 +2976,6 @@
     "if true, 'self', 'super', 'thisContext', 'nil', 'true' and 'false' are allowed
      as unary message selectors."
 
-    allowReservedWordsAsSelectors isNil ifTrue:[
-        allowReservedWordsAsSelectors := ParserFlags allowReservedWordsAsSelectors asValue.
-        allowReservedWordsAsSelectors onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowReservedWordsAsSelectors.
 
     "Modified (comment): / 25-06-2019 / 11:16:36 / Claus Gittinger"
@@ -3042,49 +2983,24 @@
 
 allowSqueakExtensions
 
-    allowSqueakExtensions isNil ifTrue:[
-        allowSqueakExtensions := ParserFlags allowSqueakExtensions asValue.
-        allowSqueakExtensions onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowSqueakExtensions.
 !
 
 allowUnderscoreInIdentifier
-
-    allowUnderscore isNil ifTrue:[
-        allowUnderscore := ParserFlags allowUnderscoreInIdentifier asValue.
-        allowUnderscore onChangeSend:#updateModifiedChannel to:self.
-        allowUnderscore addDependent:self.
-    ].
     ^ allowUnderscore.
 !
 
 allowVisualAgeESSymbolLiterals
-
-    allowVisualAgeESSymbolLiterals isNil ifTrue:[
-        allowVisualAgeESSymbolLiterals := ParserFlags allowVisualAgeESSymbolLiterals asValue.
-        allowVisualAgeESSymbolLiterals onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowVisualAgeESSymbolLiterals.
 !
 
 allowVisualAgePrimitives
-
-    allowVisualAgePrimitives isNil ifTrue:[
-        allowVisualAgePrimitives := ParserFlags allowVisualAgePrimitives asValue.
-        allowVisualAgePrimitives onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ allowVisualAgePrimitives.
 
     "Created: / 07-02-2012 / 17:06:19 / cg"
 !
 
 arraysAreImmutable
-
-    immutableArrays isNil ifTrue:[
-        immutableArrays := ParserFlags arraysAreImmutable asValue.
-        immutableArrays onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ immutableArrays.
 !
 
@@ -3105,9 +3021,9 @@
 !
 
 constantFoldingSelection
+    | index |
 
     constantFoldingSelection isNil ifTrue:[
-        | index |
         index := self class constantFoldingOptions indexOf:Compiler foldConstants ifAbsent:3.
         constantFoldingSelection := index asValue.
         constantFoldingSelection onChangeSend:#updateModifiedChannel to:self.
@@ -3116,29 +3032,16 @@
 !
 
 enableDollar
-
-    enableDollar isNil ifTrue:[
-        enableDollar := true asValue.
-        enableDollar addDependent:self.
-    ].
     ^ enableDollar.
 !
 
 enableParagraph
-
-    enableParagraph isNil ifTrue:[
-        enableParagraph := true asValue.
-        enableParagraph addDependent:self.
-    ].
     ^ enableParagraph.
 
     "Created: / 16-11-2016 / 22:39:57 / cg"
 !
 
 enableUnderscore
-    enableUnderscore isNil ifTrue:[
-        enableUnderscore := true asValue.
-    ].
     ^ enableUnderscore.
 !
 
@@ -3171,141 +3074,72 @@
 !
 
 stringsAreImmutable
-
-    immutableStrings isNil ifTrue:[
-        immutableStrings := ParserFlags arraysAreImmutable asValue.
-        immutableStrings onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ immutableStrings.
 !
 
 warnAboutBadComments
-    warnAboutBadComments isNil ifTrue:[
-        warnAboutBadComments := ParserFlags warnAboutBadComments asValue.
-        warnAboutBadComments onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutBadComments.
 !
 
 warnAboutMissingMethodComment
-
-    warnAboutMissingMethodComment isNil ifTrue:[
-        warnAboutMissingMethodComment := UserPreferences current enforceComment asValue.
-        warnAboutMissingMethodComment onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutMissingMethodComment.
 
     "Created: / 17-07-2010 / 14:39:25 / cg"
 !
 
 warnAboutNonLowercaseLocalVariableNames
-    warnAboutNonLowercaseLocalVariableNames isNil ifTrue:[
-        warnAboutNonLowercaseLocalVariableNames := ParserFlags warnAboutNonLowercaseLocalVariableNames asValue.
-        warnAboutNonLowercaseLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutNonLowercaseLocalVariableNames.
 
     "Modified: / 22-10-2006 / 02:30:57 / cg"
 !
 
 warnAboutPossibleSTCCompilationProblems
-
-    warnAboutPossibleSTCCompilationProblems isNil ifTrue:[
-        warnAboutPossibleSTCCompilationProblems := ParserFlags warnAboutPossibleSTCCompilationProblems asValue.
-        warnAboutPossibleSTCCompilationProblems onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutPossibleSTCCompilationProblems.
 
     "Created: / 20-11-2006 / 22:41:07 / cg"
 !
 
 warnAboutPossiblyUnimplementedSelectors
-
-    warnAboutPossiblyUnimplementedSelectors isNil ifTrue:[
-        warnAboutPossiblyUnimplementedSelectors := ParserFlags warnAboutPossiblyUnimplementedSelectors asValue.
-        warnAboutPossiblyUnimplementedSelectors onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutPossiblyUnimplementedSelectors.
 
     "Created: / 20-11-2006 / 22:41:07 / cg"
 !
 
 warnAboutPossiblyUninitializedLocals
-
-    warnAboutPossiblyUninitializedLocals isNil ifTrue:[
-        warnAboutPossiblyUninitializedLocals := ParserFlags warnAboutPossiblyUninitializedLocals asValue.
-        warnAboutPossiblyUninitializedLocals onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutPossiblyUninitializedLocals.
 
     "Created: / 23-04-2019 / 23:16:25 / Claus Gittinger"
 !
 
 warnAboutReferenceToPrivateClass
-    warnAboutReferenceToPrivateClass isNil ifTrue:[
-        warnAboutReferenceToPrivateClass := ParserFlags warnAboutReferenceToPrivateClass asValue.
-        warnAboutReferenceToPrivateClass onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutReferenceToPrivateClass.
 !
 
 warnAboutShortLocalVariableNames
-    warnAboutShortLocalVariableNames isNil ifTrue:[
-        warnAboutShortLocalVariableNames := ParserFlags warnAboutShortLocalVariableNames asValue.
-        warnAboutShortLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutShortLocalVariableNames.
 !
 
 warnAboutWrongVariableNames
-    warnAboutWrongVariableNames isNil ifTrue:[
-        warnAboutWrongVariableNames := ParserFlags warnAboutWrongVariableNames asValue.
-        warnAboutWrongVariableNames onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnAboutWrongVariableNames.
 !
 
 warnCommonMistakes
-
-    warnCommonMistakes isNil ifTrue:[
-        warnCommonMistakes := ParserFlags warnCommonMistakes asValue.
-        warnCommonMistakes onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnCommonMistakes.
 !
 
 warnDollarInIdentifier
-
-    warnDollar isNil ifTrue:[
-        warnDollar := ParserFlags warnDollarInIdentifier asValue.
-        warnDollar onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnDollar.
 !
 
 warnInconsistentReturnValues
-    warnInconsistentReturnValues isNil ifTrue:[
-        warnInconsistentReturnValues := ParserFlags warnInconsistentReturnValues asValue.
-        warnInconsistentReturnValues onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnInconsistentReturnValues.
 !
 
 warnOldStyleAssignment
-
-    warnOldStyle isNil ifTrue:[
-        warnOldStyle := ParserFlags warnOldStyleAssignment asValue.
-        warnOldStyle onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnOldStyle.
 !
 
 warnPlausibilityChecks
-
-    warnPlausibilityChecks isNil ifTrue:[
-        warnPlausibilityChecks := ParserFlags warnPlausibilityChecks asValue.
-        warnPlausibilityChecks onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnPlausibilityChecks.
 
     "Created: / 19-01-2012 / 10:57:29 / cg"
@@ -3315,69 +3149,48 @@
     "holds true, if possible incompatibilities (with other ST systems)
      are to be warned about"
 
-    warnCompatibility isNil ifTrue:[
-        warnCompatibility := ParserFlags warnPossibleIncompatibilities asValue.
-        warnCompatibility onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnCompatibility.
 !
 
 warnSTXSpecials
-
-    warnSTX isNil ifTrue:[
-        warnSTX := ParserFlags warnSTXSpecials asValue.
-        warnSTX onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnSTX.
 !
 
 warnUnderscoreInIdentifier
-
-    warnUnderscore isNil ifTrue:[
-        warnUnderscore := ParserFlags warnUnderscoreInIdentifier asValue.
-        warnUnderscore onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnUnderscore.
 !
 
 warnUnusedVars
-
-    warnUnusedVars isNil ifTrue:[
-        warnUnusedVars := ParserFlags warnUnusedVars asValue.
-        warnUnusedVars onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnUnusedVars.
 !
 
 warnings
-
-    warnings isNil ifTrue:[
-        warnings := ParserFlags warnings asValue.
-        warnings addDependent:self.
-        warnings changed.
-        warnings onChangeSend:#updateModifiedChannel to:self.
-    ].
     ^ warnings.
 ! !
 
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'change & update'!
 
 update:something with:aParameter from:changedObject
+    |eUnderscore eDollar eParagraph|
+
     changedObject == self warnings ifTrue:[
         changedObject value ifTrue:[
-            self enableUnderscore value:self allowUnderscoreInIdentifier value.
-            self enableDollar value:self allowDollarInIdentifier value.
-            self enableParagraph value:self allowParagraphInIdentifier value.
+            eUnderscore := self allowUnderscoreInIdentifier value.
+            eDollar := self allowUnderscoreInIdentifier value.
+            eParagraph := self allowParagraphInIdentifier value.
         ] ifFalse:[
-            self enableUnderscore value:false.
-            self enableDollar value:false.
-            self enableParagraph value:false.
-        ].
+            eUnderscore := eDollar := eParagraph := false.
+        ].
+        self enableUnderscore value:eUnderscore.
+        self enableDollar value:eDollar.
+        self enableParagraph value:eParagraph.
         ^ self
     ].
-    (changedObject == self allowDollarInIdentifier 
-    or:[changedObject == self allowParagraphInIdentifier
-    or:[changedObject == self allowUnderscoreInIdentifier]]) ifTrue:[
+
+    (changedObject == allowDollar 
+      or:[changedObject == allowParagraph
+      or:[changedObject == allowUnderscore]]
+    ) ifTrue:[
         self warnings changed.
         ^ self
     ].
@@ -3393,6 +3206,131 @@
     ^ 'Launcher/compilerSettings.html'
 ! !
 
+!AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'initialization'!
+
+initialize
+    super initialize.
+
+    enableDollar := ValueHolder with:true.
+    enableDollar addDependent:self.
+
+    enableUnderscore := ValueHolder with:true.
+    enableUnderscore addDependent:self.
+
+    enableParagraph := ValueHolder with:true.
+    enableParagraph addDependent:self.
+
+    immutableStrings := ValueHolder with:(ParserFlags arraysAreImmutable).
+    immutableStrings onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutBadComments := ValueHolder with:(ParserFlags warnAboutBadComments).
+    warnAboutBadComments onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutMissingMethodComment := ValueHolder with:(UserPreferences current enforceComment).
+    warnAboutMissingMethodComment onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutNonLowercaseLocalVariableNames := ValueHolder with:(ParserFlags warnAboutNonLowercaseLocalVariableNames).
+    warnAboutNonLowercaseLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutPossibleSTCCompilationProblems := ValueHolder with:(ParserFlags warnAboutPossibleSTCCompilationProblems).
+    warnAboutPossibleSTCCompilationProblems onChangeSend:#updateModifiedChannel to:self.
+
+    allowDollar := ValueHolder with:(ParserFlags allowDollarInIdentifier).
+    allowDollar onChangeSend:#updateModifiedChannel to:self.
+    allowDollar addDependent:self.
+
+    allowFixedPointLiterals := ValueHolder with:(ParserFlags allowFixedPointLiterals).
+    allowFixedPointLiterals onChangeSend:#updateModifiedChannel to:self.
+
+    allowExtendedBinarySelectors := ValueHolder with:(ParserFlags allowExtendedBinarySelectors).
+    allowExtendedBinarySelectors onChangeSend:#updateModifiedChannel to:self.
+
+    allowAssignmentToPoolVariable := ValueHolder with:(ParserFlags allowAssignmentToPoolVariable).
+    allowAssignmentToPoolVariable onChangeSend:#updateModifiedChannel to:self.
+
+    allowDolphinExtensions := ValueHolder with:(ParserFlags allowDolphinExtensions).
+    allowDolphinExtensions onChangeSend:#updateModifiedChannel to:self.
+
+    allowEmptyStatements := ValueHolder with:(ParserFlags allowEmptyStatements).
+    allowEmptyStatements onChangeSend:#updateModifiedChannel to:self.
+
+    allowOldStyleAssignment := ValueHolder with:(ParserFlags allowOldStyleAssignment).
+    allowOldStyleAssignment onChangeSend:#updateModifiedChannel to:self.
+
+    allowParagraph := ValueHolder with:(ParserFlags allowParagraphInIdentifier).
+    allowParagraph onChangeSend:#updateModifiedChannel to:self.
+    allowParagraph addDependent:self.
+
+    allowQualifiedNames := ValueHolder with:(ParserFlags allowQualifiedNames).
+    allowQualifiedNames onChangeSend:#updateModifiedChannel to:self.
+
+    allowReservedWordsAsSelectors := ValueHolder with:(ParserFlags allowReservedWordsAsSelectors).
+    allowReservedWordsAsSelectors onChangeSend:#updateModifiedChannel to:self.
+
+    allowSqueakExtensions := ValueHolder with:(ParserFlags allowSqueakExtensions).
+    allowSqueakExtensions onChangeSend:#updateModifiedChannel to:self.
+
+    allowUnderscore := ValueHolder with:(ParserFlags allowUnderscoreInIdentifier).
+    allowUnderscore onChangeSend:#updateModifiedChannel to:self.
+    allowUnderscore addDependent:self.
+
+    allowVisualAgeESSymbolLiterals := ValueHolder with:(ParserFlags allowVisualAgeESSymbolLiterals).
+    allowVisualAgeESSymbolLiterals onChangeSend:#updateModifiedChannel to:self.
+
+    allowVisualAgePrimitives := ValueHolder with:(ParserFlags allowVisualAgePrimitives).
+    allowVisualAgePrimitives onChangeSend:#updateModifiedChannel to:self.
+
+    immutableArrays := ValueHolder with:(ParserFlags arraysAreImmutable).
+    immutableArrays onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutPossiblyUnimplementedSelectors := ValueHolder with:(ParserFlags warnAboutPossiblyUnimplementedSelectors).
+    warnAboutPossiblyUnimplementedSelectors onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutPossiblyUninitializedLocals := ValueHolder with:(ParserFlags warnAboutPossiblyUninitializedLocals).
+    warnAboutPossiblyUninitializedLocals onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutReferenceToPrivateClass := ValueHolder with:(ParserFlags warnAboutReferenceToPrivateClass).
+    warnAboutReferenceToPrivateClass onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutShortLocalVariableNames := ValueHolder with:(ParserFlags warnAboutShortLocalVariableNames).
+    warnAboutShortLocalVariableNames onChangeSend:#updateModifiedChannel to:self.
+
+    warnAboutWrongVariableNames := ValueHolder with:(ParserFlags warnAboutWrongVariableNames).
+    warnAboutWrongVariableNames onChangeSend:#updateModifiedChannel to:self.
+
+    warnCommonMistakes := ValueHolder with:(ParserFlags warnCommonMistakes).
+    warnCommonMistakes onChangeSend:#updateModifiedChannel to:self.
+
+    warnDollar := ValueHolder with:(ParserFlags warnDollarInIdentifier).
+    warnDollar onChangeSend:#updateModifiedChannel to:self.
+
+    warnInconsistentReturnValues := ValueHolder with:(ParserFlags warnInconsistentReturnValues).
+    warnInconsistentReturnValues onChangeSend:#updateModifiedChannel to:self.
+
+    warnOldStyle := ValueHolder with:(ParserFlags warnOldStyleAssignment).
+    warnOldStyle onChangeSend:#updateModifiedChannel to:self.
+
+    warnPlausibilityChecks := ValueHolder with:(ParserFlags warnPlausibilityChecks).
+    warnPlausibilityChecks onChangeSend:#updateModifiedChannel to:self.
+
+    warnCompatibility := ValueHolder with:(ParserFlags warnPossibleIncompatibilities).
+    warnCompatibility onChangeSend:#updateModifiedChannel to:self.
+
+    warnSTX := ValueHolder with:(ParserFlags warnSTXSpecials).
+    warnSTX onChangeSend:#updateModifiedChannel to:self.
+
+    warnUnderscore := ValueHolder with:(ParserFlags warnUnderscoreInIdentifier).
+    warnUnderscore onChangeSend:#updateModifiedChannel to:self.
+
+    warnUnusedVars := ValueHolder with:(ParserFlags warnUnusedVars).
+    warnUnusedVars onChangeSend:#updateModifiedChannel to:self.
+
+    warnings := ValueHolder with:(ParserFlags warnings).
+    warnings addDependent:self.
+    warnings changed.
+    warnings onChangeSend:#updateModifiedChannel to:self.
+! !
+
 !AbstractSettingsApplication::ByteCodeCompilerSettingsAppl methodsFor:'queries'!
 
 hasUnsavedChanges