equal
deleted
inserted
replaced
410 |
410 |
411 anyChange := false. |
411 anyChange := false. |
412 refetch := [:oldClass | |
412 refetch := [:oldClass | |
413 |nm cls newClass| |
413 |nm cls newClass| |
414 |
414 |
415 "/ Sign, special care has to be taken for Java classes as |
415 nm := oldClass name. |
416 "/ for them, !!!!!! (Smalltalk at: javaClass name) ~~ javaClass !!!!!! |
416 newClass := Smalltalk at:nm. |
417 nm := oldClass theNonMetaclass name. |
|
418 oldClass theNonMetaclass isJavaClass ifTrue:[ |
|
419 "/ Can't use JavaVM>>classNamed:definedBy: for Java classes because environment |
|
420 "/ could not be Java class. Do a full search instead, sigh... |
|
421 newClass := environment allClasses |
|
422 detect:[:each|each isJavaClass and:[each name == oldClass theNonMetaclass name and:[each classLoader == oldClass theNonMetaclass classLoader]]] |
|
423 ifNone:[nil]. |
|
424 ] ifFalse:[ |
|
425 newClass := Smalltalk at:nm |
|
426 ]. |
|
427 |
417 |
428 oldClass isMeta ifTrue:[ |
418 oldClass isMeta ifTrue:[ |
429 newClass isNil ifTrue:[ |
419 newClass isNil ifTrue:[ |
430 "/ Transcript showCR:'oops - browser lost class ' , nm. |
420 "/ Transcript showCR:'oops - browser lost class ' , nm. |
431 newClass := oldClass |
421 newClass := oldClass |