"{ Package: 'jv:tea/compiler' }"
"{ NameSpace: Smalltalk }"
TEnvironmentProvider subclass:#TFilesystemProvider
instanceVariableNames:'classpath'
classVariableNames:''
poolDictionaries:''
category:'Languages-Tea-Compiler-Model-Provider'
!
!TFilesystemProvider class methodsFor:'instance creation'!
new
"return an initialized instance"
^ self basicNew initialize.
! !
!TFilesystemProvider methodsFor:'accessing'!
classNamed:name
classpath do:[:each |
| classes |
classes := self classNamed:name from:each.
classes notEmptyOrNil ifTrue:[
^ classes.
]
].
^ nil
"Created: / 14-09-2015 / 15:08:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
classNamed:name from:classpathentry
| dir file unit |
dir := classpathentry asFilename.
dir isDirectory ifFalse:[
^ nil
].
file := dir / (name , '.tea').
file isReadable ifFalse:[
^ nil
].
unit := TSourceReader read:file.
^ unit classes detect:[:class | class name = name ] ifNone:[ nil ]
"Created: / 14-09-2015 / 15:10:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!TFilesystemProvider methodsFor:'initialization'!
initialize
classpath := OrderedCollection with: (Smalltalk packageDirectoryForPackageId: 'jv:tea') / 'libt'
"Modified: / 14-09-2015 / 15:06:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!TFilesystemProvider class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !