ParserFlags.st
changeset 2829 c4b600d7f96d
parent 2805 5e2d20bbc77e
child 2830 9763658e0c0b
--- 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!