http://abc.comlab.ox.ac.uk/cgi-bin/bugzilla/show_bug.cgi?id=82
Summary: Internal Compiler Error
Product: abc
Version: 1.2.1
Platform: PC
OS/Version: Windows 2000
Status: NEW
Severity: major
Priority: P2
Component: AspectJ compiler
AssignedTo: abc-bugs@comlab.ox.ac.uk
ReportedBy: jan.rupar@gmail.com
Compilation of an aspect into a java base causes the following dump:
D:\sabs\local\benchmarks\proguard3.7\src>abc -O1 -argfile src.txt
Exception in thread "main" polyglot.util.InternalCompilerError: Exception while
processing <proguard.obfuscate.Utf8UsageMarker: void visitConstantElementValue(p
roguard.classfile.ClassFile,proguard.classfile.attribute.annotation.Annotation,p
roguard.classfile.attribute.annotation.ConstantElementValue)>
at abc.main.Main.weave(Main.java:992)
at abc.main.Main.run(Main.java:538)
at abc.main.Main.main(Main.java:210)
Caused by: java.lang.ClassCastException: java.lang.Character
at soot.javaToJimple.JimpleBodyBuilder.getConstant(JimpleBodyBuilder.jav
a:2719)
at soot.javaToJimple.JimpleBodyBuilder.createConstant(JimpleBodyBuilder.
java:2039)
at soot.javaToJimple.JimpleBodyBuilder.createAggressiveExpr(JimpleBodyBu
ilder.java:2112)
at soot.javaToJimple.AccessFieldJBB.createAggressiveExpr(AccessFieldJBB.
java:182)
at soot.javaToJimple.JimpleBodyBuilder.getBinaryLocal2(JimpleBodyBuilder
.java:3098)
at soot.javaToJimple.JimpleBodyBuilder.createAggressiveExpr(JimpleBodyBu
ilder.java:2124)
at soot.javaToJimple.AccessFieldJBB.createAggressiveExpr(AccessFieldJBB.
java:182)
at soot.javaToJimple.JimpleBodyBuilder.createBranchingExpr(JimpleBodyBui
lder.java:754)
at soot.javaToJimple.JimpleBodyBuilder.createIf2(JimpleBodyBuilder.java:
699)
at soot.javaToJimple.JimpleBodyBuilder.createStmt(JimpleBodyBuilder.java
:556)
at soot.javaToJimple.JimpleBodyBuilder.createBlock(JimpleBodyBuilder.jav
a:347)
at soot.javaToJimple.JimpleBodyBuilder.createJimpleBody(JimpleBodyBuilde
r.java:137)
at soot.javaToJimple.AbstractJimpleBodyBuilder.createJimpleBody(Abstract
JimpleBodyBuilder.java:54)
at soot.javaToJimple.PolyglotMethodSource.getBody(PolyglotMethodSource.j
ava:51)
at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:82)
at soot.SootMethod.retrieveActiveBody(SootMethod.java:328)
at abc.main.Main.weave(Main.java:988)
... 2 more
to reproduce:
1. download ProGuard v3.7 from http://proguard.sourceforge.net/
2. unpack and add the file ObfuscateStats.aj to the src/proguard folder
package proguard;
public aspect ObfuscateStats {
pointcut log(): call (* *.obfuscate(..));
before(): log() {
System.out.println("Entering obs");
}
after() returning: log() {
System.out.println("Exiting Obs");
}
}
3. from a command prompt in the src directory, create sourcelist with "dir /s /b
*.java *.aj > src.txt"
4. edit src.txt and remove any lines that refer to files with the ant directory
or the wtk directory
5. again from the src directory, execute "abc -argfile src.txt"
The same steps copleted successfully when using ajc 1.5.3
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
Received on Wed Jan 31 01:38:04 2007
This archive was generated by hypermail 2.1.8 : Tue Mar 06 2007 - 16:13:50 GMT