JavaUnresolvedNameandTypeConstant.st
author cg
Fri, 07 Feb 1997 20:37:59 +0000
changeset 135 098936234135
parent 93 2b1e50b70bb1
child 454 38f590639d65
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
083530508d9c intitial checkin
cg
parents:
diff changeset
     1
JavaUnresolvedConstant subclass:#JavaUnresolvedNameandTypeConstant
90
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
     2
	instanceVariableNames:'nameIndex signatureIndex'
1
083530508d9c intitial checkin
cg
parents:
diff changeset
     3
	classVariableNames:''
083530508d9c intitial checkin
cg
parents:
diff changeset
     4
	poolDictionaries:''
083530508d9c intitial checkin
cg
parents:
diff changeset
     5
	category:'Java-Reader-Support'
083530508d9c intitial checkin
cg
parents:
diff changeset
     6
!
083530508d9c intitial checkin
cg
parents:
diff changeset
     7
083530508d9c intitial checkin
cg
parents:
diff changeset
     8
135
098936234135 *** empty log message ***
cg
parents: 93
diff changeset
     9
!JavaUnresolvedNameandTypeConstant class methodsFor:'instance creation'!
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    10
90
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    11
pool:aPool poolIndex:slotIndex nameIndex:name_index signatureIndex:signature_index
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    12
    ^ self new
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    13
        pool:aPool poolIndex:slotIndex nameIndex:name_index signatureIndex:signature_index
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    14
! !
083530508d9c intitial checkin
cg
parents:
diff changeset
    15
083530508d9c intitial checkin
cg
parents:
diff changeset
    16
!JavaUnresolvedNameandTypeConstant methodsFor:'accessing'!
083530508d9c intitial checkin
cg
parents:
diff changeset
    17
90
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    18
pool:aPool poolIndex:slotIndex nameIndex:name_index signatureIndex:signature_index 
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    19
    constantPool := aPool.
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    20
    constantPoolIndex := slotIndex.
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    21
    nameIndex := name_index.
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    22
    signatureIndex := signature_index
083530508d9c intitial checkin
cg
parents:
diff changeset
    23
083530508d9c intitial checkin
cg
parents:
diff changeset
    24
    "Created: 15.4.1996 / 16:14:39 / cg"
083530508d9c intitial checkin
cg
parents:
diff changeset
    25
! !
083530508d9c intitial checkin
cg
parents:
diff changeset
    26
083530508d9c intitial checkin
cg
parents:
diff changeset
    27
!JavaUnresolvedNameandTypeConstant methodsFor:'resolving'!
083530508d9c intitial checkin
cg
parents:
diff changeset
    28
90
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    29
preResolve
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    30
    |name signature ref|
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    31
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    32
    name := (constantPool at:nameIndex).
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    33
    name isString ifFalse:[
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    34
        name := name preResolve.
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    35
    ].
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    36
    signature := (constantPool at:signatureIndex).
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    37
    signature isString ifFalse:[
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    38
        signature := signature preResolve.
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    39
    ].
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    40
    (name isString and:[signature isString]) ifTrue:[
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    41
        ref := JavaNameandType name:name signature:signature.
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    42
        constantPool at:constantPoolIndex put:ref.
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    43
        ^ ref
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    44
    ].
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    45
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    46
    self halt:'should be resolvable'.
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    47
    ^ self
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    48
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    49
    "Created: 15.4.1996 / 16:15:53 / cg"
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    50
    "Modified: 15.4.1996 / 16:27:33 / cg"
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    51
! !
918e2740098c resolve rewritten
cg
parents: 1
diff changeset
    52
135
098936234135 *** empty log message ***
cg
parents: 93
diff changeset
    53
!JavaUnresolvedNameandTypeConstant class methodsFor:'documentation'!
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    54
083530508d9c intitial checkin
cg
parents:
diff changeset
    55
version
135
098936234135 *** empty log message ***
cg
parents: 93
diff changeset
    56
    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedNameandTypeConstant.st,v 1.4 1997/02/07 20:35:46 cg Exp $'
1
083530508d9c intitial checkin
cg
parents:
diff changeset
    57
! !