--- a/ParserFlags.st Tue Feb 28 10:51:42 2012 +0100
+++ b/ParserFlags.st Tue Feb 28 13:36:31 2012 +0100
@@ -88,7 +88,8 @@
AllowStringEscapes AllowAssignmentToBlockArgument
AllowAssignmentToMethodArgument AllowAssignmentToPoolVariable
LibDirectory VCTop SDKTop BCCTop ForcedCompiler DefineForBorlandC
- DefineForVisualC DefineForMSVER DefineForMSC DefineForGNUC'
+ DefineForVisualC DefineForMSVER DefineForMSC DefineForGNUC
+ PerMethodFlags'
poolDictionaries:''
category:'System-Compiler'
!
@@ -215,6 +216,58 @@
"Created: / 3.8.1998 / 14:53:28 / cg"
! !
+!ParserFlags class methodsFor:'accessing-per method flags'!
+
+disable:flagName forClass:class selector:selector
+ |key ddd|
+
+ PerMethodFlags isNil ifTrue:[
+ PerMethodFlags := Dictionary new.
+ ].
+ key := class name, '>>',selector.
+self halt.
+
+ "Created: / 28-02-2012 / 13:00:50 / cg"
+!
+
+disableFlag:flagName forClass:class selector:selector
+ "remember that warnings named flagName (such as #warnUnusedVars)
+ are disabled for a particular method.
+ Sent if user wants to disable warnings in the future
+ (try defining a method with an unused var, to see)"
+
+ |key|
+
+ PerMethodFlags isNil ifTrue:[
+ PerMethodFlags := Dictionary new.
+ ].
+ key := class name, '>>',selector.
+ PerMethodFlags at:key put:false.
+
+ "Created: / 28-02-2012 / 12:57:45 / cg"
+!
+
+isFlag:flagName enabledForClass:class selector:selector
+ "return true, if warnings named flagName (such as #warnUnusedVars)
+ are to be suppressed disabled for a particular method."
+
+ |key|
+
+ PerMethodFlags isNil ifTrue:[^ true].
+ key := class name, '>>',selector.
+ ^ PerMethodFlags at:key ifAbsent:true.
+
+ "Created: / 28-02-2012 / 12:57:30 / cg"
+!
+
+reenableAllSuppressedFlags
+ "turn off any suppressed warnings"
+
+ PerMethodFlags := false
+
+ "Created: / 28-02-2012 / 12:59:08 / cg"
+! !
+
!ParserFlags class methodsFor:'accessing-stc compilation control'!
bccTop:aPath
@@ -285,6 +338,8 @@
linkSharedArgs:aString
LinkSharedArgs := aString
+
+ "Modified (format): / 28-02-2012 / 13:34:58 / cg"
!
makeCommand
@@ -2350,11 +2405,11 @@
!ParserFlags class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/ParserFlags.st,v 1.85 2012-01-31 11:13:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/ParserFlags.st,v 1.86 2012-02-28 12:36:31 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libcomp/ParserFlags.st,v 1.85 2012-01-31 11:13:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/ParserFlags.st,v 1.86 2012-02-28 12:36:31 cg Exp $'
! !
ParserFlags initialize!