MakeInlineableMap
A tree map which inserts accessors for non-public term members accessed from inlined code.
Attributes
- Graph
-
- Supertypes
- Known subtypes
-
class MakeInlineableDirectclass MakeInlineablePassing
Members list
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
Attributes
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).
Attributes
Inherited methods
Replace tree with a reference to an accessor if needed
An accessor symbol, create a fresh one unless one exists already
Attributes
- Inherited from:
- TreeMap
Attributes
- Inherited from:
- TreeMap
Attributes
- Inherited from:
- TreeMap
Attributes
- Inherited from:
- TreeMap
Attributes
- Inherited from:
- TreeMap
Attributes
- Inherited from:
- TreeMap
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
Attributes
- Inherited from:
- Insert
Inherited fields
Attributes
- Inherited from:
- TreeMap