MakeInlineableMap
A tree map which inserts accessors for non-public term members accessed from inlined code.
Value members
Abstract methods
Concrete methods
The name of the accessor for definition with given name
in given site
The name of the accessor for definition with given name
in given site
A definition needs an accessor if it is private, protected, or qualified private and it is not part of the tree that gets inlined. The latter test is implemented by excluding all symbols properly contained in the inline method.
A definition needs an accessor if it is private, protected, or qualified private and it is not part of the tree that gets inlined. The latter test is implemented by excluding all symbols properly contained in the inline method.
Constant vals don't need accessors since they are inlined in FirstTransform. Inline methods don't need accessors since they are inlined in Typer.
When creating accessors for staged/quoted code we only need to create accessors for the code that is staged. This excludes code at level 0 (except if it is inlined).
Inherited methods
Replace tree with a reference to an accessor if needed
Replace tree with a reference to an accessor if needed
- Inherited from:
- Insert
An accessor symbol, create a fresh one unless one exists already
An accessor symbol, create a fresh one unless one exists already
- Inherited from:
- Insert
Create an accessor unless one exists already, and replace the original access with a reference to the accessor.
Create an accessor unless one exists already, and replace the original access with a reference to the accessor.
- Value parameters:
- onLHS
The reference is on the left-hand side of an assignment
- reference
The original reference to the non-public symbol
- Inherited from:
- Insert