JDK-4829149 : The compiler cannot handle the class literal (.class)
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 1.0.4
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_2000,windows_xp
  • CPU: x86
  • Submitted: 2003-03-07
  • Updated: 2003-03-08
  • Resolved: 2003-03-08
Related Reports
Duplicate :  
Description

Name: jl125535			Date: 03/07/2003


FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

FULL OPERATING SYSTEM VERSION :
Windows 2000 [5.00.2195] Professional SP2

A DESCRIPTION OF THE PROBLEM :
Compilation fails on the following legal line:

Class c = java.lang.String.class;


ERROR MESSAGES/STACK TRACES THAT OCCUR :
com.sun.tools.javac.v8.code.Symbol$CompletionFailure: file
java\lang\NoClassDefFoundError.class not found

	at com.sun.tools.javac.v8.code.ClassReader.fillIn(ClassReader.java:1020)

	at com.sun.tools.javac.v8.code.ClassReader.complete
(ClassReader.java:977)

	at com.sun.tools.javac.v8.code.Symbol.complete(Symbol.java:375)

	at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.complete
(Symbol.java:697)

	at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.flags(Symbol.java:594)

	at com.sun.tools.javac.v8.comp.Resolve.findMethod(Resolve.java:386)

	at com.sun.tools.javac.v8.comp.Resolve.resolveQualifiedMethod
(Resolve.java:835)

	at com.sun.tools.javac.v8.comp.Resolve.resolveConstructor
(Resolve.java:875)

	at com.sun.tools.javac.v8.comp.TransInner.makeNewClass
(TransInner.java:256)

	at com.sun.tools.javac.v8.comp.TransInner.classDollarSym
(TransInner.java:1275)

	at com.sun.tools.javac.v8.comp.TransInner.classOfType
(TransInner.java:1375)

	at com.sun.tools.javac.v8.comp.TransInner.classOf(TransInner.java:1339)

	at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1755)

	at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:1063)

	at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1432)

	at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:115)

	at com.sun.tools.javac.v8.tree.Tree$VarDef.visit(Tree.java:503)

	at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1432)

	at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:56)

	at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:124)

	at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:539)

	at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1432)

	at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:109)

	at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1557)

	at com.sun.tools.javac.v8.tree.Tree$MethodDef.visit(Tree.java:474)

	at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1432)

	at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1488)

	at com.sun.tools.javac.v8.tree.Tree$ClassDef.visit(Tree.java:435)

	at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1432)

	at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1450)

	at com.sun.tools.javac.v8.comp.TransInner.translateTopLevelClass
(TransInner.java:1785)

	at com.sun.tools.javac.v8.JavaCompiler.compile(JavaCompiler.java:417)

	at com.sun.tools.javac.v8.Main.compile(Main.java:526)

	at com.sun.tools.javac.Main.compile(Main.java:32)

	at sun.reflect.GeneratedMethodAccessor74.invoke(Unknown Source)

	at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)

	at java.lang.reflect.Method.invoke(Method.java:324)

	at com.sun.kvem.ktools.Compiler.compile
(../src/com/sun/kvem/ktools/Compiler.java:98)

	at com.sun.kvem.ktools.Build.compile
(K:/re/1.0.4_01/kvem/midp/ktools/src/com/sun/kvem/ktools/Build.java:356)

	at com.sun.kvem.ktools.Build.build
(K:/re/1.0.4_01/kvem/midp/ktools/src/com/sun/kvem/ktools/Build.java:257)

	at com.sun.kvem.ktools.Main.run(../src/com/sun/kvem/ktools/Main.java:97)

	at com.sun.kvem.toolbar.MainWindow$CompilerThread.run
(K:/re/1.0.4_01/kvem/midp/ktools/src/com/sun/kvem/toolbar/MainWindow.java:350)

com.sun.kvem.ktools.ExecutionException

Build failed


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.lang.ClassNotFoundException;



public class Untitled1 extends MIDlet{

    public Untitled1() {
        Class c = java.lang.String.class;
    }

    protected void startApp() throws MIDletStateChangeException {
    }

    protected void destroyApp(boolean b) throws MIDletStateChangeException {
    }

    protected void pauseApp() {
    }

}
---------- END SOURCE ----------
(Review ID: 166413) 
======================================================================