## oop-rewrite-declaration.api
# Compiled by:
#
src/lib/compiler/front/typer/typer.sublib# Implemented by:
#
src/lib/compiler/front/typer/main/oop-rewrite-declaration.pkg# Mythryl treats OOP constructs as derived forms, expanding
# them into vanilla raw syntax early in the parsing process.
# This minimizes added compiler complexity. It also
# minimizes risk of complicating or compromising core semantics.
api Oop_Rewrite_Declaration {
rewrite_declaration
:
{ original_declaration: raw_syntax::Declaration,
synthesized_code: raw_syntax::Declaration,
field_to_offset: symbol::Symbol -> Int
}
->
raw_syntax::Declaration; # Transformed input declaration.
};
## Code by Jeff Prothero: Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.