loadClasses
author cg
Tue, 09 Nov 1999 09:25:25 +0000
changeset 616 53bf2ec50346
parent 613 53fdc6cd4847
child 617 4c7ad880c405
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
616
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
     1
"{ package:'detemobil:ftam' }"
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
     2
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
     3
|files|
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
     4
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
     5
'loading package stx:libjava ...' printCR.
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
     6
553
277a6b22db83 *** empty log message ***
cg
parents: 506
diff changeset
     7
Scanner allowDollarInIdentifier:true.
277a6b22db83 *** empty log message ***
cg
parents: 506
diff changeset
     8
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
     9
"/
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    10
"/ base system
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    11
"/
553
277a6b22db83 *** empty log message ***
cg
parents: 506
diff changeset
    12
616
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    13
files := #(
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    14
	'Java'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    15
	'JavaVM'
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    16
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    17
	'JavaConstantPool'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    18
	'JavaSlotIndexCache'
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    19
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    20
	'JavaObject'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    21
	'JavaClass'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    22
	'JavaMethod'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    23
	'JavaMethodWithException'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    24
	'JavaMethodWithHandler'
613
53fdc6cd4847 *** empty log message ***
cg
parents: 598
diff changeset
    25
	'JavaNativeMethod'
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    26
	'JavaContext'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    27
	'JavaProcess'
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    28
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    29
	'JavaClassReader'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    30
	'JavaDecompiler'
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    31
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    32
	'JavaExceptionTableEntry'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    33
	'JavaLocalVariableTable'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    34
	'JavaLocalVariableTableEntry'
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    35
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    36
	'JavaRef'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    37
	'JavaClassRef'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    38
	'JavaField'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    39
	'JavaFieldref'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    40
	'JavaMethodref'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    41
	'JavaInterfaceMethodref'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    42
	'JavaNameandType'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    43
	'JavaClassPointerRef'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    44
	'JavaBuiltInClassPointerRef'
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    45
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    46
	'JavaUnresolvedConstant'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    47
	'JavaUnresolvedRefConstant'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    48
	'JavaUnresolvedClassConstant'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    49
	'JavaUnresolvedFieldrefConstant'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    50
	'JavaUnresolvedMethodrefConstant'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    51
	'JavaUnresolvedInterfaceMethodrefConstant'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    52
	'JavaUnresolvedNameandTypeConstant'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    53
	'JavaUnresolvedStringConstant'
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    54
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    55
	'JavaView'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    56
	'JavaTopView'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    57
	'JavaPopUpView'
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    58
	'JavaEmbeddedFrameView'
490
3ff1af4c07f3 *** empty log message ***
cg
parents: 458
diff changeset
    59
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 490
diff changeset
    60
	'JavaDeparser'   
616
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    61
).
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    62
616
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    63
(Smalltalk loadClassLibraryIfAbsent:'libjava') ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    64
    |handle loaded|
598
ef5f49d41d02 *** empty log message ***
cg
parents: 574
diff changeset
    65
616
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    66
    loaded := OrderedCollection new.
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    67
    handle := ObjectFileLoader loadedObjectHandles 
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    68
		detect:[:h | |cls|
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    69
		    cls := h classes firstIfEmpty:nil.
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    70
		    cls notNil and:[cls package = 'stx:libjava']
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    71
		]
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    72
		ifNone:nil.
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    73
    handle notNil ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    74
	handle classes do:[:c| c isMeta ifFalse:[loaded add:c classFilename]].
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    75
    ].
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    76
    files := files asOrderedCollection.
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    77
    loaded do:[:f| files remove:f ifAbsent:[]].
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    78
].
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    79
616
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    80
files size > 0 ifTrue:[
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    81
  files do:[:s|
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    82
    '.' print.
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    83
    Smalltalk fileIn:s.
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    84
  ].
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    85
  ' ' printCR.
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    86
].
616
53bf2ec50346 *** empty log message ***
cg
parents: 613
diff changeset
    87
'done.' printCR.
458
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    88
!
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    89
8d965d791b0a *** empty log message ***
cg
parents:
diff changeset
    90