<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 7: OpenJava1.1_20020522: Problems with generating inner classes</title><link>https://sourceforge.net/p/openjava/bugs/7/</link><description>Recent changes to 7: OpenJava1.1_20020522: Problems with generating inner classes</description><atom:link href="https://sourceforge.net/p/openjava/bugs/7/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sat, 08 Mar 2003 20:14:51 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/openjava/bugs/7/feed.rss" rel="self" type="application/rss+xml"/><item><title>OpenJava1.1_20020522: Problems with generating inner classes</title><link>https://sourceforge.net/p/openjava/bugs/7/</link><description>&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;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Kurt Stephens</dc:creator><pubDate>Sat, 08 Mar 2003 20:14:51 -0000</pubDate><guid>https://sourceforge.nete0b7eed8c6772557ed839ae13c8583656baa3781</guid></item></channel></rss>