Hasnae Rehioui

Hasnae Rehioui

Pyn HQ

Founding Engineer at Pyn, once upon a time maker of Confluence at Atlassian. Hasnae is known as viqueen among her peers in Sydney, she is a Java architect by trade and a Maven connoisseur; she'd usually use wit and humour to shed light on nasty code problems in a way that educates and motivates her teams to do better.

With her 15 years of Java experience, Hasnae decided to keep life interesting by spicing things up a bit and switching to a new tech stack (Node/Typescript).

Twitter : @dviqueen

Blog: https://viqueen.org


Track : Java, JVM

Type de présentation : Hands-on Labs

Will it run ? ... Should it even compile ?

The beauty and power of Java lies in its strong type system … For the most part, types are helpful, until we start erasing them to get away with a sorry-not-sorry workaround that’s not so easy on the eyes but flies under the radar at compile time, sometimes even at runtime.

In my series of hacking on the Java compiler, we will focus this session on adding new compiler warnings for not so elegant code patterns.


  • Task 0 : setup environment and IDE
  • Task 1 : compile the compiler and link it
  • Task 2 : lint everything (mirror the -Xlint:all behaviour)
  • Task 3 : introduce a new lint bad-cast option

Written documentation will be provided

Necessary Tools

  • GitHub account
  • Java 19
  • Maven for testing the freshly built compiler on an existing project
  • Docker (which would provide the required Java and Maven environment dependencies)


  • Get some exposure to OpenJDK development loop
  • Learn to navigate around OpenJDK project