Repository navigation
.tsv-based reflection mechanism migrated to BHoM_Engine - #564
pawelbaran wants to merge 1 commit into
Conversation
|
Please be advised that the check with reference 105106002302 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 105499252952 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 105859032505 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 106033165149 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 106233189129 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 106640283312 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 107074640056 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 107516684104 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 108351393197 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 108563893308 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 108808408103 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 109280234333 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 109776413237 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 110265717855 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 110736883091 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 43 additional annotations waiting, made up of 43 errors and 0 warnings. |
|
Please be advised that the check with reference 111154356641 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 111379134823 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 111643806131 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 112149739240 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 112666036716 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 113173961163 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 113708176112 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 114156076603 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 114402894788 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 114682867721 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 115175072866 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 115705218607 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 116272559131 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 116850459273 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 117332428094 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 118833349179 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 119743091012 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 120410418572 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
|
Please be advised that the check with reference 120824707702 has more than 50 annotations of notes. API limitations restrict annotations to 50. You may need to rerun this check to obtain the next set when you make changes. At the time of reporting this check, there are 45 additional annotations waiting, made up of 45 errors and 0 warnings. |
NOTE: Depends on
BHoM/BHoM#1724
BHoM/BHoM_Engine#3596
Issues addressed by this PR
Closes #563
Recommended review process:
The PR is a byproduct of my investigation of the topic as explained in #563. It is not fully finished, there was quite a few copy-paste actions, todos left etc., so more work required, but the intent is hopefully clear. The code works (.tsv processing, loading scripts,
RunExtensionMethod, dynamic assembly load), the only feature that does not fully work is ctrl+shift+b due to the fact thatItemByKeymethod is not fully finished.Recommended sequence to review, with key points mentioned:
Jsonprop removed fromCodeElementRecordclassCodeElementTypeenum items changed to be more focused on actual reflectionAssemblyResolverclass moved toBHoM_Engine\Objects(code unchanged)BH.Engine.Base.Objects.Initialisation- please treat it as a placeholder, I put it together under one class to make it easier to review - main changes compared to the original BHoM_UI code are around input parametersQuery.CodeElementsmethod and its dependencies migrated to Reflection_Engine because it depends on methods from that project - the method itself has been simplified to align with the new version ofCodeElementTypeenum, also try/catches added etc.BH.Engine.Base.Query.ItemByKeymethod that allows to find a member based on a key (the key is the same or almost the same as keys used in versioning), to replace JSON deserialisation - the method is not finished yet, just proves the concept by reflecting types and non-CreatemethodsBH.Engine.Base.Objects.Initialisationand Reflection_Engine in untouched state)BH.UI.Base.Global.Initialisationclass refactored heavily: many methods moved out toBH.Engine.Base.Objects.Initialisationand made more parametric, what is important is that the flow ofActivatemethod stayed untouchedSearchItem,SearchMenu,ItemSelectorMenualigned with the new oM (noJsonproperty, changed enum)Initialisationclass leveraging the changes listed in points 1. to 3.:CodeElementRecordsfrom the base .tsv with a dedicated set and .tsv - possible thanks to more parametric design of the codeTesting
For now I would not obsess about functionality, because code principles are more relevant. However, if you'd like to verify the concept overall, then follow this sequence:
AssemblyContents.tsvfile fromBHoM\Resourcesfolder (schema changed) - for now this step is required, but if we decide to merge this PR, we'll need to change the default .tsv path to protect the usersRunExtensionMethod(e.g. by passing a line andLengthas method name)Changelog
Additional comments
Consolidation of
CodeElementTypeenum could go even further, so that methods from all 5 classes would land under 1 value, for the UIs to dispatch them at runtime - this, however, would mean that we'd need to query strings every time the information about declaring type is needed. I did not dare to do it in the 1st iteration, but still on my hitlist to try and see how it lands.