Java.st
branchdevelopment
changeset 2588 58b1e0fd20e7
parent 2578 fc6186a4961f
child 2677 17b4e18678ae
equal deleted inserted replaced
2584:af1783f58d87 2588:58b1e0fd20e7
   213 initAllClasses
   213 initAllClasses
   214     | system |
   214     | system |
   215 
   215 
   216     FailedToLoadClasses := nil.
   216     FailedToLoadClasses := nil.
   217     self initAllStaticFields.
   217     self initAllStaticFields.
   218     system := JavaVM classForName: 'java.lang.System'.
   218     system := JavaVM classForName:'java.lang.System' definedBy:nil.
   219     system isInitialized ifFalse: [ self initSystemClass. ].
   219     system isInitialized ifFalse: [ self initSystemClass. ].
   220     self allClassesDo: [:cls | cls isInitialized ifFalse: [ cls classInit ] ]
   220     self allClassesDo: [:cls | cls isInitialized ifFalse: [ cls classInit ] ]
   221 
   221 
   222     "
   222     "
   223      Java initAllClasses"
   223      Java initAllClasses"
   232 !
   232 !
   233 
   233 
   234 initSystemClass
   234 initSystemClass
   235     | system |
   235     | system |
   236 
   236 
   237     system := JavaVM classForName: 'java.lang.System'.
   237     system := JavaVM classForName:'java.lang.System' definedBy:nil.
   238     system isNil ifTrue: [
   238     system isNil ifTrue: [
   239 	"/        JavaVM initializeVM.
   239 	"/        JavaVM initializeVM.
   240 	"/        system := Java at:'java.lang.System'.
   240 	"/        system := Java at:'java.lang.System'.
   241 	"/        system isNil ifTrue:[
   241 	"/        system isNil ifTrue:[
   242 	self warn: 'JavaVM: no ''' , 'java.lang.System' allBold , ''' class.'.
   242 	self warn: 'JavaVM: no ''' , 'java.lang.System' allBold , ''' class.'.
   607     "given a smalltalk dictionary, create and return
   607     "given a smalltalk dictionary, create and return
   608      a Java hashTable for it"
   608      a Java hashTable for it"
   609 
   609 
   610     | hashTable |
   610     | hashTable |
   611 
   611 
   612     hashTable := (JavaVM classForName: 'java.util.Hashtable') new.
   612     hashTable := (JavaVM classForName:'java.util.Hashtable' definedBy:nil) new.
   613     aDictionary
   613     aDictionary
   614 	keysAndValuesDo: [
   614 	keysAndValuesDo: [
   615 	    :k :v |
   615 	    :k :v |
   616 	    | sk  sv  jk  jv |
   616 	    | sk  sv  jk  jv |
   617 
   617 
   974     JavaVM booted ifFalse: [ ^ self ].
   974     JavaVM booted ifFalse: [ ^ self ].
   975 
   975 
   976     scl := JavaVM systemClassLoader.
   976     scl := JavaVM systemClassLoader.
   977     scl isNil ifTrue:[ ^self ].
   977     scl isNil ifTrue:[ ^self ].
   978 
   978 
   979     urls := (Java classForName:'java.net.URL') javaArrayClass new: classPath size.
   979     urls := (JavaVM classForName:'java.net.URL' definedBy:nil) javaArrayClass new: classPath size.
   980     classPath withIndexDo:[:element :index|
   980     classPath withIndexDo:[:element :index|
   981 	| path file url |
   981         | path file url |
   982 	path := Java as_String: element pathName.
   982         path := Java as_String: element pathName.
   983 	file := ((JavaVM at: 'java.io.File') new)
   983         file := ((JavaVM at: 'java.io.File') new)
   984 		perform: #'<init>(Ljava/lang/String;)V' with: path;
   984                 perform: #'<init>(Ljava/lang/String;)V' with: path;
   985 		yourself.
   985                 yourself.
   986 	url := file perform: #'toURL()Ljava/net/URL;'.
   986         url := file perform: #'toURL()Ljava/net/URL;'.
   987 	urls at: index put: url
   987         urls at: index put: url
   988     ].
   988     ].
   989     ucp := (Java classForName:'sun.misc.URLClassPath') new.
   989     ucp := (Java classForName:'sun.misc.URLClassPath') new.
   990     ucp perform: #'<init>([Ljava/net/URL;)V' with: urls.
   990     ucp perform: #'<init>([Ljava/net/URL;)V' with: urls.
   991     scl instVarNamed: #ucp put: ucp.
   991     scl instVarNamed: #ucp put: ucp.
   992 
   992 
   993     "Created: / 02-08-2012 / 16:04:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   993     "Created: / 02-08-2012 / 16:04:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   994     "Modified: / 07-05-2013 / 11:20:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   994 !
   995 !
   995 
   996 
   996 effectiveExtensionsPathForRelease: aRelease
   997 effectiveExtensionsPathForRelease: aRelease
   997 
   998 
   998     ^ (ExtensionsPath ? #()) ,
   999     ^ (ExtensionsPath ? #()) ,