{"issue":{"created_at":"2011-12-01T04:54:37Z","state":"open","updated_at":"2011-12-03T22:16:45Z","user":{"gravatar_id":"8672f1c3b11cc7390ec341ac25d7e88e","id":579974,"url":"https://api.github.com/users/gavinking","avatar_url":"https://secure.gravatar.com/avatar/8672f1c3b11cc7390ec341ac25d7e88e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"gavinking"},"comments":4,"body":"for the following code:\r\n\r\n    String[] result = ...\r\n    assert(result.lastIndex==1, \"sequence last index\");\r\n\r\nThe compiler craps out with an NPE.\r\n\r\nThe code is incorrect (`String[]` doesn't have `lastIndex`), but compilers should never throw exceptions.\r\n\r\n  [ceylonc] /Users/gavin/ceylon.language/test/sequences.ceylon:13: compiler message file broken: key=compiler.err.ceylon arguments=Compiler error: java.lang.NullPointerException, {1}, {2}, {3}, {4}, {5}, {6}, {7}\r\n  [ceylonc]     assert(result.lastIndex==1, \"sequence last index\");\r\n  [ceylonc]            ^\r\n  [ceylonc] java.lang.NullPointerException\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transform(ExpressionTransformer.java:1030)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.CeylonVisitor.visit(CeylonVisitor.java:271)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$QualifiedMemberExpression.visit(Tree.java:4745)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transformExpression(ExpressionTransformer.java:122)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transform(ExpressionTransformer.java:461)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.CeylonVisitor.visit(CeylonVisitor.java:345)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:157)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Visitor.visit(Visitor.java:158)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$EqualOp.visit(Tree.java:3743)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Walker.walkExpression(Walker.java:944)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$Expression.visitChildren(Tree.java:4465)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transformExpression(ExpressionTransformer.java:120)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transformArg(ExpressionTransformer.java:975)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transformPositionalInvocation(ExpressionTransformer.java:937)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transform(ExpressionTransformer.java:549)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.CeylonVisitor.visit(CeylonVisitor.java:267)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$InvocationExpression.visit(Tree.java:4540)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Walker.walkExpression(Walker.java:944)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$Expression.visitChildren(Tree.java:4465)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ExpressionTransformer.transformExpression(ExpressionTransformer.java:120)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.CeylonVisitor.visit(CeylonVisitor.java:258)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$ExpressionStatement.visit(Tree.java:2036)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.StatementTransformer.transformStmts(StatementTransformer.java:90)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.StatementTransformer.transform(StatementTransformer.java:82)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ClassTransformer.transform(ClassTransformer.java:319)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.ClassTransformer.transformWrappedMethod(ClassTransformer.java:276)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.CeylonVisitor.visit(CeylonVisitor.java:158)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$MethodDefinition.visit(Tree.java:979)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Walker.walkCompilationUnit(Walker.java:13)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.typechecker.tree.Tree$CompilationUnit.visitChildren(Tree.java:30)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.codegen.CeylonTransformer.transformAfterTypeChecking(CeylonTransformer.java:116)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.loader.CeylonEnter.completeCeylonTrees(CeylonEnter.java:167)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.loader.CeylonEnter.main(CeylonEnter.java:114)\r\n  [ceylonc] \tat com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:905)\r\n  [ceylonc] \tat com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:805)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.launcher.Main.compile(Main.java:392)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.launcher.Main.compile(Main.java:327)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.launcher.Main.compile(Main.java:317)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.Main.compile(Main.java:50)\r\n  [ceylonc] \tat com.redhat.ceylon.compiler.Main.main(Main.java:69)\r\n  ","assignee":null,"id":2411103,"labels":[{"color":"e10c02","name":"BUG","url":"https://api.github.com/repos/ceylon/ceylon-compiler/labels/BUG"},{"color":"d7e102","name":"high priority","url":"https://api.github.com/repos/ceylon/ceylon-compiler/labels/high+priority"}],"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"number":251,"title":"NPE for unknown member","html_url":"https://github.com/ceylon/ceylon-compiler/issues/251","closed_at":null,"url":"https://api.github.com/repos/ceylon/ceylon-compiler/issues/251","milestone":{"created_at":"2011-08-04T00:16:58Z","state":"open","due_on":"2011-12-30T08:00:00Z","closed_issues":102,"creator":{"gravatar_id":"f350819e50453bd9237769a3db644f28","id":778793,"url":"https://api.github.com/users/quintesse","avatar_url":"https://secure.gravatar.com/avatar/f350819e50453bd9237769a3db644f28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"quintesse"},"number":1,"title":"M1","description":"See https://github.com/ceylon/ceylon-compiler/wiki/Release-plan-M1-M3 for what's going into M1","url":"https://api.github.com/repos/ceylon/ceylon-compiler/milestones/1","open_issues":50}},"action":"created","comment":{"created_at":"2011-12-03T22:16:45Z","updated_at":"2011-12-03T22:16:45Z","user":{"gravatar_id":"f350819e50453bd9237769a3db644f28","id":778793,"url":"https://api.github.com/users/quintesse","avatar_url":"https://secure.gravatar.com/avatar/f350819e50453bd9237769a3db644f28?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"quintesse"},"body":"Unable to reproduce, unless someone can show a code example we should probably just close this.","id":3003476,"url":"https://api.github.com/repos/ceylon/ceylon-compiler/issues/comments/3003476"}}