src/JavaClassContentRef2.st
author hlopkmar
Tue, 10 May 2011 22:04:56 +0000
branchjk_new_structure
changeset 772 0f92c23b80ee
parent 771 fb8026dda011
child 777 e6e61412ae43
permissions -rw-r--r--
testing new project structure + fixing tiny litle bug which caused java not to work at all :)
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
771
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    13
in: aJavaConstantPool namedAndTyped: arg1 inClassIdentifiedByRef: arg2 
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    14
    "Create & return a new instance for arg."
771
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    15
    
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    16
    ^ self basicNew initializeIn: aJavaConstantPool namedAndTyped: arg1 inClassIdentifiedByRef: arg2
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    17
771
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    18
    "Created: / 10-05-2011 / 16:18:07 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    19
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    20
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    21
!JavaClassContentRef2 methodsFor:'accessing'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    22
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    23
classRef
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    24
    ^ classRef
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    25
!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    26
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    27
descriptor
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    28
    ^ nameAndType descriptor.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    29
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    30
    "Created: / 08-04-2011 / 15:08:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    31
!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    32
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    33
name
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    34
    ^ nameAndType name.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    35
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    36
    "Created: / 08-04-2011 / 13:54:28 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    37
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    38
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    39
nameAndType
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    40
^ nameAndType.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    41
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    42
    "Created: / 11-04-2011 / 19:57:16 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    43
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    44
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    45
selector
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    46
    ^ nameAndType selector.
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    47
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    48
    "Created: / 11-04-2011 / 20:38:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    49
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    50
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    51
!JavaClassContentRef2 methodsFor:'comparing'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    52
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    53
= anotherJavaRef
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    54
    "superclass JavaRef2 says that I am responsible to implement this method"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    55
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    56
    ^ self shouldImplement
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    57
!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    58
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    59
hash
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    60
    "superclass JavaRef2 says that I am responsible to implement this method"
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    61
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    62
    ^ self shouldImplement
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    63
! !
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
    64
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    65
!JavaClassContentRef2 methodsFor:'initialization'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    66
771
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    67
initializeIn: aJavaConstantPool namedAndTyped: aNameAndType inClassIdentifiedByRef: aJavaClassRef 
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    68
constantPool := aJavaConstantPool.    
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    69
classRef := aJavaClassRef.
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    70
    nameAndType := aNameAndType.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    71
    super initialize.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    72
771
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    73
    "Created: / 10-05-2011 / 16:18:34 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    74
! !
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    75
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    76
!JavaClassContentRef2 methodsFor:'printing'!
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    77
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    78
printString
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    79
    ^ 'JavaClassContentRef: class=[' , classRef printString , '] name=[' 
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    80
        , nameAndType printString , ']'.
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    81
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    82
    "Created: / 10-05-2011 / 14:15:39 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    83
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    84
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    85
!JavaClassContentRef2 methodsFor:'resolving'!
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    86
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    87
invalidate
771
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    88
    classRef invalidate.
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    89
    nameAndType invalidate.
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    90
    super invalidate.
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    91
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    92
    "Created: / 13-04-2011 / 12:21:38 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
771
fb8026dda011 Merged with /trunk
vranyj1
parents: 761
diff changeset
    93
    "Modified: / 10-05-2011 / 17:22:26 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
761
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    94
!
43e017ec7958 Merged with /branches/jk
vranyj1
parents: 758
diff changeset
    95
758
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    96
invalidateForClass: internalJavaClassName 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    97
    "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
    98
     Return true, if reference was invalidated."
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
    99
    
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   100
    (classRef invalidateForClass: internalJavaClassName) 
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   101
        ifTrue: [ self invalidate. ^ true ].
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   102
        ^ false.
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   103
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   104
    "Modified: / 08-04-2011 / 16:05:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   105
! !
be8e84381ce0 Merged with /branches/jk
vranyj1
parents: 752
diff changeset
   106
752
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   107
!JavaClassContentRef2 class methodsFor:'documentation'!
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   108
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   109
version_SVN
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   110
    ^ '$Id$'
ff7bc6428c9c branch jk_new_structure resurrected
vranyj1
parents:
diff changeset
   111
! !