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); }
public NatvisVariableInformationFactory(NatvisExpander natvisExpander, IVariableInformationFactory varInfoFactory, ExpandVariableInformation.Factory expandVariableFactory) { _natvisExpander = natvisExpander; _varInfoFactory = varInfoFactory; _expandVariableFactory = expandVariableFactory; }