Method.st
changeset 23827 d9f5a3454db2
parent 23786 fee4d65305fd
child 23830 802fef671b06
equal deleted inserted replaced
23826:f122be17a8d0 23827:d9f5a3454db2
  1060     "Created: / 02-07-2010 / 22:33:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1060     "Created: / 02-07-2010 / 22:33:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1061     "Modified: / 11-07-2010 / 19:38:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1061     "Modified: / 11-07-2010 / 19:38:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1062     "Modified (format): / 18-11-2011 / 14:47:06 / cg"
  1062     "Modified (format): / 18-11-2011 / 14:47:06 / cg"
  1063 ! !
  1063 ! !
  1064 
  1064 
  1065 
       
  1066 !Method methodsFor:'accessing-visibility'!
  1065 !Method methodsFor:'accessing-visibility'!
  1067 
  1066 
  1068 isIgnored
  1067 isIgnored
  1069     "return true, if this is an ignored method.
  1068     "return true, if this is an ignored method.
  1070      Ignored methods are physically present in the source file,
  1069      Ignored methods are physically present in the source file,
  2571      Returns nil otherwise."
  2570      Returns nil otherwise."
  2572 
  2571 
  2573     |newMethod function|
  2572     |newMethod function|
  2574 
  2573 
  2575     (self
  2574     (self
  2576 	literalsDetect:[:lit |
  2575         literalsDetect:[:lit |
  2577 	    #(
  2576             #(
  2578 		#'invoke'
  2577                 #'invoke'
  2579 		#'invokeWith:'
  2578                 #'invokeWith:'
  2580 		#'invokeWith:with:'
  2579                 #'invokeWith:with:'
  2581 		#'invokeWith:with:with:'
  2580                 #'invokeWith:with:with:'
  2582 		#'invokeWith:with:with:with:'
  2581                 #'invokeWith:with:with:with:'
  2583 		#'invokeWithArguments:'
  2582                 #'invokeWithArguments:'
  2584 		#'invokeCPPVirtualOn:'
  2583                 #'invokeCPPVirtualOn:'
  2585 		#'invokeCPPVirtualOn:with:'
  2584                 #'invokeCPPVirtualOn:with:'
  2586 		#'invokeCPPVirtualOn:with:with:'
  2585                 #'invokeCPPVirtualOn:with:with:'
  2587 		#'invokeCPPVirtualOn:with:with:with:'
  2586                 #'invokeCPPVirtualOn:with:with:with:'
  2588 		#'invokeCPPVirtualOn:with:with:with:with:'
  2587                 #'invokeCPPVirtualOn:with:with:with:with:'
  2589 		#'invokeCPPVirtualOn:withArguments:'
  2588                 #'invokeCPPVirtualOn:withArguments:'
  2590 	    ) includes:lit
  2589                 #'invokeObjCOn:'
  2591 	]
  2590                 #'invokeObjCOn:with:'
  2592 	ifNone:nil) notNil
  2591                 #'invokeObjCOn:with:with:'
       
  2592                 #'invokeObjCOn:with:with:with:'
       
  2593                 #'invokeObjCOn:with:with:with:with:'
       
  2594                 #'invokeObjCOn:withArguments:'
       
  2595             ) includes:lit
       
  2596         ]
       
  2597         ifNone:nil) notNil
  2593     ifTrue:[
  2598     ifTrue:[
  2594 	"/ sigh - for stc-compiled code, this does not work:
  2599         "/ sigh - for stc-compiled code, this does not work:
  2595 	function := self literalsDetect:[:lit | lit isExternalLibraryFunction] ifNone:nil.
  2600         function := self literalsDetect:[:lit | lit isExternalLibraryFunction] ifNone:nil.
  2596 	function isNil ifTrue:[
  2601         function isNil ifTrue:[
  2597 	    "/ parse it and ask the parser
  2602             "/ parse it and ask the parser
  2598 	    newMethod := Compiler compile:self source forClass:self mclass install:false.
  2603             newMethod := Compiler compile:self source forClass:self mclass install:false.
  2599 	    function := newMethod literalsDetect:[:lit | lit isExternalLibraryFunction] ifNone:nil.
  2604             function := newMethod literalsDetect:[:lit | lit isExternalLibraryFunction] ifNone:nil.
  2600 	].
  2605         ].
  2601 	^ function
  2606         ^ function
  2602     ].
  2607     ].
  2603     ^ nil
  2608     ^ nil
  2604 
  2609 
  2605     "
  2610     "
  2606      (IDispatchPointer compiledMethodAt:#'invokeGetTypeInfo:_:_:')
  2611      (IDispatchPointer compiledMethodAt:#'invokeGetTypeInfo:_:_:')
  2607 	externalLibraryFunction
  2612         externalLibraryFunction
  2608     "
  2613     "
       
  2614 
       
  2615     "Modified: / 04-03-2019 / 09:34:46 / Claus Gittinger"
  2609 !
  2616 !
  2610 
  2617 
  2611 hasAnnotation
  2618 hasAnnotation
  2612     "Return true iff the method has any annotation"
  2619     "Return true iff the method has any annotation"
  2613 
  2620 
  3817     ^ modifiedInstVars includes:instVarName.
  3824     ^ modifiedInstVars includes:instVarName.
  3818 
  3825 
  3819     "Created: / 23-07-2012 / 11:16:36 / cg"
  3826     "Created: / 23-07-2012 / 11:16:36 / cg"
  3820 ! !
  3827 ! !
  3821 
  3828 
  3822 
       
  3823 !Method methodsFor:'source management'!
  3829 !Method methodsFor:'source management'!
  3824 
  3830 
  3825 revisionInfo
  3831 revisionInfo
  3826     "cg: is this correct for extensions? (shouldn't this be the revisionInfo from the extensions container?)"
  3832     "cg: is this correct for extensions? (shouldn't this be the revisionInfo from the extensions container?)"
  3827 
  3833