FLUID-4151: Improve diagnostics for IoC system

Metadata

Source
FLUID-4151
Type
Improvement
Priority
Major
Status
Reopened
Resolution
N/A
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2011-03-18T00:42:52.416-0400
Updated
2015-06-09T13:21:12.354-0400
Versions
  1. 1.3.1
  2. 1.4
  3. 1.5
Fixed Versions
N/A
Component
  1. IoC System

Description

Resolution in the IoC system is currently very hard to debug. The code paths that are traversed during both function and value resolution are very deep and recursive and rarely provide insight to uninitiated visitors. If "something goes wrong" one is left guessing as to the exact reasons a resolution failed to be made. We should start by supplying useful diagnostic messages, firstly in the case of ALL function resolutions, listing the environment which was investigated, and secondly in the case a value resolution is attempted which does not match a context. This latter case should be made an error again - now that the "that stack" is tidily packaged up inside the "instantiator" component it is now once again possible to determine in closed form whether a context has finally matched or not.

Comments

  • Harris Wong commented 2011-05-30T15:54:41.682-0400

    Related to json2 removal. https://github.com/fluid-project/infusion/commit/3e45b80f11b88b3b42982c50f23c7eafa3d1244a

  • Michelle D'Souza commented 2012-02-01T10:40:23.338-0500

    Merged into project repo at cf52d6763037be7298c97e5fc31a7e9c7372db9e

  • Antranig Basman commented 2012-02-02T01:03:41.360-0500

    Reopening this issue since many more improvements are necessary - should probably be kept open indefinitely