-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
๐งน๏ธ๐งผ Cleanup: Pool provider #33
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Added new interface
- Moved to the `interfaces` module
- Updated API to take in a `DNodeGenerator` as the first argument to `pool(..., ...)`
This reverts commit 4f92a29.
- Added an implementation of the `IPoolManager` interface
- Now constructs a new `IPoolManager` on constructions
- Added a templatised variant of the `pool(Statement)` method
- Added a templatised variant of the `pool(Statement)` method - The `pool(Statement)` method now uses the `poolT!(DNodeType, EntityType)(EntityType)` method
- Removed the templatised `poolT!(DNodeType, EntityType)(EntityType)` method - Added `poolExpression(Expression expression)` - Added `poolVariable(Variable variable)` - Added `poolStaticVariable(Variable variable)` - Added `poolFuncDec(Function func)`
- Removed uneeded import
- Removed the templatised `poolT!(DNodeType, EntityType)(EntityType)` method - Implemented `poolExpression(Expression expression)` - Implemented `poolVariable(Variable variable)` - Implemented `poolStaticVariable(Variable variable)` - Implemented `poolFuncDec(Function func)`
- No longer takes in a `DNodeGenerator` AccessDNode - No longer takes in a `DNodeGenerator` - Save the incoming `Entity` - Updated `initName()` to use the `toString()` of the `Entity` ClassVirtualInit - No longer takes in a `DNodeGenerator` - Save the incoming `Clazz` - Updated `initName()` to use the `toString()` of the `Clazz` ClassStaticNode - No longer takes in a `DNodeGenerator` - Save the incoming `Clazz` - Updated `initName()` to use the `toString()` of the `Clazz` ObjectInitializationNode - No longer takes in a `DNodeGenerator` VariableNode - No longer takes in a `DNodeGenerator` - Updated `initName()` to use the `toString()` of the `Variable` FuncDecNode - No longer takes in a `DNodeGenerator` - Updated `initName()` to use the `toString()` of the `Function` ModuleVariableDeclaration - No longer takes in a `DNodeGenerator` - Updated `initName()` to use the `toString()` of the `Variable` StaticVariableDeclaration - No longer takes in a `DNodeGenerator` - Updated `initName()` to use the `toString()` of the `Variable` VariableAssignmentNode - No longer takes in a `DNodeGenerator` - Updated `initName()` to use the `toString()` of the `VariableAssignment`
- No longer takes in a `DNodeGenerator` for its constructor - We no longer require it - No longer pass a `DNodeGenerator` to the `DNodeType(...)`s created in `poolT!(...)(...)` PoolManager (unittests) - Updated unittests
- The `addFunctionDef(...)` method now takes in an extra first argument which is the `IPoolManager` it should use when it constructs its `DFunctionInnerGenerator` DNode - Removed the `DNodeGenerator` instance (i.e. the `dnodegen` field) - Removed the `Resolver` instance (i.e. the `resolver` field) - Calling `pool(Statement entity)` will now forward that call to the `IPoolManager`'s `pool(Statement)` - Calling `DNodeType poolT(DNodeType, EntityType)(EntityType entity)` will now forward that call to the `IPoolManager`'s `pool(Statement)` with the correct types decided at compile-time using static if's - `objectInitialize(Clazz clazz, NewExpression newExpression)` now constructs a `ObjectInitializationNode` with its new API - `pool_module_vardec(Variable entity)` now constructs a `ModuleVariableDeclaration` with its new API - When `generalStatement(Container c, Context context, Statement entity)` comes across a function definition (i.e. a `Function`) and has to add its function definition it now uses the updated `addFunctionDef(...)` - `poolClassStatic(Clazz clazz)` now constructs a `ClassStaticNode` with its new API DFunctionInnerGenerator - Constructor now accepts an `IPoolManager` instance DNodeGenerator - Constructor now accepts an `IPoolManager` instance - We now use the `IPoolManager` as our pooling mechanism
- When we call `dependencyCheck()` we now first construct the pooling mechanism we want to use by constructing some kind-of `IPoolManager`, we then pass this to the constructor for the `DNodeGenerator`
- Added `poolModuleVariableDeclaration(Variable variable)`
- Impemented `poolModuleVariableDeclaration(Variable variable)`
- `pool_module_vardec(Variable entity)` now calls `poolModuleVariableDeclaration(Variable)` from `IPoolManager` - Removed the static `nodePool`
- Added some stuff
- Nah, removed that
- Added `poolClassStatic(Clazz clazz)`
- Implemented `poolClassStatic(Clazz clazz)`
- Calling `poolClassStatic(Clazz clazz)` now calls `IPoolManager`'s `poolClassStatic(Clazz)`
- Documented module
- Documented module
Updated with latest code from |
We must merge this tomorrow. |
Looks good to me merging... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See more here.