public virtual IVariableInformationFactory GetVariableInformationFactory()
        {
            if (_variableInformationFactory == null)
            {
                if (GetVsiService().Options.LLDBVisualizerSupport != LLDBVisualizerSupport.DISABLED)
                {
                    var expandVariableFactory =
                        new ExpandVariableInformation.Factory(GetTaskExecutor());

                    if (GetVsiService().Options.LLDBVisualizerSupport ==
                        LLDBVisualizerSupport.ENABLED)
                    {
                        _variableInformationFactory = new NatvisVariableInformationFactory(
                            GetNatvis(), GetLldbVariableInformationFactory(),
                            expandVariableFactory);
                    }
                    else if (GetVsiService().Options.LLDBVisualizerSupport ==
                             LLDBVisualizerSupport.BUILT_IN_ONLY)
                    {
                        _variableInformationFactory =
                            new CustomVisualizerVariableInformationFactory(
                                GetNatvis(), GetLldbVariableInformationFactory(),
                                expandVariableFactory);
                    }
                }
            }

            return(_variableInformationFactory);
        }
Example #2
0
 public NatvisVariableInformationFactory(NatvisExpander natvisExpander,
                                         IVariableInformationFactory varInfoFactory,
                                         ExpandVariableInformation.Factory
                                         expandVariableFactory)
 {
     _natvisExpander        = natvisExpander;
     _varInfoFactory        = varInfoFactory;
     _expandVariableFactory = expandVariableFactory;
 }