--- a/src/JavaFieldRef2.st Tue May 24 08:43:44 2011 +0000
+++ b/src/JavaFieldRef2.st Tue May 24 13:06:14 2011 +0000
@@ -44,7 +44,8 @@
findResolvedStaticValue
valueCache := JavaResolver uniqueInstance
resolveStaticFieldIndentifiedByRef: self.
- classCache := (constantPool at: classRefIndex) resolve.
+ "/Use javaClass of the field, not the class ref!!
+ classCache := valueCache javaClass.
classCache ifNil: [ self breakPoint: #mh ].
self resolveStaticOffset.
nameAndTypeCache := (constantPool at: nameAndTypeIndex) resolve.
@@ -53,6 +54,7 @@
"Created: / 28-04-2011 / 22:05:10 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
"Modified: / 18-05-2011 / 12:44:13 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+ "Modified: / 24-05-2011 / 14:05:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
findResolvedValue
--- a/src/JavaResolver.st Tue May 24 08:43:44 2011 +0000
+++ b/src/JavaResolver.st Tue May 24 13:06:14 2011 +0000
@@ -598,11 +598,16 @@
of a protected field access or method invocation (the target must be of class
D or a subtype of D). That requirement is checked as part of the verification
process (ยง5.4.1); it is not part of link-time access control."
+
+ "JV@2011-05-24: Temporary hack, since access checking
+ is somewhat broken. Marcle should fix it :-)"
+ OperatingSystem getLoginName = 'jv' ifTrue:[^true].
^ self checkPermissionsForMethodOrField: aJavaMethod from: accessingJavaClass to: resolvedJavaClass.
"Created: / 11-04-2011 / 20:20:12 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
"Modified: / 14-04-2011 / 14:20:27 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+ "Modified: / 24-05-2011 / 14:06:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
lookupMethodIfAlreadyResolved: aJavaMethodRef