Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-1186493

Attempting to print an array crashes the compiler

XMLWordPrintable

    • 1.0beta
    • sparc
    • solaris_2.3
    • Not verified

      Compiling this:

      class test {
          int v[];
          void foo() {
      System.out.print("v="+v+"\\n");
          }
      }

      causes a null pointer exception in the compiler:

      norquay% oakc test.oak
      oak.lang.NullPointerException
              at oak.util.Hashtable.get(Hashtable.oak)
              at oak.tools.asm.ConstantPool.put(ConstantPool.oak)
              at oak.tools.asm.Instruction.collect(Instruction.oak)
              at oak.tools.oakc.SourceClass.compile(SourceClass.oak)
              at oak.tools.oakc.Main.main(Main.oak)
      -- listing --
      4: getstatic oak.io.PrintStream out
      4: new class oak.lang.StringBuffer
      4: dup
      4: invokenonvirtual oak.lang.StringBuffer()
      4: ldc2 oak/tools/tree/Node.oak/tools/tree/Expression.oak/tools/tree/ConstantExpression.oak/tools/tree/StringExpression[value=oak/lang/String, type=oak/tools/oak/Type.oak/tools/oak/ClassType, op=69, where=1048637]
      4: invokevirtual oak.lang.StringBuffer append(oak.lang.String)
      4: aload 0
      4: getfield int v[]
      4: invokevirtual
      4: ldc2 oak/tools/tree/Node.oak/tools/tree/Expression.oak/tools/tree/ConstantExpression.oak/tools/tree/StringExpression[value=oak/lang/String, type=oak/tools/oak/Type.oak/tools/oak/ClassType, op=69, where=1048644]
      4: invokevirtual oak.lang.StringBuffer append(oak.lang.String)
      4: invokevirtual oak.lang.String toString()
      4: invokevirtual void print(oak.lang.String)
      3: return
      oak.lang.NullPointerException
              at oak.tools.oakc.SourceClass.compile(SourceClass.oak)
              at oak.tools.oakc.Main.main(Main.oak)
      oakc: an exception has occurred, please contact x47242.
      Exception in thread "main" oak.lang.ArrayIndexOutOfBoundsException
              at oak.tools.oakc.BatchEnvironment.flushErrors(BatchEnvironment.oak)
              at oak.tools.oakc.Main.main(Main.oak)

            ahoffsunw Arthur Hoff (Inactive)
            jag James Gosling (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: