src/JavaClassContentRef2.st
author vranyj1
Sun, 01 May 2011 12:52:23 +0000
branchjk_new_structure
changeset 761 43e017ec7958
parent 758 be8e84381ce0
child 771 fb8026dda011
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>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    35
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    36
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    37
nameAndType
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    38
^ nameAndType.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    39
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    40
    "Created: / 11-04-2011 / 19:57:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    41
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    42
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    43
selector
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    44
    ^ nameAndType selector.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    45
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    46
    "Created: / 11-04-2011 / 20:38:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    47
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    48
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    49
!JavaClassContentRef2 methodsFor:'comparing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    50
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    51
= anotherJavaRef
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    52
    "superclass JavaRef2 says that I am responsible to implement this method"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    53
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    54
    ^ self shouldImplement
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    55
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    56
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    57
hash
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    58
    "superclass JavaRef2 says that I am responsible to implement this method"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    59
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    60
    ^ self shouldImplement
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    61
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    62
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    63
!JavaClassContentRef2 methodsFor:'initialization'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    64
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    65
initializeNamedAndTyped: aNameAndType inClassIdentifiedByRef: aJavaClassRef 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    66
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    67
     classRef := aJavaClassRef.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    68
    nameAndType := aNameAndType.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    69
    
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    70
    super initialize.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    71
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    72
    "Modified: / 08-04-2011 / 15:07:27 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    73
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    74
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    75
!JavaClassContentRef2 methodsFor:'resolving'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    76
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    77
invalidate
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    78
classRef invalidate.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    79
super invalidate.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    80
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    81
    "Created: / 13-04-2011 / 12:21:38 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    82
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    83
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    84
invalidateForClass: internalJavaClassName 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    85
    "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
    86
     Return true, if reference was invalidated."
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    87
    
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    88
    (classRef invalidateForClass: internalJavaClassName) 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    89
        ifTrue: [ self invalidate. ^ true ].
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    90
        ^ false.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    91
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    92
    "Modified: / 08-04-2011 / 16:05:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    93
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    94
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    95
!JavaClassContentRef2 class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    96
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    97
version_SVN
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    98
    ^ '$Id$'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    99
! !
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   100
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
   101