Class.st
changeset 12020 bf2165daff68
parent 12018 a24a9968fdf4
child 12044 0d31c1727d68
equal deleted inserted replaced
12019:4fb7ba173794 12020:bf2165daff68
   698     "
   698     "
   699 
   699 
   700     "Created: / 12-10-2006 / 15:49:32 / cg"
   700     "Created: / 12-10-2006 / 15:49:32 / cg"
   701 !
   701 !
   702 
   702 
   703 
       
   704 classFilename
   703 classFilename
   705     "return the name of the file from which the class was compiled.
   704     "return the name of the file from which the class was compiled.
   706      If the class was loaded via an explicit load (i.e. from the fileBrowser),
   705      If the class was loaded via an explicit load (i.e. from the fileBrowser),
   707      this will be an absolute path. Oherwise, it will be a basename only.
   706      this will be an absolute path. Oherwise, it will be a basename only.
   708      See classBaseFilename for a method which always returns the basename."
   707      See classBaseFilename for a method which always returns the basename."
   709 
   708 
   710     |owner info fn|
   709     |owner info fn|
   711 
   710 
   712     (owner := self owningClass) notNil ifTrue:[^ owner classFilename].
   711     (owner := self owningClass) notNil ifTrue:[^ owner classFilename].
       
   712 
       
   713     (SVN::CompatModeQuery notNil 
       
   714     and:[SVN::CompatModeQuery isLoaded 
       
   715     and:[(SVN::CompatModeQuery query ? true) not]])
       
   716         ifTrue:[^SVN::Repository containerNameForClass: self].
       
   717 
   713     classFilename notNil ifTrue:[ ^ classFilename ].
   718     classFilename notNil ifTrue:[ ^ classFilename ].
   714 
   719 
   715     (info := self revisionInfo) notNil ifTrue:[
   720     (info := self revisionInfo) notNil ifTrue:[
   716         fn := info fileName.
   721         fn := info fileName.
   717         fn notNil ifTrue:[
   722         fn notNil ifTrue:[
   719         ].
   724         ].
   720     ].
   725     ].
   721     ^ (Smalltalk fileNameForClass:self), '.st'
   726     ^ (Smalltalk fileNameForClass:self), '.st'
   722 
   727 
   723     "
   728     "
   724      Math::ClosedInterval classFilename
   729      SVN::Repository classFilename   
       
   730      Array classFilename 
   725     "
   731     "
   726 
   732 
   727     "Modified: / 22-10-2008 / 20:58:21 / cg"
   733     "Modified: / 22-10-2008 / 20:58:21 / cg"
       
   734     "Modified: / 13-08-2009 / 16:07:07 / Jan Vrany <vranyj1@fel.cvut.cz>"
   728 !
   735 !
   729 
   736 
   730 classPool
   737 classPool
   731     "return something which allows access to my classVariables via
   738     "return something which allows access to my classVariables via
   732      #at: and #at:put: messages."
   739      #at: and #at:put: messages."
  4807     name := aString
  4814     name := aString
  4808 
  4815 
  4809     "Created: 1.4.1997 / 15:46:01 / stefan"
  4816     "Created: 1.4.1997 / 15:46:01 / stefan"
  4810 ! !
  4817 ! !
  4811 
  4818 
       
  4819 !Class::ClassAttributes class methodsFor:'documentation'!
       
  4820 
       
  4821 documentation
       
  4822 "
       
  4823     Instances hold additional attributes of a class.
       
  4824     Currently, these are primitive definitions and sharedPools information.
       
  4825     As these are seldom needed, they are only present as object in some classes
       
  4826     thus saving us from mostly empty additional slots in the class object itself for most classes
       
  4827 "
       
  4828 ! !
       
  4829 
  4812 !Class::ClassAttributes methodsFor:'accessing'!
  4830 !Class::ClassAttributes methodsFor:'accessing'!
  4813 
  4831 
  4814 primitiveDefinitions
  4832 primitiveDefinitions
  4815     ^ primitiveDefinitions
  4833     ^ primitiveDefinitions
  4816 !
  4834 !
  4956 
  4974 
  4957 setClass:aClass
  4975 setClass:aClass
  4958     class := aClass
  4976     class := aClass
  4959 ! !
  4977 ! !
  4960 
  4978 
       
  4979 !Class::SimulatedClassPool::SimulatedVariableBinding class methodsFor:'documentation'!
       
  4980 
       
  4981 documentation
       
  4982 "
       
  4983     Instances are returned from the simulated classPool for VW compatibility.
       
  4984 "
       
  4985 ! !
       
  4986 
  4961 !Class::SimulatedClassPool::SimulatedVariableBinding methodsFor:'queries'!
  4987 !Class::SimulatedClassPool::SimulatedVariableBinding methodsFor:'queries'!
  4962 
  4988 
  4963 isVariableBinding
  4989 isVariableBinding
  4964      ^ true
  4990      ^ true
  4965 
  4991 
  4967 ! !
  4993 ! !
  4968 
  4994 
  4969 !Class class methodsFor:'documentation'!
  4995 !Class class methodsFor:'documentation'!
  4970 
  4996 
  4971 version
  4997 version
  4972     ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.547 2009-09-23 18:04:30 cg Exp $'
  4998     ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.548 2009-09-24 08:42:42 cg Exp $'
  4973 ! !
  4999 ! !