MakeInlineableDirect
Direct approach: place the accessor with the accessed symbol. This has the advantage that we can re-use the receiver as is. But it is only possible if the receiver is essentially this or an outer this, which is indicated by the test that we can find a host for the accessor.
Attributes
- Graph
- Supertypes
Members list
Value members
Concrete methods
Inherited methods
Replace tree with a reference to an accessor if needed
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
- Inherited from:
- MakeInlineableMap
An accessor symbol, create a fresh one unless one exists already
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 from:
- MakeInlineableMap
Attributes
- Inherited from:
- MakeInlineableMap
Attributes
- Definition Classes
- Inherited from:
- MakeInlineableMap
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.
Attributes
- onLHS
The reference is on the left-hand side of an assignment
- reference
The original reference to the non-public symbol
- Inherited from:
- Insert
Inherited fields
Attributes
- Inherited from:
- TreeMap