RGGlobalDefinition.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 02 Sep 2015 18:29:03 +0100
changeset 5 5cc2caa88b23
parent 0 43cb9f3e345e
permissions -rw-r--r--
SOme fixes in containes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/ring' }"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
RGDefinition subclass:#RGGlobalDefinition
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Ring-Core-Kernel'
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
RGGlobalDefinition comment:'An RGGlobalDefinition is an abstract superclass for representing classes, global variables and shared pools
'
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
!RGGlobalDefinition methodsFor:'accessing'!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
parent
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    "Retrieves the namespace in which the receiver is known"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    ^self environment
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
! !
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!RGGlobalDefinition methodsFor:'comparing'!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
= aRGGlobalDefinition
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    "This method look for equality of the properties of the receiver"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    "Verifies the class and the name of the receiver"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    ^self class = aRGGlobalDefinition class
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
        and:[ self name == aRGGlobalDefinition name ]
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
hash
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    "Hash is re-implemented because #= is re-implemented"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    ^self class hash bitXor: (self name hash)
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
! !
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38