title: How can you use inner classes in static context?
body: <p>I want to use inner classes to create a hierarchy of objects to avoid cluttering the API of my current project. The basic idea is to use something like this:</p>
  
  <pre><code>package foo {
      public class Bar {
          public static const BLUBB:Blubb = new Blubb();
          public static const ZONK:Zonk = new Zonk();
      }
  }
  class Blubb {
      public const GNARF:Gnarf = new Gnarf();
      public const BLUBB_BLAH:String = "blubb-blah";
  }
  class Gnarf {
      public const GNARF_BLAH:String = "gnarf-blah";
  }
  class Zonk {
      public const ZONK_BLAH:String = "zonk-blah";
  }
  </code></pre>
  
  <p>so that I can use it like <code>someFunction(Bar.BLUBB.GNARF.GNARF_BLAH);</code></p>
  
  <p>However, apparently Actionscript doesn't quite like this construct (although FDT5 compiles it without giving a frell about it) and gives me the following runtime error:</p>
  
  <pre><code>Exception fault: TypeError: Error #1007: Instantiation attempted on a non-constructor.
      at foo::Bar$cinit()
      at global$init()
      at ...
  </code></pre>
  
  <p>with the rest of the stacktrace leading to the point where I first tried to access any of the static constants of <code>Bar</code>.</p>
  
  <p>Is it really not possible to use inner classes in such a way or am I just missing some secret voodoo?</p>