Skip to content

Nested Class/Enum definitions fail #7

@moosichu

Description

@moosichu

Running the following:

sourceCode.append("package org.mdkt;\n");
sourceCode.append("public class HelloClass {\n");
sourceCode.append("   public static class Nested {}\n");
sourceCode.append("}");

System.out.println(sourceCode.toString());
Class<?> helloClass = InMemoryJavaCompiler.compile("org.mdkt.HelloClass",
        sourceCode.toString());`

Results in:

java.lang.NoClassDefFoundError: org/mdkt/HelloClass (wrong name: org/mdkt/HelloClass$Nested)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
    at org.mdkt.compiler.DynamicClassLoader.findClass(DynamicClassLoader.java:28)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.mdkt.compiler.InMemoryJavaCompiler.compile(InMemoryJavaCompiler.java:22)
    at uk.co.ensoft.xrm2m.codegenerator.SchemaClassGeneratorTest.testGenerateClass1(SchemaClassGeneratorTest.java:79)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions