src/JavaClassContentRef2.st
author vranyj1
Sat, 09 Apr 2011 11:33:24 +0000
branchjk_new_structure
changeset 758 be8e84381ce0
parent 752 ff7bc6428c9c
child 761 43e017ec7958
permissions -rw-r--r--
Merged with /branches/jk
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
JavaRef2 subclass:#JavaClassContentRef2
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
     4
	instanceVariableNames:'classRef nameAndType'
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
!JavaClassContentRef2 class methodsFor:'instance creation'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    12
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    13
namedAndTyped:arg1  inClassIdentifiedByRef:arg2
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    14
    "Create & return a new instance for arg."
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    15
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    16
    ^ self basicNew initializeNamedAndTyped:arg1  inClassIdentifiedByRef:arg2
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    17
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    18
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    19
!JavaClassContentRef2 methodsFor:'accessing'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    20
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    21
classRef
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    22
    ^ classRef
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    23
!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    24
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    25
descriptor
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    26
    ^ nameAndType descriptor.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    27
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    28
    "Created: / 08-04-2011 / 15:08:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    29
!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    30
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    31
name
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    32
    ^ nameAndType name.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    33
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    34
    "Created: / 08-04-2011 / 13:54:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    35
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    36
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    37
!JavaClassContentRef2 methodsFor:'comparing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    38
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    39
= anotherJavaRef
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    40
    "superclass JavaRef2 says that I am responsible to implement this method"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    41
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    42
    ^ self shouldImplement
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    43
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    44
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    45
hash
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    46
    "superclass JavaRef2 says that I am responsible to implement this method"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    47
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    48
    ^ self shouldImplement
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    49
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    50
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    51
!JavaClassContentRef2 methodsFor:'initialization'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    52
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    53
initializeNamedAndTyped: aNameAndType inClassIdentifiedByRef: aJavaClassRef 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    54
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    55
     classRef := aJavaClassRef.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    56
    nameAndType := aNameAndType.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    57
    
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    58
    super initialize.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    59
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    60
    "Modified: / 08-04-2011 / 15:07:27 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    61
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    62
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    63
!JavaClassContentRef2 methodsFor:'resolving'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    64
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    65
invalidateForClass: internalJavaClassName 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    66
    "Invalidate (means call invalidate) reference if it has something to do with given class (e.g Class named internalJavaClassName was unloaded).
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    67
     Return true, if reference was invalidated."
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    68
    
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    69
    (classRef invalidateForClass: internalJavaClassName) 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    70
        ifTrue: [ self invalidate. ^ true ].
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    71
        ^ false.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    72
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    73
    "Modified: / 08-04-2011 / 16:05:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    74
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    75
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    76
!JavaClassContentRef2 class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    77
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    78
version_SVN
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    79
    ^ '$Id$'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    80
! !
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    81