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 <[email protected]> 于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 <[email protected]> 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 <[email protected]> 写道:
> > >
> > > 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 <[email protected]> 于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 <[email protected]> 写道:
> > >>>
> > >>> 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