I'm trying to decide whether to close this WONTFIX or INVALID, and I
don't believe there should be a test case in our test suite for it.
If I understand correctly, this bug cannot happen on code produced by
javac. Soot was designed from the ground up to handle any bytecode,
even that not produced by Java. Afaik, abc, and the AspectJ language
itself, weren't. If you give it code that is not typeable without a
cast, it's unlikely that we're ever going to process it without adding
a cast as long as we're using Soot (hence WONTFIX). I'm sure we make
plenty of other much more serious assumptions about the code coming
from javac than this. Consider all the synthetic attribute stuff, the
helper methods, initializers that we inline, inner class attributes,
weaving in the presence of exception handlers and synchronization, and
I'm sure there's lots more. If we do want to define the semantics in
terms of bytecode rather than Java source, then that's a huge change in
the design of the compiler and even the language. If it's a bug that
the language is defined in terms of Java and not bytecode, then let's
make such a bug, and put the countless other issues into it as well.
Ohterwise, we have plenty of real bugs to fix; let's not clutter things
with stuff like this.
Ondrej
----- Forwarded message from abc-bugs@comlab.ox.ac.uk -----
From: abc-bugs@comlab.ox.ac.uk
To: abc-bugs@comlab.ox.ac.uk
Subject: [Bug 18] New: jimple type assigner can interact badly with cast pointcuts in extreme cases
Date: Fri, 17 Sep 2004 00:55:41 +0100
http://abc.comlab.ox.ac.uk/cgi-bin/bugzilla/show_bug.cgi?id=18
Summary: jimple type assigner can interact badly with cast
pointcuts in extreme cases
Product: abc
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P2
Component: EAJ
AssignedTo: abc-bugs@comlab.ox.ac.uk
ReportedBy: ganesh@comlab.ox.ac.uk
This is a rather obscure bug even by my standards :-)
If you consult the SAS 2000 paper which roughly describes the Jimple typing
algorithm (http://www.sable.mcgill.ca/publications/papers/#sas2000), you find
that in certain corner cases on bytecode not produced from Java source, casts
get inserted by the Jimplifier.
This means that the cast pointcut might find itself applying at a point that
didn't have a cast in the original bytecode.
Test case 992 exposes this bug.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
----- End forwarded message -----
Received on Fri Sep 17 01:52:51 2004
This archive was generated by hypermail 2.1.8 : Fri Sep 17 2004 - 02:10:02 BST