This is an old revision of the document!
Table of Contents
this page is a draft being written by GauntRecluse! Feedback is appreciated but the page is currently not ready to be read by users of the Wiki!
Mixin Glossary (DRAFT)
Preamble
This page aims to address terms, acronyms, abbreviations, expressions, etc. and define them within as broad a scope as possible without describing technicalities or how to use them. It is complementary to actual documentation on how to use the tools and subsystem of Mixin and should only be used to get a quick, general idea of what a term means in the context of Mixin usage and learning. This glossary should also be taken with a grain of salt, as much as feedback will try to be used to make the definitions as accurate as possible, it can be as unreliable as any Wiki page.
It is advised to read the Introduction to Mixins (WIP) page.
Contributing
Seeing as this page is likely to change a lot with time as terms, both official and common usage ones, may vary over time and need many amendments as both Mixin and associated libraries – mainly MixinExtras currently – evolve and get used in different contexts; it feels wise to add a section on best practices for contributing to this page in the long run.
If you wish to contribute it is appreciated to use references to external sources whenever possible, preferably the official Mixin Wiki, the Mixin javadoc and the official MixinExtras Wiki. If not, base your definitions on feedback from experienced devs and be willing to be scrutinized.
Due to the amount of potential areas that could be edited, it would also be appreciated to always specify which definitions you're adding or editing in your edit summary messages. If necessary, split your edit into different smaller edits to be able to more clearly indicate which definitions were modified.
Formatting and TODOs
When you are doubtful on a term's definition, add a FIXME above the relevant text with text in italics until a more confident definition can be found. Definitions should generally take the form of itemized lists with the term above the list's first items. Synonyms should be grouped together. Footnotes references describing the same resource and so on should use the exact same text so that they both redirect to the same footnote.
TODO notes should always describe what should be added there and should ideally be in italics
TODO: Probably add subsections depending on the terms?
Definitions
Mixin, Mixins:
- A reference to the Mixin Subsystem, see Introduction to Mixins (WIP)
- “a Mixin” or “a Mixin Class” means a class or, for the former especially, an interface that will be merged with a target by the Mixin system.
Injector:
- Most of the time, references a “callback injector”, or an annotated handler method that will be merged by a Mixin Class, with a callback to the merged method at a specified injection point. This most often does not include Redirectors, although they may also be considered injectors under technical definitions.
Handler method:
- In the context of Mixins, a decorated method that will be merged and then called to in some way dependent on the annotation and its arguments.