The changes in Janino were done explicitly to allow debugging [1]. If
necessary we can do the same in other places as well.

Best,
Stamatis

[1] https://issues.apache.org/jira/browse/CALCITE-2196

On Thu, Dec 15, 2022 at 3:45 PM Benchao Li <libenc...@apache.org> wrote:

> Hi guangyuan, have you done this successfully now?
>
> From my experience, this is not only a configuring problem. I'm not sure if
> anyone who really has done this before in IDEA.
>
> There are several places in Calcite which uses Janino for codegen, such
> as JaninoRelMetadataProvider[1] and EnumerableInterpretable[2]. Actually
> they are using Janino differently, JaninoRelMetadataProvider is compiling a
> whole class string, while EnumerableInterpretable is compiling the class
> body (without class declaration statement). I could debug the generated
> code from JaninoRelMetadataProvider, but I could not do it for
> EnumerableInterpretable. The reason is that Janino only put the class body
> into the file, then IDEA could not find the real class cause it does not
> exist actually.
>
> [1]
>
> https://github.com/apache/calcite/blob/de89d7a763d40846e68a9b62ed3294e595f82df7/core/src/main/java/org/apache/calcite/rel/metadata/JaninoRelMetadataProvider.java#L55
> [2]
>
> https://github.com/apache/calcite/blob/de89d7a763d40846e68a9b62ed3294e595f82df7/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableInterpretable.java#L72
>
> Alessandro Solimando <alessandro.solima...@gmail.com> 于2022年12月12日周一
> 19:03写道:
>
> > Hi,
> > apache ML strips attachments, so it's normal we can't see it, you can
> > either use an external system and link to them, or better describe with
> > plain text so it's also searchable.
> >
> > Best regards,
> > Alessandro
> >
> > On Mon, 12 Dec 2022 at 09:33, Zou Dan <zoud...@163.com> wrote:
> >
> > > Hi wangguangyuan
> > > You could just right click the debug dir in IDEA and you could see the
> > > option: “Mark Directory as" -> "Generated Source Root"
> > >
> > >
> > > Best,
> > > Dan Zou
> > >
> > > > 2022年12月12日 16:19,guangyuan wang <wangguangy...@apache.org> 写道:
> > > >
> > > > Hello Dan
> > > > Thank you very much.
> > > > And I'd like to know how could I configure the debug dir as the
> > > "Generated
> > > > Source Root"?
> > > > "2. Mark the debug dir you configured in step 1 as the "Generated
> > Source
> > > > Root".
> > > >
> > > > Zou Dan <zoud...@163.com> 于2022年12月12日周一 15:33写道:
> > > >
> > > >> Hi wangguangyuan, the picture in your email are not displayed
> > normally.
> > > >> And I used to debug the generated code in IDEA follow the steps
> below:
> > > >> 1. Add two debug configurations:
> > > >> "-Dorg.codehaus.janino.source_debugging.enable=true" and
> > > >> "-Dorg.codehaus.janino.source_debugging.dir=/your_own_path"
> > > >> 2. Mark the debug dir you configured in step1as the "Generated
> Source
> > > Root"
> > > >> 3. Now, you are free to debug the generated code!
> > > >>
> > > >> Maybe you missed step2, hope it can help you.
> > > >>
> > > >>
> > > >>> 2022年12月10日 20:28,guangyuan wang <wangguangy...@apache.org> 写道:
> > > >>>
> > > >>> Dear all
> > > >>>        I am trying to use IntelliJ debug code generated by janino,
> > > >> according to the link:
> > > >>
> > >
> >
> https://calcite.apache.org/docs/howto.html#debugging-generated-classes-in-intellij
> > > >> .
> > > >>>        But I can not step into the generated source code, just like
> > > >> this below.
> > > >>>        Only could see the limited information of Baz. But can not
> > open
> > > >> the source code of Baz, and can not add breakpoint on the line of
> the
> > > Baz
> > > >> source code.
> > > >>>       I have also read the link:
> > > >> https://janino-compiler.github.io/janino/#debugging
> > > >>>       But I just can not step right into the generated code.
> > > >>>       Below is my configuration:
> > > >>>
> > > >>
> > > >>
> > > >>
> > > >> Best,
> > > >> Dan Zou
> > > >>
> > > >>
> > >
> > >
> >
>
>
> --
>
> Best,
> Benchao Li
>

Reply via email to