Re: [Jastadd] [bug report] need to refine ConstructorDecl.flags() too

From: Na, Hyunik <hina_at_kaist.ac.kr>
Date: Mon, 7 May 2012 09:06:24 +0900

Hello Jesper,

 

For the following two java files in the same directory,

 

-=-=-= A.java

class A {

  void test() {

    new B(1,2);

  }

}

-=-=-=

 

-=-=-= B.java

class B {

  B( int ... args ) { }

}

-=-=-=

 

Please try JavaCompiler (rev. 9238) to compile A.java.

Then, it will work fine.

 

But, try it again.

( Note that, this time, class B will be loaded from B.class generated in the
previous step,

rather than from B.java because B.class is fresher then B.java. )

Then, you will get the following error message.

 

-=-=-=

Errors:

A.java:3:

  Semantic Error: can not instantiate B no matching constructor found in B

-=-=-=

 

- Hyunik

 

 

From: jastadd-bounces_at_cs.lth.se [mailto:jastadd-bounces_at_cs.lth.se] On Behalf
Of Jesper Oqvist
Sent: Saturday, May 05, 2012 12:41 AM
To: jastadd_at_cs.lth.se
Subject: Re: [Jastadd] [bug report] need to refine ConstructorDecl.flags()
too

 

You seem to be correct that the ACC_VARARGS flag is missing, but is there
any way to test this? It seems the flag is not used by the JVM, it's just
supposed to be there.

Anyway I have committed a fix for this (svn revision 9263), but it would be
nice to be able to write a test case for it.

/Jesper

On 04/29/2012 12:17 PM, Na, Hyunik wrote:

Hello JastAddJ developers,

 

MethodDecl.flags() is refined in VariableArityParametersCodegen.jrag in
Java1.5Backend for the variable arity cases.

ConstructorDecl.flags() should be refined in the same way, which is not the
case in JastAddJ rev. 9238.

 

- Hyunik.

 
Received on Mon May 07 2012 - 02:06:44 CEST

This archive was generated by hypermail 2.3.0 : Wed Apr 16 2014 - 17:19:06 CEST