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 |