<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to 7: OpenJava1.1_20020522: Problems with generating inner classes</title><link href="https://sourceforge.net/p/openjava/bugs/7/" rel="alternate"/><link href="https://sourceforge.net/p/openjava/bugs/7/feed.atom" rel="self"/><id>https://sourceforge.net/p/openjava/bugs/7/</id><updated>2003-03-08T20:14:51Z</updated><subtitle>Recent changes to 7: OpenJava1.1_20020522: Problems with generating inner classes</subtitle><entry><title>OpenJava1.1_20020522: Problems with generating inner classes</title><link href="https://sourceforge.net/p/openjava/bugs/7/" rel="alternate"/><published>2003-03-08T20:14:51Z</published><updated>2003-03-08T20:14:51Z</updated><author><name>Kurt Stephens</name><uri>https://sourceforge.net/u/kstephens/</uri></author><id>https://sourceforge.nete0b7eed8c6772557ed839ae13c8583656baa3781</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In attempting to work around the anonymous class&lt;br /&gt;
problem.  I decided to generate inner classes for the&lt;br /&gt;
attributes' Event classes instead of using anonymous&lt;br /&gt;
classes.&lt;/p&gt;
&lt;p&gt;I found &amp;amp;quot;OJClass.addClass(OJClass cls)&amp;amp;quot; but no &amp;amp;quot;Class&lt;br /&gt;
makeClass(Environment env, String expr)&amp;amp;quot; method exists&lt;br /&gt;
in OJClass, analogous to the &amp;amp;quot;Statement&lt;br /&gt;
makeStatement(Environment env, String expr)&amp;amp;quot; method. &lt;br /&gt;
So I attempted to create my own:&lt;/p&gt;
&lt;p&gt;protected OJClass&lt;br /&gt;
makeClass(Environment env, String str)&lt;br /&gt;
throws MOPException&lt;br /&gt;
{&lt;br /&gt;
Parser parser = new Parser(new StringReader(str));&lt;br /&gt;
OJClass result;&lt;br /&gt;
try {&lt;br /&gt;
ClassEnvironment cenv = new&lt;br /&gt;
ClassEnvironment(env, env.currentClassName());&lt;br /&gt;
ClassDeclaration ptree =&lt;br /&gt;
parser.ClassDeclaration(cenv);&lt;br /&gt;
result = new OJClass(env, this, ptree);&lt;br /&gt;
} catch (Exception e) {&lt;br /&gt;
System.err.println(&amp;amp;quot;makeClass(&amp;amp;quot; + env + &amp;amp;quot;, &amp;amp;quot; +&lt;br /&gt;
str + &amp;amp;quot;)&amp;amp;quot;);&lt;br /&gt;
System.err.println( &amp;amp;quot;partial parsing failed for&lt;br /&gt;
: &amp;amp;quot; + str );&lt;br /&gt;
System.err.println( e );&lt;br /&gt;
System.err.println( env.toString() );&lt;br /&gt;
throw new MOPException( e );&lt;br /&gt;
}&lt;br /&gt;
return result;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;I get the following error:&lt;/p&gt;
&lt;p&gt;OJClass.forNameAnyway() failed for :&lt;br /&gt;
sonema.mutate.test.Color&lt;br /&gt;
openjava.mop.OJClassNotFoundException:&lt;br /&gt;
sonema.mutate.test.Color&lt;/p&gt;
&lt;p&gt;Am I constructing the ClassEnvironment for&lt;br /&gt;
parser.ClassDeclaration(cenv) incorrectly?&lt;/p&gt;
&lt;p&gt;Thanks Again,&lt;br /&gt;
Kurt Stephens &lt;/p&gt;&lt;/div&gt;</summary></entry></feed>