Skip to main content

MissingModifier

rascal-0.43.0

Synopsis​

A modifier is missing in a declaration.

Description​

Rascal functions can be implemented in Java. This is the case for many functions in the standard library. This requires these elements:

  • An abstract Rascal function declaration (= a function header without a body).
  • The keyword java should be part of the function header.
  • The function declaration is annotated (uing javaClass) with the name of the Java class that implements this function.

This error is generated when the java keyword is missing.

Remedy: Contact the Rascal developers:

If you are an expert developer and have implemented your own extension in Java, please check your own extension code first.

Examples​

This is how the size function on lists is declared in the Rascal library:

rascal>@javaClass{org.rascalmpl.library.Prelude}
|1 >>>>public java int size(list[&T] lst);
int (list[&T]): function(|prompt:///|(0,77,<1,0>,<2,35>))

This is what happens if the java keyword is missing:

rascal>@javaClass{org.rascalmpl.library.Prelude}
|1 >>>>public int size(list[&T] lst);
|prompt:///|(0,72,<1,0>,<2,30>): Missing modifier: java
Advice: |https://www.rascal-mpl.org/docs/Rascal/Errors/CompileTimeErrors/MissingModifier|