PreviousUpNext

15.3.273  src/lib/compiler/front/typer/main/oop-collect-methods-and-fields.api

## oop-collect-methods-and-functions.api

# Compiled by:
#     src/lib/compiler/front/typer/typer.sublib

# Implemented by:
#     src/lib/compiler/front/typer/main/oop-collect-methods-and-fields.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_Collect_Methods_And_Fields {

    collect_methods_and_fields
        :
        ( raw_syntax::Declaration,
          symbolmapstack::Symbolmapstack,
          line_number_db::Source_Code_Region,
          typer_junk::Per_Compile_Stuff
        )
        ->
        { fields:                List(    raw_syntax::Named_Field     ),        # List of fields found in input declaration.
          methods_and_messages:  List(    raw_syntax::Named_Function  ),        # List of methods and messages found in input declaration.
          null_or_superclass:    Null_Or( raw_syntax::Named_Package   ),        # List of "class super" declarations found in input declaration. (We hope, just one!)
          syntax_errors:         Int
        };

};


## Code by Jeff Prothero: Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext