SmallSenseClassType.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 30 Jul 2013 23:34:56 +0100
changeset 45 408d060b005e
parent 32 658f47bc231e
permissions -rw-r--r--
Fix in completion class vars and pools for class-side methods.

"{ Package: 'jv:smallsense' }"

SmallSenseType subclass:#SmallSenseClassType
	instanceVariableNames:'trustfullness klass'
	classVariableNames:''
	poolDictionaries:''
	category:'SmallSense-Types'
!


!SmallSenseClassType methodsFor:'accessing'!

klass
    ^ klass
!

klass:aClass
    klass := aClass.

    "Some manual trustfullness tweaks"

    klass == Object ifTrue:[
        self trustfullnessAdd: -10. 
    ]

    "Modified: / 17-05-2012 / 19:59:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

trustfullness
    ^ trustfullness ? 20

    "Modified: / 17-05-2012 / 19:35:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

trustfullness:something
    trustfullness := something min: 100.

    "Modified: / 17-05-2012 / 19:46:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!SmallSenseClassType methodsFor:'comparing'!

= another

    ^self class == another class 
        and:[klass == another klass]

    "Modified: / 16-12-2011 / 13:38:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

hash

    ^ klass hash

    "Modified: / 16-12-2011 / 13:38:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!SmallSenseClassType methodsFor:'enumerating'!

classesDo:aBlock
    "Enumerate all classes that this type represents"

    ^ aBlock value: klass

    "Modified: / 16-12-2011 / 13:33:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!SmallSenseClassType methodsFor:'operations'!

classSide
    "superclass SmallSenseType says that I am responsible to implement this method"

    ^ self class new klass: klass class

    "Modified: / 16-12-2011 / 13:21:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

instanceSide
    "superclass SmallSenseType says that I am responsible to implement this method"

    ^ self class new klass: klass theNonMetaclass

    "Modified: / 16-12-2011 / 13:23:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!SmallSenseClassType methodsFor:'printing & storing'!

printWithoutAnglesOn:aStream
    "superclass SmallSenseType says that I am responsible to implement this method"

    klass printOn: aStream

    "Modified: / 16-12-2011 / 01:54:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!SmallSenseClassType methodsFor:'testing'!

isClassType

    ^true

    "Created: / 16-12-2011 / 02:00:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!SmallSenseClassType class methodsFor:'documentation'!

version_HG

    ^ '$Changeset: <not expanded> $'
!

version_SVN
    ^ '$Id: SmallSenseClassType.st 8000 2012-05-17 23:16:11Z vranyj1 $'
! !