src/JavaMethodRef2.st
author hlopkmar
Wed, 18 May 2011 10:45:12 +0000
branchjk_new_structure
changeset 794 9635f32d1723
parent 772 0f92c23b80ee
child 850 160c389771a6
permissions -rw-r--r--
implemented deeper caching in new resolving refs to help keeping C-code lean and clean
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     1
"{ Package: 'stx:libjava' }"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     3
JavaClassContentRef2 subclass:#JavaMethodRef2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     4
	instanceVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     5
	classVariableNames:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     6
	poolDictionaries:''
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     7
	category:'Languages-Java-Reader-Support-new'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     8
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     9
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    10
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    11
!JavaMethodRef2 methodsFor:'private - resolving'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    12
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    13
findResolvedStaticValue
794
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    14
    valueCache := JavaResolver uniqueInstance 
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    15
                resolveStaticMethodIndentifiedByRef: self.
794
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    16
    classCache := (constantPool at: classRefIndex) resolve.
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    17
    classCache ifNil: [ self breakPoint: #mh ].
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    18
    nameAndTypeCache := (constantPool at: nameAndTypeIndex) resolve.
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    19
    nameAndTypeCache ifNil: [self breakPoint: #mh].
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    20
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    21
    "Created: / 28-04-2011 / 22:45:53 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
794
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    22
    "Modified: / 18-05-2011 / 12:44:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    23
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    24
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    25
findResolvedValue
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    26
    "Resolve reference and set valueCache."
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    27
    
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    28
    valueCache := JavaResolver uniqueInstance 
794
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    29
                resolveMethodIndentifiedByRef: self.
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    30
    classCache := (constantPool at: classRefIndex) resolve.
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    31
    classCache ifNil: [ self breakPoint: #mh ].
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    32
    nameAndTypeCache := (constantPool at: nameAndTypeIndex) resolve.
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    33
   nameAndTypeCache ifNil: [self breakPoint: #mh].
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    34
794
9635f32d1723 implemented deeper caching in new resolving refs to help keeping C-code lean and clean
hlopkmar
parents: 772
diff changeset
    35
    "Modified: / 18-05-2011 / 12:44:07 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    36
! !
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    37
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    38
!JavaMethodRef2 methodsFor:'queries'!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    39
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    40
isJavaMethodRef
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    41
^ true.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    42
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    43
    "Created: / 11-04-2011 / 19:56:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    44
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    45
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    46
!JavaMethodRef2 class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    47
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    48
version_SVN
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    49
    ^ '$Id$'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    50
! !