RGVariableDefinition.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
RGElementDefinition subclass:#RGVariableDefinition
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
RGVariableDefinition comment:'A variable definition'
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
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
!RGVariableDefinition methodsFor:'accessing'!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
environment
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 parent 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
fullName
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    "Keeps a unique description for the receiver. As annotation to avoid converting each time is invoked"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    ^self annotationNamed: self class fullNameKey
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
        ifAbsentPut:[ (self parentName, '->', self name) asSymbol ]
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
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!RGVariableDefinition methodsFor:'comparing'!
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
= aRGVariableDefinition
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    "This variable look for equality of the key properties of the receiver"
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    ^(super = aRGVariableDefinition)
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
        and:[ self name == aRGVariableDefinition name ]
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
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
hash
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    ^super hash bitXor: self name hash
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
! !
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
!RGVariableDefinition methodsFor:'testing'!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
isClassInstanceVariable
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    ^false
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
isClassVariable
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    ^false
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
isInstanceVariable
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    ^false
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
isPoolVariable
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    ^false
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
isVariable
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    ^true
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
! !
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
!RGVariableDefinition class methodsFor:'documentation'!
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
version_HG
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    ^ '$Changeset: <not expanded> $'
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
! !
43cb9f3e345e Initial port form Pharo
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77