equal
deleted
inserted
replaced
299 "Modified: / 20-09-2014 / 19:21:11 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
299 "Modified: / 20-09-2014 / 19:21:11 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
300 ! ! |
300 ! ! |
301 |
301 |
302 !RBAbstractClass methodsFor:'accessing'! |
302 !RBAbstractClass methodsFor:'accessing'! |
303 |
303 |
|
304 owningClass |
|
305 "see Behavior >> owningClass" |
|
306 |
|
307 ^ self theMetaclass owningClass |
|
308 |
|
309 "Created: / 29-11-2014 / 13:17:10 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
310 ! ! |
|
311 |
|
312 !RBAbstractClass methodsFor:'accessing'! |
|
313 |
|
314 owningClass: aClass |
|
315 "Sets the owning class which is actually stored in the metaclass" |
|
316 |
|
317 self theMetaclass owningClass: aClass |
|
318 |
|
319 "Created: / 29-11-2014 / 13:21:00 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
320 ! ! |
|
321 |
|
322 !RBAbstractClass methodsFor:'queries'! |
|
323 |
|
324 owningClassOrYourself |
|
325 "see Behavior >> owningClassOrYourself" |
|
326 |
|
327 self owningClass notNil ifTrue:[^ self topOwningClass]. |
|
328 ^ self |
|
329 |
|
330 "Created: / 29-11-2014 / 13:44:45 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
331 ! ! |
|
332 |
|
333 !RBAbstractClass methodsFor:'accessing'! |
|
334 |
304 package |
335 package |
305 "see Class >> package ( same purpose, but for model class )" |
336 "see Class >> package ( same purpose, but for model class )" |
306 | package | |
337 | package | |
307 |
338 |
308 package := self objectAttributeAt: #package. |
339 package := self objectAttributeAt: #package. |
394 |
425 |
395 ^ self model |
426 ^ self model |
396 |
427 |
397 "Created: / 15-11-2014 / 17:26:50 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
428 "Created: / 15-11-2014 / 17:26:50 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
398 "Modified (comment): / 16-11-2014 / 16:58:00 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
429 "Modified (comment): / 16-11-2014 / 16:58:00 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
430 ! ! |
|
431 |
|
432 !RBAbstractClass methodsFor:'queries'! |
|
433 |
|
434 topOwningClass |
|
435 "see Behavior >> topOwningClass" |
|
436 |
|
437 ^ self theMetaclass topOwningClass |
|
438 |
|
439 "Created: / 29-11-2014 / 13:48:15 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
399 ! ! |
440 ! ! |
400 |
441 |
401 !RBAbstractClass methodsFor:'enumerating'! |
442 !RBAbstractClass methodsFor:'enumerating'! |
402 |
443 |
403 withAllSuperclassesDo:aBlock |
444 withAllSuperclassesDo:aBlock |
441 "Created: / 26-09-2014 / 16:50:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
482 "Created: / 26-09-2014 / 16:50:22 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
442 ! ! |
483 ! ! |
443 |
484 |
444 !RBMetaclass methodsFor:'accessing'! |
485 !RBMetaclass methodsFor:'accessing'! |
445 |
486 |
|
487 owningClass |
|
488 "see PrivateMetaclass >> owningClass" |
|
489 | owningClass | |
|
490 |
|
491 owningClass := self objectAttributeAt: #owningClass. |
|
492 owningClass isNil ifTrue: [ |
|
493 self realClass notNil ifTrue: [ |
|
494 ^ self model classFor: self realClass owningClass |
|
495 ] |
|
496 ]. |
|
497 |
|
498 ^ owningClass. |
|
499 |
|
500 "Created: / 29-11-2014 / 02:20:07 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
501 ! ! |
|
502 |
|
503 !RBMetaclass methodsFor:'accessing'! |
|
504 |
|
505 owningClass: aClass |
|
506 "see owningClass" |
|
507 |
|
508 self |
|
509 objectAttributeAt: #owningClass |
|
510 put: (self model classFor: aClass theNonMetaclass) |
|
511 |
|
512 "Created: / 29-11-2014 / 02:23:21 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
513 "Modified: / 29-11-2014 / 13:38:15 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
514 ! ! |
|
515 |
|
516 !RBMetaclass methodsFor:'accessing'! |
|
517 |
446 theMetaClass |
518 theMetaClass |
447 "alias for metaclass - sqeak compatibility" |
519 "alias for metaclass - sqeak compatibility" |
448 |
520 |
449 ^ self metaclass. |
521 ^ self metaclass. |
450 |
522 |
459 ^ self metaclass. |
531 ^ self metaclass. |
460 |
532 |
461 "Created: / 26-09-2014 / 21:28:37 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
533 "Created: / 26-09-2014 / 21:28:37 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
462 ! ! |
534 ! ! |
463 |
535 |
|
536 !RBMetaclass methodsFor:'queries'! |
|
537 |
|
538 topOwningClass |
|
539 "see PrivateMetaclass >> topOwningClass" |
|
540 | outerOwner | |
|
541 |
|
542 self owningClass isNil ifTrue:[^ nil]. |
|
543 |
|
544 (outerOwner := self owningClass owningClass) notNil ifTrue:[ |
|
545 ^ self owningClass topOwningClass |
|
546 ]. |
|
547 ^ self owningClass |
|
548 |
|
549 "Created: / 29-11-2014 / 13:52:30 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
550 ! ! |
|
551 |
464 !RBMethod methodsFor:'accessing'! |
552 !RBMethod methodsFor:'accessing'! |
465 |
553 |
466 category: aCategoryName |
554 category: aCategoryName |
467 "Sets in which category/protocol does the method belongs within a class" |
555 "Sets in which category/protocol does the method belongs within a class" |
468 |
556 |
489 |
577 |
490 ^ self modelClass compileMethod: self |
578 ^ self modelClass compileMethod: self |
491 |
579 |
492 "Created: / 06-10-2014 / 11:11:30 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
580 "Created: / 06-10-2014 / 11:11:30 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
493 "Modified: / 10-10-2014 / 12:28:06 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
581 "Modified: / 10-10-2014 / 12:28:06 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
|
582 ! ! |
|
583 |
|
584 !RBMethod methodsFor:'accessing'! |
|
585 |
|
586 mclass |
|
587 "see Method >> mclass |
|
588 Returns instace of RBClass, RBMetaclass or nil when unknown" |
|
589 |
|
590 ^ self modelClass |
|
591 |
|
592 "Created: / 27-11-2014 / 23:20:25 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
494 ! ! |
593 ! ! |
495 |
594 |
496 !RBMethod methodsFor:'accessing'! |
595 !RBMethod methodsFor:'accessing'! |
497 |
596 |
498 methodArgNames |
597 methodArgNames |