diff --git a/CMakeLists.txt b/CMakeLists.txt index d7d325436..ecef8ad77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ # Copyright (C) 2021 Contributors to the SLS Detector Package cmake_minimum_required(VERSION 3.14) project(slsDetectorPackage) -set(PROJECT_VERSION 7.0.0) +set(PROJECT_VERSION 9.0.0) set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") @@ -148,7 +148,6 @@ set(SLS_INTERNAL_QWT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libs/qwt-6.1.5) set(ClangFormat_EXCLUDE_PATTERNS "build/" "libs/" "slsDetectorCalibration/" - "ctbGui/" "manual/" "python/" "sample/" @@ -318,7 +317,7 @@ if (SLS_USE_PYTHON) endif(SLS_USE_PYTHON) if (SLS_USE_CTBGUI) - add_subdirectory(ctbGui) + add_subdirectory(pyctbgui) endif(SLS_USE_CTBGUI) configure_file( .clang-tidy diff --git a/RELEASE.txt b/RELEASE.txt index d1eab770b..2e507fc43 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -1,7 +1,7 @@ -SLS Detector Package Major Release 7.x.x released on xx.xx.2023 +SLS Detector Package Major Release x.x.x released on xx.xx.202x =============================================================== -This document describes the differences between v7.x.x and v7.0.2 +This document describes the differences between vx.x.x and vx.0.2 @@ -28,9 +28,6 @@ This document describes the differences between v7.x.x and v7.0.2 ===================================== -- moench being made compatible with jungfrau 2.0 boards (jungfrau structure, away from ctb) -- eiger febl and feb in versions -- fix ctb slow adcs @@ -38,22 +35,24 @@ This document describes the differences between v7.x.x and v7.0.2 ========================================== - Eiger 7.0.0 - Jungfrau 7.0.2 - Mythen3 7.0.0 - Gotthard2 7.0.0 - Gotthard 7.0.0 - Moench 7.0.0 - Ctb 7.0.0 - + Eiger 9.0.0 + Jungfrau 9.0.0 + Mythen3 9.0.0 + Gotthard2 9.0.0 + Gotthard 9.0.0 + Moench 9.0.0 + On-board Detector Server Upgrade -------------------------------- From v6.1.0 (without tftp): - Using command 'updatedetectorserver' - From 5.0.0 (with tftp): - Using command 'copydetectorserver' + update only on-board detector server + Using command 'updatedetectorserver' + + + udpate both on-board detector server and firmware simultaneously + Using command 'update' Instructions available at https://slsdetectorgroup.github.io/devdoc/serverupgrade.html @@ -65,22 +64,20 @@ This document describes the differences between v7.x.x and v7.0.2 ======================== - Eiger 20.02.2023 (v31) + Eiger 02.10.2023 (v32) (updated in 7.0.3) - Jungfrau 04.11.2022 (v1.4, HW v1.0) - 03.11.2022 (v2.4, HW v2.0) + Jungfrau 01.10.2024 (v1.6, HW v1.0) (updated in 9.0.0) + 01.10.2024 (v2.6, HW v2.0) (updated in 9.0.0) - Mythen3 24.01.2023 (v1.4) + Mythen3 11.10.2024 (v1.5) (updated in 9.0.0) - Gotthard2 23.11.2022 (v0.3) + Gotthard2 03.10.2024 (v1.0) (updated in 9.0.0) + + Moench 26.10.2023 (v2.0) (updated in 9.0.0) Gotthard 08.02.2018 (50um and 25um Master) 09.02.2018 (25 um Slave) - Moench 05.12.2022 (v0.3) - - Ctb 03.04.2023 (v1.2?) - Detector Upgrade ---------------- @@ -92,7 +89,6 @@ This document describes the differences between v7.x.x and v7.0.2 Mythen3 via command <.rbf> Gotthard2 via command <.rbf> Moench via command <.pof> - Ctb via command <.pof> Gotthard cannot be upgraded remotely @@ -100,7 +96,7 @@ This document describes the differences between v7.x.x and v7.0.2 upgrade Using command 'programfpga' or - udpate both server and firmware simultaneously + udpate both on-board detector server and firmware simultaneously Using command 'update' @@ -113,6 +109,7 @@ This document describes the differences between v7.x.x and v7.0.2 4 Kernel Requirements ====================== + Blackfin -------- Latest version: Fri Oct 29 00:00:00 2021 @@ -120,10 +117,12 @@ This document describes the differences between v7.x.x and v7.0.2 Older ones will work, but might have issues with programming firmware via the package. + Nios ----- Compatible version: Mon May 10 18:00:21 CEST 2021 + Kernel Upgrade --------------- Eiger via bit files @@ -212,4 +211,4 @@ This document describes the differences between v7.x.x and v7.0.2 ------- dhanya.thattil@psi.ch - erik.frojdh@psi.ch + erik.frojdh@psi.ch \ No newline at end of file diff --git a/ctbGui/CMakeLists.txt b/ctbGui/CMakeLists.txt deleted file mode 100644 index 1799bddc5..000000000 --- a/ctbGui/CMakeLists.txt +++ /dev/null @@ -1,90 +0,0 @@ -# SPDX-License-Identifier: LGPL-3.0-or-other -# Copyright (C) 2021 Contributors to the SLS Detector Package - - -find_package(ROOT CONFIG REQUIRED COMPONENTS Core Gui) -find_package(TIFF REQUIRED) - -target_include_directories(ROOT::Core INTERFACE "${ROOT_INCLUDE_DIRS}") -add_library(ROOT::Flags_CXX IMPORTED INTERFACE) -separate_arguments(ROOT_CXX_FLAGS) -target_compile_options(ROOT::Flags_CXX INTERFACE ${ROOT_CXX_FLAGS}) -separate_arguments(ROOT_DEFINITIONS) -target_compile_definitions(ROOT::Flags_CXX INTERFACE ${ROOT_DEFINITIONS}) - -# This fixes a bug in the linker flags -string(REPLACE "-L " "-L" ROOT_EXE_LINKER_FLAGS "${ROOT_EXE_LINKER_FLAGS}") -separate_arguments(ROOT_EXE_LINKER_FLAGS) - -# Stuck into using old property method due to separate -L and -l arguments -# (A full path to -l is better!) -set_property(TARGET ROOT::Flags_CXX PROPERTY - INTERFACE_LINK_LIBRARIES ${ROOT_EXE_LINKER_FLAGS}) -set_property(TARGET ROOT::Core PROPERTY - INTERFACE_INCLUDE_DIRECTORIES "${ROOT_INCLUDE_DIRS}") - - -add_executable(ctbGui - ctbGui.cpp - ctbMain.cpp - ctbDacs.cpp - ctbPowers.cpp - ctbSlowAdcs.cpp - ctbSignals.cpp - ctbAdcs.cpp - ctbPattern.cpp - ctbAcquisition.cpp - ${CMAKE_SOURCE_DIR}/slsDetectorCalibration/tiffio/src/tiffIO.cpp -) - - -#TODO! Replace with target -target_include_directories(ctbGui PRIVATE - ${CMAKE_SOURCE_DIR}/slsDetectorCalibration/dataStructures - ${CMAKE_SOURCE_DIR}/slsDetectorCalibration/interpolations - ${CMAKE_SOURCE_DIR}/slsDetectorCalibration/ - ${CMAKE_SOURCE_DIR}/slsDetectorCalibration/tiffio/include/ -) - -# Headders needed for ROOT dictionary generation -set( HEADERS - ctbDefs.h - ctbMain.h - ctbDacs.h - ctbPattern.h - ctbSignals.h - ctbAdcs.h - ctbAcquisition.h - ctbPowers.h - ctbSlowAdcs.h -) - -#set(ROOT_INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) - -# ROOT dictionary generation -root_generate_dictionary(ctbDict ${HEADERS} LINKDEF ctbLinkDef.h) -add_library(ctbRootLib SHARED ctbDict.cxx) -target_include_directories(ctbRootLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -target_link_libraries(ctbRootLib PUBLIC - ROOT::Core - slsDetectorShared - ${ROOT_LIBRARIES} - ${ROOT_EXE_LINKER_FLAGS} -) - -set_target_properties( - ctbRootLib PROPERTIES - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin -) - -target_link_libraries(ctbGui PUBLIC - slsDetectorShared - ctbRootLib - ${TIFF_LIBRARIES} -) - -set_target_properties(ctbGui PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin - -) - diff --git a/ctbGui/Makefile.root5 b/ctbGui/Makefile.root5 deleted file mode 100644 index 050acbc17..000000000 --- a/ctbGui/Makefile.root5 +++ /dev/null @@ -1,46 +0,0 @@ -# SPDX-License-Identifier: LGPL-3.0-or-other -# Copyright (C) 2021 Contributors to the SLS Detector Package - - -INCS=ctbMain.h ctbDacs.h ctbPattern.h ctbSignals.h ctbAdcs.h ctbAcquisition.h ctbPowers.h ctbSlowAdcs.h -SRC= $(INCS:.h=.cpp) ctbDict.cpp -LINKDEF=ctbLinkDef.h -ZMQLIB=../slsReceiverSoftware/include -LIBRARYCBF=$(CBFLIBDIR)/lib/*.o - -INCDIR=-I../slsReceiverSoftware/include/ -I../slsDetectorSoftware/include/ -I../slsSupportLib/include/ -I../slsDetectorCalibration -I../slsDetectorCalibration/dataStructures -I$(CBFLIBDIR)/include -I../slsDetectorCalibration/interpolations -LDFLAG=-L../build/bin -lSlsDetector -lSlsSupport -L/usr/lib64/ -lpthread -lm -lstdc++ -lzmq -pthread -lrt -ltiff -L$(ZMQLIB) -L$(CBFLIBDIR)/lib/ -std=c++11 -# -MAIN=ctbGui.cpp - -DESTDIR?=../build/bin - - -OBJS = $(SRC:.cpp=.o) $(MAIN:.cpp=.o) - -all: $(DESTDIR)/ctbGui - - -doc: - cd manual && make DESTDIR=$(DESTDIR) - -htmldoc: - cd manual && make html DESTDIR=$(DESTDIR) - -ctbDict.cpp: $(INCS) $(LINKDEF) - rootcint -f ctbDict.cpp -c $(INCS) $(LINKDEF) - -%.o : %.cpp - echo $@ - g++ -DMYROOT `root-config --cflags --glibs` -lMinuit -DCTB $(LDFLAG) -o $@ -c $< $(INCDIR) -#$(CXX) -o $@ -c $< $(INCLUDES) $(DFLAGS) -fPIC $(EPICSFLAGS) -lpthread #$(FLAGS) - - - -$(DESTDIR)/ctbGui: $(OBJS) $(LINKDEF) - g++ -DMYROOT `root-config --cflags --glibs` -lMinuit -DCTB $(LDFLAG) -o ctbGui $(INCDIR) $(OBJS) ../slsDetectorCalibration/tiffIO.cpp - mv ctbGui $(DESTDIR) - -clean: - rm -f $(DESTDIR)/ctbGui *.o ctbDict.* $(OBJS) - diff --git a/ctbGui/Makefile.root6 b/ctbGui/Makefile.root6 deleted file mode 100644 index 338949617..000000000 --- a/ctbGui/Makefile.root6 +++ /dev/null @@ -1,48 +0,0 @@ -# SPDX-License-Identifier: LGPL-3.0-or-other -# Copyright (C) 2021 Contributors to the SLS Detector Package - - -INCS=ctbMain.h ctbDacs.h ctbPattern.h ctbSignals.h ctbAdcs.h ctbAcquisition.h ctbPowers.h ctbSlowAdcs.h -SRC= $(INCS:.h=.cpp) ctbDict.cpp -LINKDEF=ctbLinkDef.h -#ctbActions.h -ZMQLIB=../slsReceiverSoftware/include -LIBRARYCBF=$(CBFLIBDIR)/lib/*.o - -INCDIR=-I../slsReceiverSoftware/include/ -I../slsDetectorSoftware/include/ -I../slsSupportLib/include/ -I../slsDetectorCalibration -I../slsDetectorCalibration/dataStructures -I$(CBFLIBDIR)/include -I../slsDetectorCalibration/interpolations - -LDFLAG=-L../build/bin -lSlsDetector -lSlsSupport -L/usr/lib64/ -lpthread -lm -lstdc++ -lzmq -pthread -lrt -ltiff -L$(ZMQLIB) -L$(CBFLIBDIR)/lib/ -std=c++11 -# -MAIN=ctbGui.cpp - -DESTDIR?=../build/bin - - -OBJS = $(SRC:.cpp=.o) $(MAIN:.cpp=.o) - -all: $(DESTDIR)/ctbGui - - -doc: - cd manual && make DESTDIR=$(DESTDIR) - -htmldoc: - cd manual && make html DESTDIR=$(DESTDIR) - -ctbDict.cpp: $(INCS) $(LINKDEF) - rootcling -f ctbDict.cpp -c $(INCS) $(LINKDEF) - -%.o : %.cpp - echo $@ - g++ -DMYROOT `source root-config --cflags --glibs` -lMinuit -DCTB $(LDFLAG) -o $@ -c $< $(INCDIR) -#$(CXX) -o $@ -c $< $(INCLUDES) $(DFLAGS) -fPIC $(EPICSFLAGS) -lpthread #$(FLAGS) - - - -$(DESTDIR)/ctbGui: $(OBJS) $(LINKDEF) - g++ -DMYROOT `source root-config --cflags --glibs` -lMinuit -DCTB $(LDFLAG) -o ctbGui $(INCDIR) $(OBJS) ../slsDetectorCalibration/tiffIO.cpp - mv ctbGui $(DESTDIR) - -clean: - rm -f $(DESTDIR)/ctbGui *.o ctbDict.* $(OBJS) - diff --git a/ctbGui/ctbAcquisition.cpp b/ctbGui/ctbAcquisition.cpp deleted file mode 100644 index 8de365271..000000000 --- a/ctbGui/ctbAcquisition.cpp +++ /dev/null @@ -1,2277 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -//#define TESTADC - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include -#include -#include -#include - -#include "ctbAcquisition.h" -#include "ctbDefs.h" -#include "sls/Detector.h" -#include "sls/sls_detector_defs.h" -#include "ctbMain.h" -#include "moench03CtbData.h" -//#include "moench03TCtbData.h" -//#include "moench03T1CtbData.h" -#include "moench03CommonMode.h" -#include "moench03T1ZmqDataNew.h" -#include "moench02CtbData.h" -//#include "jungfrau10ModuleData.h" -#include "moenchCommonMode.h" -#include "singlePhotonDetector.h" -#include "Mythen3_01_jctbData.h" -#include "Mythen3_02_jctbData.h" -#include "adcSar2_jctbData.h" -#include "moench04CtbZmqData.h" -#include "moench04CtbZmq10GbData.h" -#include "deserializer.h" -#include "sls/detectorData.h" -#include "imageZmq16bit.h" -#include "imageZmq32bit.h" - - -using namespace std; - - - - -ctbAcquisition::ctbAcquisition(TGVerticalFrame *page, sls::Detector *det) : TGGroupFrame(page,"Acquisition",kVerticalFrame), myDet(det), myCanvas(NULL), globalPlot(0), tenG(0), nAnalogSamples(1), nDigitalSamples(1), dataStructure(NULL), photonFinder(NULL), cmSub(0), dBitMask(0xffffffffffffffff), deserializer(0) { - - adcFit=NULL; - bitPlot=NULL; - countsFit=NULL; - - page->AddFrame(this,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - MapWindow(); - - TGHorizontalFrame *hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - char tit[100]; - - cout << "outfile "<< endl; - - cFileSave= new TGCheckButton(hframe, "Output file: "); - hframe->AddFrame(cFileSave,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 5, 5, 5, 5)); - cFileSave->MapWindow(); - cFileSave->SetTextJustify(kTextRight); - cFileSave->Connect("Toggled(Bool_t)","ctbAcquisition",this,"setFsave(Bool_t)"); - - std::string temp = "run"; - try { - temp = myDet->getFileNamePrefix().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get file name prefix.", "ctbAcquisition::ctbAcquisition") - eFname = new TGTextEntry(hframe, temp.c_str()); - - hframe->AddFrame(eFname,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 5, 5, 5, 5)); - eFname->MapWindow(); - eFname->Resize(150,30); - - eFname->Connect("ReturnPressed()","ctbAcquisition",this,"setFname()"); - - - TGLabel *label=new TGLabel(hframe,"index: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eFindex = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - hframe->AddFrame( eFindex,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eFindex->MapWindow(); - eFindex->Resize(150,30); - TGTextEntry *e= eFindex->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbAcquisition",this,"setFindex()"); - - - - - cout << "outdir "<< endl; - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - label=new TGLabel(hframe,"Output directory: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - - temp = "/tmp/"; - try { - temp = myDet->getFilePath().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get file path.", "ctbAcquisition::ctbAcquisition") - eOutdir = new TGTextEntry(hframe, temp.c_str()); - - hframe->AddFrame(eOutdir,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 5, 5, 5, 5)); - eOutdir->MapWindow(); - eOutdir->Resize(150,30); - - - eOutdir->Connect("ReturnPressed()","ctbAcquisition",this,"setOutdir()"); - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - cout << "meas "<< endl; -label=new TGLabel(hframe,"Number of Measurements (fake): "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eMeasurements = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - hframe->AddFrame( eMeasurements,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eMeasurements->MapWindow(); - eMeasurements->Resize(150,30); - eMeasurements->SetNumber(1); - e= eMeasurements->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbAcquisition",this,"setMeasurements()"); - - - - -hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - - cout << "pattern "<< endl; - - - - - cCompile= new TGCheckButton(hframe, "Compile"); - hframe->AddFrame(cCompile,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 5, 5, 5, 5)); - cCompile->MapWindow(); - cCompile->SetOn(); - // cCompile->Connect("Toggled(Bool_t)","ctbAcquisition",this,"setFsave(Bool_t)"); - - - cLoad= new TGTextButton(hframe, "Load"); - hframe->AddFrame(cLoad,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 5, 5, 5, 5)); - cLoad->MapWindow(); - cLoad->Connect("Clicked()","ctbAcquisition",this,"loadPattern()"); - - -// cRun= new TGCheckButton(hframe, "Run"); -// hframe->AddFrame(cRun,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 5, 5, 5, 5)); -// cRun->MapWindow(); -// // cCompile->Connect("Toggled(Bool_t)","ctbAcquisition",this,"setFsave(Bool_t)"); - - - - - - - bStatus=new TGTextButton(hframe, "Start"); - hframe->AddFrame(bStatus,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 5, 5, 5, 5)); - bStatus->MapWindow(); - bStatus->Connect("Clicked()","ctbAcquisition",this,"toggleAcquisition()"); - - - - - - cout << "plot "<< endl; - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - - label=new TGLabel(hframe,"Plot: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - - - - - TGButtonGroup *bgPlot = new TGButtonGroup(hframe); - // horizontal->SetTitlePos(TGGroupFrame::kCenter); - rbPlotOff=new TGRadioButton(hframe, "No plot"); - rbWaveform=new TGRadioButton(hframe, "Waveform"); - rbDistribution=new TGRadioButton(hframe, "Distribution"); - rb2D=new TGRadioButton(hframe, "Image"); - // rbScan=new TGRadioButton(hframe, "Scan"); - - cbDetType=new TGComboBox(hframe); - // enum {DESERIALIZER, MOENCH04, MOENCH02, ADCSAR2, MYTHEN301, MYTHEN302, MAXDET}; - cbDetType->AddEntry("Deserializer", DESERIALIZER); - cbDetType->AddEntry("MOENCH02", MOENCH02); - cbDetType->AddEntry("MOENCH04", MOENCH04); - // cbDetType->AddEntry("JUNGFRAU1.0", 2); - cbDetType->AddEntry("MOENCH03",MOENCH03); - cbDetType->AddEntry("IMAGE32BIT",IMAGE32B); - cbDetType->AddEntry("IMAGE16BIT",IMAGE16B); - - //cbDetType->AddEntry("MOENCH03", iiii++); - // cbDetType->AddEntry("MYTHEN3 0.1", MYTHEN301); - // cbDetType->AddEntry("ADCSAR2", ADCSAR2); - // cbDetType->AddEntry("MYTHEN3 0.2", MYTHEN302); - - cbDetType->SetHeight(20); - cbDetType->Select(0); - - bgPlot->Insert(rbPlotOff,0); - bgPlot->Insert(rbWaveform,1); - bgPlot->Insert(rbDistribution,2); - bgPlot->Insert(rb2D,3); - // bgPlot->Insert(rbScan,4); - - bgPlot->Connect("Clicked(Int_t)", "ctbAcquisition", this, "changePlot(Int_t)"); - // hframe->AddFrame(bgPlot, new TGLayoutHints(kLHintsExpandX)); - - cbDetType->Connect("Selected(Int_t)", "ctbAcquisition",this, "changeDetector(Int_t)"); - hframe->AddFrame(rbPlotOff, new TGLayoutHints(kLHintsTop | kLHintsExpandX)); - hframe->AddFrame(rbWaveform, new TGLayoutHints(kLHintsTop | kLHintsExpandX)); - hframe->AddFrame(rbDistribution, new TGLayoutHints(kLHintsTop | kLHintsExpandX)); - hframe->AddFrame(rb2D, new TGLayoutHints(kLHintsTop | kLHintsExpandX)); - // hframe->AddFrame(rbScan, new TGLayoutHints(kLHintsTop | kLHintsExpandX)); - hframe->AddFrame(cbDetType, new TGLayoutHints(kLHintsTop | kLHintsExpandX| kLHintsExpandY)); - - - bgPlot->SetExclusive(kTRUE); - rbWaveform->SetOn(); - rbPlotOff->MapWindow(); - rbWaveform->MapWindow(); - rbDistribution->MapWindow(); - rb2D->MapWindow(); - // rbScan->MapWindow(); - cbDetType->MapWindow(); - - - - - // cout << "off "<< endl; - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - label=new TGLabel(hframe,"Serial offset:"); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eSerOff=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,16535); - hframe->AddFrame(eSerOff,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eSerOff->MapWindow(); - eSerOff->SetNumber(0); - e= eSerOff->TGNumberEntry::GetNumberEntry(); - eSerOff->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeSerialOffset(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeSerialOffset()"); - - - label=new TGLabel(hframe,"N counters:"); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eNumCount=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,16535); - hframe->AddFrame(eNumCount,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eNumCount->MapWindow();; - eNumCount->SetNumber(128*3); - e= eNumCount->TGNumberEntry::GetNumberEntry(); - eNumCount->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeNumberOfChannels(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeNumberOfChannels()"); - - - - cout << "dr "<< endl; - - label=new TGLabel(hframe,"Dynamic Range:"); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eDynRange=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,16535); - hframe->AddFrame(eDynRange,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eDynRange->MapWindow();; - eDynRange->SetNumber(24); - e= eDynRange->TGNumberEntry::GetNumberEntry(); - eDynRange->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeDynamicRange(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeDynamicRange()"); - - - - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - label=new TGLabel(hframe,"Image Pixels"); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - label=new TGLabel(hframe,"X: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - ePixX=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,16535); - hframe->AddFrame(ePixX,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - ePixX->MapWindow(); - ePixX->SetNumber(400); - e= ePixX->TGNumberEntry::GetNumberEntry(); - ePixX->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeImagePixels(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeImagePixels()"); - - - - label=new TGLabel(hframe,"Y: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - ePixY=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,16535); - hframe->AddFrame(ePixY,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - ePixY->MapWindow(); - ePixY->SetNumber(400); - e= ePixY->TGNumberEntry::GetNumberEntry(); - ePixY->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeImagePixels(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeImagePixels()"); - - - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - label=new TGLabel(hframe,"Pedestal "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - - cbGetPedestal= new TGCheckButton(hframe, "Acquire"); - hframe->AddFrame(cbGetPedestal,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - cbGetPedestal->MapWindow(); - - cbSubtractPedestal= new TGCheckButton(hframe, "Subtract"); - hframe->AddFrame(cbSubtractPedestal,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - cbSubtractPedestal->MapWindow(); - - - cbSubtractPedestal->Connect("Toggled(Bool_t)","ctbAcquisition",this,"TogglePedSub(Bool_t)"); - - cbCommonMode= new TGCheckButton(hframe, "Common Mode"); - hframe->AddFrame(cbCommonMode,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - cbCommonMode->MapWindow(); - - - cbCommonMode->Connect("Toggled(Bool_t)","ctbAcquisition",this,"ToggleCommonMode(Bool_t)"); - - - bResetPedestal= new TGTextButton(hframe, "Reset"); - hframe->AddFrame(bResetPedestal,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - bResetPedestal->MapWindow(); - - - bResetPedestal->Connect("Clicked()","ctbAcquisition",this,"resetPedestal()"); - - - - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - cMinMaxRaw=new TGCheckButton(hframe,"Raw data "); - hframe->AddFrame(cMinMaxRaw,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - cMinMaxRaw->MapWindow(); - cMinMaxRaw->Connect("Toggled(Bool_t)","ctbAcquisition",this,"ChangeHistoLimitsRaw(Bool_t)"); - - - - - label=new TGLabel(hframe,"Min: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eMinRaw=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,16535); - hframe->AddFrame(eMinRaw,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eMinRaw->MapWindow();; - eMinRaw->SetNumber(0); - e= eMinRaw->TGNumberEntry::GetNumberEntry(); - eMinRaw->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeHistoLimitsRaw(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeHistoLimitsRaw()"); - - - label=new TGLabel(hframe,"Max: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - - - eMaxRaw=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,16535); - hframe->AddFrame(eMaxRaw,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eMaxRaw->MapWindow();; - eMaxRaw->SetNumber(16535); - - e= eMaxRaw->TGNumberEntry::GetNumberEntry(); - eMaxRaw->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeHistoLimitsRaw(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeHistoLimitsRaw()"); - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - cMinMaxPedSub=new TGCheckButton(hframe,"Pedestal Subtracted "); - hframe->AddFrame(cMinMaxPedSub,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - cMinMaxPedSub->MapWindow(); - cMinMaxPedSub->Connect("Toggled(Bool_t)","ctbAcquisition",this,"ChangeHistoLimitsPedSub(Bool_t)"); - - - label=new TGLabel(hframe,"Min: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eMinPedSub=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEAAnyNumber, - TGNumberFormat::kNELLimitMinMax,-16535,16535); - hframe->AddFrame(eMinPedSub,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eMinPedSub->MapWindow();; - eMinPedSub->SetNumber(-100); - - e= eMinPedSub->TGNumberEntry::GetNumberEntry(); - - eMinPedSub->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeHistoLimitsPedSub(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeHistoLimitsPedSub()"); - - - label=new TGLabel(hframe,"Max: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - eMaxPedSub=new TGNumberEntry(hframe,0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEAAnyNumber, - TGNumberFormat::kNELLimitMinMax,-16535,16535); - hframe->AddFrame(eMaxPedSub,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eMaxPedSub->MapWindow();; - eMaxPedSub->SetNumber(100); - - - e= eMaxPedSub->TGNumberEntry::GetNumberEntry(); - eMaxPedSub->Connect("ValueSet(Long_t)","ctbAcquisition",this,"ChangeHistoLimitsPedSub(Long_t)"); - e->Connect("ReturnPressed()","ctbAcquisition",this,"ChangeHistoLimitsPedSub()"); - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - - - TGTextButton *b= new TGTextButton(hframe, "Fit Panel ADC:"); - hframe->AddFrame(b,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - b->MapWindow(); - - - b->Connect("Clicked()","ctbAcquisition",this,"FitADC()"); - - - eFitADC=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,31); - hframe->AddFrame( eFitADC,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eFitADC->MapWindow();; - - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - - - b= new TGTextButton(hframe, "Plot bit:"); - hframe->AddFrame(b,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - b->MapWindow(); - - - b->Connect("Clicked()","ctbAcquisition",this,"plotBit()"); - - - eBitPlot=new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax,0,64); - hframe->AddFrame( eBitPlot,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eBitPlot->MapWindow();; - - - - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 10,10,10,10)); - hframe->MapWindow(); - - - - label=new TGLabel(hframe,"X "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - label=new TGLabel(hframe," "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - lClickX=label; - - - - label=new TGLabel(hframe,"Y "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - - label=new TGLabel(hframe," "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - lClickY=label; - - - label=new TGLabel(hframe,"Value "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextRight); - - - - - - label=new TGLabel(hframe," "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - lClickValue=label; - - - - - - - - b= new TGTextButton(hframe, "Refresh"); - hframe->AddFrame(b,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - b->MapWindow(); - - - b->Connect("Clicked()","ctbAcquisition",this,"Draw()"); - - - - - - - - - - - acqThread = new TThread("acqThread", - ctbAcquisition::ThreadHandle,(void*)this); - - cout <<"Registering data callback" << endl; - try { - myDet->registerDataCallback(&dataCallback, (void*)this); - } CATCH_DISPLAY ("Could not get register call back.", "ctbAcquisition::ctbAcquisition") - try { - myDet->setRxZmqDataStream(true); - } CATCH_DISPLAY ("Could not get set RxZmqDataStream.", "ctbAcquisition::ctbAcquisition") - cout <<"Done" << endl; - - // mgAdcs=new TMultiGraph(); - adcStack=new THStack(); - TH1F *h; - int nSamples=nAnalogSamples; - - for (int i=0; iSetLineColor(i+1); - h->SetLineWidth(2); - adcStack->Add(h); - adcHisto[i]=h; - plotFlag[i]=0; - // h->SetMinimum(-1); - // h->SetMaximum(16385); - } - - - // mgAdcs=new TMultiGraph(); - bitStack=new THStack(); - // bitStack=adcStack; - TH1F *hb; - for (int i=0; iSetLineColor(i+1); - hb->SetLineWidth(2); - bitStack->Add(hb); - bitHisto[i]=hb; - bitOffset[i]=0; - bitPlotFlag[i]=0; - // h->SetMinimum(-1); - // h->SetMaximum(16385); - } - - - countsStack=new THStack(); - TH1F *h1; - for (int i=0; iSetLineColor(i+1); - h1->SetFillColor(i+1); - h1->SetLineWidth(2); - countsStack->Add(h1); - countsHisto[i]=h1; - } - - dataStructure=NULL; - commonMode=NULL; - photonFinder=NULL; - h2DMapAn=NULL; - h2DMapDig=NULL; - //h2Scan=NULL; - h1DMap=NULL; - - changeDetector(cbDetType->GetSelected()); - - - - // display could be updated with TTimer instead of with histogramfillthread: - // plotTimer= new TTimer("ctbAcquisition::Draw()",100); - - - // plotTimer->Connect("TurnOff()", "ctbAcquisition", this, "Draw()"); -} - - - - -void ctbAcquisition::canvasClicked() { - int event = gPad->GetEvent(); - if (event != 11) return; - TObject *select = gPad->GetSelected(); - if (!select) return; - - if (select->InheritsFrom("TH2")) { - TH2* hh=(TH2*)select; - - - - - int px = gPad->GetEventX(); - int py = gPad->GetEventY(); - Float_t upy = gPad->AbsPixeltoY(py); - Float_t y = gPad->PadtoY(upy); - Float_t upx = gPad->AbsPixeltoX(px); - Float_t x = gPad->PadtoY(upx); - - - // cout << "x: " << x << " y: " << y << " " << hh->GetBinContent(hh->GetXaxis()->FindBin(x), hh->GetYaxis()->FindBin(y)) << endl; - - - lClickX->SetText(hh->GetXaxis()->FindBin(x)-1); - lClickY->SetText( hh->GetYaxis()->FindBin(y)-1); - lClickValue->SetText(hh->GetBinContent(hh->GetXaxis()->FindBin(x), hh->GetYaxis()->FindBin(y))); - - - - - - - } else if (select->InheritsFrom("TH1")) { - - TH1* h1=(TH1*)select; - int px = gPad->GetEventX(); - Float_t upx = gPad->AbsPixeltoX(px); - Float_t x = gPad->PadtoY(upx); - - - // cout << "x: " << x << " y: " << y << " " << hh->GetBinContent(hh->GetXaxis()->FindBin(x), hh->GetYaxis()->FindBin(y)) << endl; - - - lClickX->SetText(h1->GetXaxis()->FindBin(x)-1); - lClickY->SetText(" "); - lClickValue->SetText(h1->GetBinContent(h1->GetXaxis()->FindBin(x))); - - - - - - } else// if ((select->ClassName())=="THStack") { - { - - - int px = gPad->GetEventX(); - int py = gPad->GetEventY(); - Float_t upy = gPad->AbsPixeltoY(py); - Float_t y = gPad->PadtoY(upy); - Float_t upx = gPad->AbsPixeltoX(px); - Float_t x = gPad->PadtoY(upx); - - - lClickX->SetText(x); - lClickY->SetText(y); - lClickValue->SetText(""); - - - - } - -} - - - - - - -void ctbAcquisition::setCanvas(TCanvas* c) { - myCanvas=c; - myCanvas->cd(); - myCanvas->AddExec("dynamic",Form("((ctbAcquisition*)%p)->canvasClicked()",this)); - // myCanvas->AddExec("ex","canvasClicked()"); -} -void ctbAcquisition::dataCallback(sls::detectorData *data, long unsigned int index, unsigned int dum, void* pArgs) { - - // return - ((ctbAcquisition*)pArgs)->plotData(data,index); -} - - -int ctbAcquisition::plotData(sls::detectorData *data, int index) { - - /* -****************************************************************** -When selecting dbit -amount of data is nadc * nasamples * 16 bit + ndbitlist * ndsamples (bits) -order of data -analog: -sample0 (adc0 + adc1 +...) -sample1 (adc0 + adc1 +...) -digital: -dbit0 (sample0 + sample1 ...) -dbit1 (sample0 + sample1..) - -when setting dbit to all -amount of data: nadc * nasamples * 16 bit + 8 * ndsamples * 64 bit -what you had before.. -except analog first, then digital -analog: -sample0 (adc0 + adc1 +...) -sample1 (adc0 + adc1 +...) -digital: -sample0 (dbit0 + dbit1 +...) -sample1 (dbit0 + dbit1 +...)if (cmd == "rx_dbitlist") { - - if (action == PUT_ACTION) { - std::vector dbitlist; - - // if not all digital bits enabled - if (std::string(args[1]) != "all") { - for (int i = 1; i < narg; ++i) { - int temp = 0; - if (!sscanf(args[i], "%d", &temp)) - return std::string("Could not scan dbitlist value ") + - std::string(args[i]); - if (temp < 0 || temp > 63) - return std::string("dbitlist value should be between 0 and 63 ") + - std::string(args[i]); - dbitlist.push_back(temp); - } - if (dbitlist.size() > 64) { - return std::string("Max number of values for dbitlist is 64 "); - } - } - - myDet->setReceiverDbitList(dbitlist, detPos); - } - -****************************************************************** -*/ - - // cout << "plot data" << endl; - - - // cout <<"global plot is " << globalPlot << endl; - // cout << "*******************************************" <progressIndex << " nx:" << data->nx << " ny: " << data->ny << " " << data->fileName << " bytes: " << data->databytes << " dr:"<< data->dynamicRange << " fi: " << data ->fileIndex << endl; - if (globalPlot || cbGetPedestal->IsOn()) { - //#ifdef TESTADC - // cout <<"------"<< index << " " << ip << " " << data->npoints << endl; - //#endif - int ig=0; - int i, ii, ib; - // TList *l= adcStack->GetHists(); - // TList *l1= countsStack->GetHists(); - TH1F *h; - TH1F *h1; - TH1F *hb; - int x; - double ped=0; - int dsize=-1; - int *val=NULL; - int nx=1, ny=1; - - if (dataStructure) { - dataStructure->getDetectorSize(nx,ny); - cout << "Data structure: " << dataStructure << " size " << nx << " " << ny << endl; - } - int dr=24, soff=2; - if (deserializer) { - nx=eNumCount->GetIntNumber(); - dr=eDynRange->GetIntNumber(); - soff=eSerOff->GetIntNumber(); - // cout <<"deserializer: " << endl; - // cout << "Number of chans:\t" << nx << endl; - // cout << "Serial Offset:\t" << soff << endl; - // cout << "Dynamic range:\t" << dr << endl; - - } - - i=0; - int nadc; - int ndbit; - - tenG = 0; - - - - - if (adclist.empty()) - nadc=32; - else - nadc=adclist.size(); - - std::vector plotlist; - if (dbitlist.empty()) { - ndbit=64; - dBitOffset=0; - for (ib=0; ib<64; ib++){ - if (bitPlotFlag[ib]) { - plotlist.push_back(ib); - } - } - } else - ndbit=dbitlist.size(); - if (tenG){ - - if (nDigitalSamples && nAnalogSamples){ - if (nDigitalSamples>nAnalogSamples) - dsize=nDigitalSamples*(32*2+8); - else - dsize=nAnalogSamples*(32*2+8); - } else - dsize=32*2*nAnalogSamples+8*nDigitalSamples; - - } else - dsize=nadc*2*nAnalogSamples+ndbit*(nDigitalSamples-dBitOffset/8)/8; - - cout << "dataBytes is " << data->databytes << " expected " << dsize << endl; - - cout << "*******************************************" <data; - else - d_data = data->data+2*nadc*nAnalogSamples; - char dval; - - - if (dataStructure) { - - - for (int x=0; xgetValue(data->data,x,y); - //aval=dataStructure->getChannel(data->data,x,y); - // cout << x << " " <IsOn()) { - if (photonFinder) { - photonFinder->addToPedestal(aval,x,y); - } - } - - if (cbSubtractPedestal->IsOn()) { - if (photonFinder) { - ped=photonFinder->getPedestal(x,y,cmSub); - } - } - if (h2DMapAn) - h2DMapAn->SetBinContent(x+1,y+1,aval-ped); - - - - - if (h2DMapDig) - h2DMapDig->SetBinContent(x+1,y+1,dataStructure->getGain(data->data,x,y)); - - - } - } - } else - if (deserializer) { - cout << "deserializer"<< endl; - if (dbitlist.empty()) - val=deserializer::deserializeAll(d_data,plotlist,dr,nx,soff);//dataStructure->getData(d_data); - else - val=deserializer::deserializeList(d_data,dbitlist,dr,nx,soff);//dataStructure->getData(d_data); - - - if (val) { - if (h1DMap){ - for (x=0; xSetBinContent(x+1,val[x]); - } - } - delete [] val; - } else - cout << "get val did not succeed"<getChannel(i); - // else - aval=data->getChannel(i);//*((uint16_t*)(data->cvalues+i*2));// - - if (plotFlag[ig]) { - - //if (enableFlag[ig]) { - h=adcHisto[ig]; - h1=countsHisto[ig]; - //} - - // cout << data->getChannel(i) << endl; - h->SetBinContent(ip+1,aval); - h1->Fill(aval); - } - - i++; - } - if (tenG) i+=4; - - } - - - cout << "bit histo"<< endl; - - if (dbitlist.empty()) { - for (ip=0; ipSetBinContent(ip+1,1+bitOffset[ib]); - else - hb->SetBinContent(ip+1,bitOffset[ib]); - } - } - - } - } - } else { - ii=0; - int iii=0; - for (const auto &value : dbitlist) { - ib=value; - hb=bitHisto[ib]; - // cout << dec <SetBinContent(iii,1+bitOffset[ib]); - else - hb->SetBinContent(iii,bitOffset[ib]); - iii++; - } - } - } - ii++; - } - } - } - Draw(); - // iScanStep++; - if (photonFinder) - photonFinder->newFrame(); - } - return 0; - -} - - - -void ctbAcquisition::Draw(){ - if (globalPlot) { - // TThread::Lock(); - cout << "Draw" << endl; - if (myCanvas) { - if (adcPlot && dbitPlot) { - - myCanvas->cd(1); - // myCanvas->Modified(); - // myCanvas->Update(); - gPad->Modified(); - gPad->Update(); - - myCanvas->cd(2); - // myCanvas->Modified(); - // myCanvas->Update(); - gPad->Modified(); - gPad->Update(); - - } else { - - myCanvas->cd(); - myCanvas->Modified(); - myCanvas->Update(); - - } - } - // TThread::UnLock(); - } - -} - - -//here!! -void ctbAcquisition::changePlot(){ - if (rbPlotOff->IsOn()) { - adcPlot=0; - dbitPlot=0; - try { - myDet->registerDataCallback(nullptr, this); - } CATCH_DISPLAY ("Could not get unregister call back.", "ctbAcquisition::ctbAcquisition") - try { - myDet->setRxZmqDataStream(false); - } CATCH_DISPLAY ("Could not get unset RxZmqDataStream.", "ctbAcquisition::ctbAcquisition") - } else { - try { - myDet->registerDataCallback(&dataCallback, (void*)this); - } CATCH_DISPLAY ("Could not get register call back.", "ctbAcquisition::ctbAcquisition") - try { - myDet->setRxZmqDataStream(true); - } CATCH_DISPLAY ("Could not get set RxZmqDataStream.", "ctbAcquisition::ctbAcquisition") - adcPlot=0; - dbitPlot=0; - for (int ii=0; iiGetPad(1)==NULL || myCanvas->GetPad(2)==NULL) { - myCanvas->Clear(); - myCanvas->Divide(1,2); - } else - cout << "Pad already there" << endl; - myCanvas->cd(1); - } else { - myCanvas->Clear(); - // myCanvas->Divide(1,1); - myCanvas->cd(); - } - - if (adcPlot) { - if (rbWaveform->IsOn()) - if (adcStack) - adcStack->Draw("NOSTACK"); - else - cout << "adcStack is NULL" << endl; - else if (rbDistribution->IsOn()) - if (countsStack) - countsStack->Draw("NOSTACK"); - else - cout << "countsStack is NULL" << endl; - else if (rb2D->IsOn()) { - if (h2DMapAn) - h2DMapAn->Draw("colz"); - else if (h1DMap) - h1DMap->Draw(); - else - cout << "h2DMap and h1DMap are NULL" << endl; - } - } - - if (dbitPlot) { - if (adcPlot) - myCanvas->cd(2); - if (rb2D->IsOn()) { - if (h2DMapDig) - h2DMapDig->Draw("colz"); - else if (h1DMap) - h1DMap->Draw(); - } else if (bitStack) - bitStack->Draw("NOSTACK"); - else - cout << "bitStack is NULL" << endl; - } - - - // else if (rbScan->IsOn()) { - // if (h2Scan) - // h2Scan->Draw("colz"); - // else - // cout << "h2Scan is NULL" << endl; - // } - - Draw(); - - } -} - - - - - -void ctbAcquisition::changeDetector(){ - // cout << "change detector " << i << " old " << cbDetType->GetSelected() << endl; - - if (dataStructure) delete dataStructure; - if (commonMode) delete commonMode; - if (photonFinder) delete photonFinder; - if (h2DMapAn) delete h2DMapAn; - if (h2DMapDig) delete h2DMapDig; - if (h1DMap) delete h1DMap; - // if (h2Scan) delete h2Scan; - h2DMapAn=NULL; - h2DMapDig=NULL; - h1DMap=NULL; - // h2Scan=NULL; - photonFinder=NULL; - dataStructure=NULL; - commonMode=NULL; - - // TH2F *h2ScanOld=h2Scan; - - - int nx,ny; - int csize=3; - int nsigma=5; - commonModeSubtraction* cm=0; - eNumCount->SetState(kFALSE); - eDynRange->SetState(kFALSE); - eSerOff->SetState(kFALSE); - ePixX->SetState(kFALSE); - ePixY->SetState(kFALSE); - - deserializer=0; - if (rb2D->IsOn() ) {//|| rbScan->IsOn() - switch (cbDetType->GetSelected()) { - case DESERIALIZER: - deserializer=1; - cout << "DESERIALIZER!" << endl; - // dataStructure=new moench03T1CtbData(); - // commonMode=new moench03CommonMode(); - break; - case MOENCH04: - try { - auto retval = myDet->getTenGiga().tsquash("Different values"); - if (retval) { - dataStructure=new moench04CtbZmq10GbData(nAnalogSamples, nDigitalSamples); - } else { - dataStructure=new moench04CtbZmqData(nAnalogSamples, nDigitalSamples); - } - } CATCH_DISPLAY ("Could not get ten giga enable.", "ctbAcquisition::changeDetector") - - cout << "MOENCH 0.4!" << endl; - commonMode=new moench03CommonMode(); - break; - case MOENCH03: - //try { - // auto retval = myDet->getTenGiga().tsquash("Different values"); - // if (retval) { - dataStructure=new moench03T1ZmqDataNew(nAnalogSamples); - // } else { - // dataStructure=new moench04CtbZmqData(nAnalogSamples, nDigitalSamples); - // } - //} CATCH_DISPLAY ("Could not get ten giga enable.", "ctbAcquisition::changeDetector") - - cout << "MOENCH 0.3! USE JUNGFRAU MODULE!" << endl; - commonMode=new moench03CommonMode(); - break; - case IMAGE32B: - //try { - // auto retval = myDet->getTenGiga().tsquash("Different values"); - // if (retval) { - // if (deserializer) { - ePixX->SetState(kTRUE); - ePixY->SetState(kTRUE); - // } - dataStructure=new imageZmq32bit(ePixX->GetIntNumber(),ePixY->GetIntNumber()); - // } else { - // dataStructure=new moench04CtbZmqData(nAnalogSamples, nDigitalSamples); - // } - //} CATCH_DISPLAY ("Could not get ten giga enable.", "ctbAcquisition::changeDetector") - - cout << "Image 32bit, no channel shuffling" << endl; - commonMode=NULL; - break; - - case IMAGE16B: - //try { - // auto retval = myDet->getTenGiga().tsquash("Different values"); - // if (retval) { - // if (deserializer) { - ePixX->SetState(kTRUE); - ePixY->SetState(kTRUE); - // } - dataStructure=new imageZmq16bit(ePixX->GetIntNumber(),ePixY->GetIntNumber()); - // } else { - // dataStructure=new moench04CtbZmqData(nAnalogSamples, nDigitalSamples); - // } - //} CATCH_DISPLAY ("Could not get ten giga enable.", "ctbAcquisition::changeDetector") - - cout << "Image 16bit, no channel shuffling" << endl; - commonMode=NULL; - break; - - // case 1: - // cout << "************** T!!!!!!!!!!" << endl; - // dataStructure=new moench03TCtbData(); - // commonMode=new moench03CommonMode(); - // break; - case MOENCH02: - cout << "MOENCH 0.2" << endl; - dataStructure=new moench02CtbData(); - commonMode=new moenchCommonMode(); - break; - // case 2: - // dataStructure=new jungfrau10ModuleData(); - // commonMode=new commonModeSubtraction(); - // break; - // case 3: - // cout << "************** Flat!!!!!!!!!!" << endl; - // dataStructure=new moench03CtbData(); - // commonMode=new moench03CommonMode(); - // break; - // case MYTHEN301: - // deserializer=1; - // cout << "MYTHEN 3 0.1" << endl; - // dataStructure=new mythen3_01_jctbData(eNumCount->GetIntNumber(),eDynRange->GetIntNumber(),eSerOff->GetIntNumber()); - // //( int nch=64*3,int dr=24, int off=5) - // eNumCount->SetState(kTRUE); - // eDynRange->SetState(kTRUE); - // eSerOff->SetState(kTRUE); - // commonMode=NULL; - // dim=1; - // break; - // case ADCSAR2: - // deserializer=1; - // //adcsar2 - // dataStructure=new adcSar2_jctbData(); - // //need to use configurable number of counters, offset or dynamic range? - // commonMode=NULL; - // dim=1; - // break; - - // case MYTHEN302: - // deserializer=1; - // cout << "MYTHEN 3 0.2" << endl; - // dataStructure=new mythen3_02_jctbData(eNumCount->GetIntNumber(),eDynRange->GetIntNumber(),eSerOff->GetIntNumber()); - // //( int nch=64*3,int dr=24, int off=5) - // eNumCount->SetState(kTRUE); - // eDynRange->SetState(kTRUE); - // eSerOff->SetState(kTRUE); - // commonMode=NULL; - // dim=1; - // break; - default: - dataStructure=NULL; - commonMode=NULL; - } - if (cbCommonMode->IsOn()) cm=commonMode; - } - - if (dataStructure || deserializer) { - if (dataStructure) { - photonFinder=new singlePhotonDetector(dataStructure,csize,nsigma,1,cm); //sign is positive - should correct with ADC mask, no common mode - //photonFinder=new singlePhotonDetector(dataStructure,csize,nsigma,1,cm); //sign is positive - should correct with ADC mask, no common mode - dataStructure->getDetectorSize(nx,ny); - - } - if (deserializer) { - ny=1; - nx=eNumCount->GetIntNumber(); - eNumCount->SetState(kTRUE); - eDynRange->SetState(kTRUE); - eSerOff->SetState(kTRUE); - } - // cout << "h size is " << nx << " " << ny << endl; - int ymax=ny, xmax=nx; - // if (ny>500) {ny=ny/2;} - // if (nx>500) {nx=nx/2;} - cout << "*** " << nx << " " << ny << endl; - if (rb2D->IsOn()) { - if (ny>1) { - h2DMapAn=new TH2F("h2dmapAn","",nx,0,xmax,ny,0,ymax); - h2DMapAn->SetStats(kFALSE); - cout << "Created h2DMapAn"<< endl; - if (dbitPlot && adcPlot){ - h2DMapDig=new TH2F("h2dmapDig","",nx,0,xmax,ny,0,ymax); - h2DMapDig->SetStats(kFALSE); - cout << "Created h2DMapDig"<< endl; - } - } else { - h1DMap=new TH1F("h1dmap","",nx,0,xmax); - h1DMap->SetStats(kFALSE); - cout << "Created h1DMap"<< endl; - } - } // else if (rbScan->IsOn()) { - // int nsteps=0;//myDet->getScanSteps(0); - // double stepmin=0, stepmax=1; - // if (nsteps>0) { - // stepmin=myDet->getScanStep(0,0); - // stepmax=myDet->getScanStep(0,nsteps-1); - // } - // cout << "************ creating scan histogram " << nx*ny << " " << nsteps << " " << stepmin << " " << stepmax << endl; - // if (nsteps<1) nsteps=1; - // double hmin=stepmin, hmax=stepmax; - // if (stepmin>stepmax) { - // hmin=stepmax; - // hmax=stepmin; - // } - // h2Scan=new TH2F("h2scan","",nx*ny,0,nx*ny,nsteps,hmin,hmax); - // } - - } - - - cout << "done " << endl; -} - - - -void ctbAcquisition::changeDetector(int i){ - changePlot(); - changeDetector(); -} - -void ctbAcquisition::changePlot(int i){ - changePlot(); - changeDetector(); -} - - - -void ctbAcquisition::setGraph(int i ,int en, Pixel_t col) { - char name[100]; - // TList *l= mgAdcs->GetListOfGraphs(); - sprintf(name,"adc%d",i); - - // TList *l= adcStack->GetHists(); - TH1F *h=adcHisto[i];//(TH1F*)l->At(i);; - TH1F *h1=countsHisto[i];//(TH1F*)(countsStack->GetHists()->At(i)); - if (en) { - plotFlag[i]=1; - h->SetLineColor(TColor::GetColor(col)); - h1->SetLineColor(TColor::GetColor(col)); - h1->SetFillColor(TColor::GetColor(col)); - - if (adcStack->GetHists()) - // if (adcStack->GetHists()->GetEntries()) - if (adcStack->GetHists()->Contains(h)==0) - adcStack->Add(h); - - if (countsStack->GetHists()) - if (countsStack->GetHists()->Contains(h1)==0) - countsStack->Add(h1); - - cout << "Enable plot " << i << " color " << col << endl; - } else { - cout << "Disable plot " << i << endl; - plotFlag[i]=0; - if (adcStack->GetHists()) - // if (adcStack->GetHists()->GetEntries()) - if (adcStack->GetHists()->Contains(h)) - adcStack->RecursiveRemove(h); - if (countsStack->GetHists()) - if (countsStack->GetHists()->Contains(h1)) - countsStack->RecursiveRemove(h1); - } - cout << countsStack->GetHists()->GetEntries() << endl; - - cout << "Number of histos " << adcStack->GetHists()->GetEntries() << endl; - - changePlot(); - - // globalPlot=0; - // for (int ii=0; iiGetListOfGraphs(); - sprintf(name,"bit%d",i); - // TList *l= adcStack->GetHists(); - TH1F *h=bitHisto[i];//(TH1F*)l->At(i);; - if (en) { - //cout<< "enabling plot of bit "<SetLineColor(TColor::GetColor(col)); - if (bitStack->GetHists()) - //if (bitStack->GetHists()->GetEntries()) - if (bitStack->GetHists()->Contains(h)==0) - bitStack->Add(h); - - - cout << "Enable bit plot " << i << " color " << col << endl; - } else { - cout << "Disable bit plot " << i << endl; - bitPlotFlag[i]=0; - if (bitStack->GetHists()) - // if (bitStack->GetHists()->GetEntries()) - if (bitStack->GetHists()->Contains(h)) - bitStack->RecursiveRemove(h); - } - cout << "Number of histos " << bitStack->GetHists()->GetEntries() << endl; - - changePlot(); - - float off=0; - for (int ii=0; ii(1.5); - cout << "bit " << ii << " offset " << bitOffset[ii] << endl; - } - } - - // globalPlot=0; - // for (int ii=0; iisetFilePath(eOutdir->GetText()); - } CATCH_DISPLAY ("Could not set file path", "ctbAcquisition::setOutdir") -} - -void ctbAcquisition::setFname() { - try { - myDet->setFileNamePrefix(eFname->GetText()); - } CATCH_DISPLAY ("Could not set file name prefix", "ctbAcquisition::setFname") -} - -void ctbAcquisition::setFindex() { - try { - myDet->setAcquisitionIndex(eFindex->GetNumber()); - } CATCH_DISPLAY ("Could not set acquisition index", "ctbAcquisition::setFindex") -} - -void ctbAcquisition::setFsave(Bool_t b) { - try { - myDet->setFileWrite(b); - eFname->SetState(b); - eOutdir->SetState(b); - } CATCH_DISPLAY ("Could not set file write", "ctbAcquisition::setFsave") -} - -void ctbAcquisition::update() { - try { - auto retval = myDet->getFileNamePrefix().tsquash("Different values"); - eFname->SetText(retval.c_str()); - } CATCH_DISPLAY ("Could not get file name prefix", "ctbAcquisition::update") - - try { - auto retval = myDet->getAcquisitionIndex().tsquash("Different values"); - eFindex->SetNumber(retval); - } CATCH_DISPLAY ("Could not get acquisition index", "ctbAcquisition::update") - - try { - auto retval = myDet->getFileWrite().tsquash("Different values"); - cFileSave->SetOn(retval); - } CATCH_DISPLAY ("Could not get file write", "ctbAcquisition::update") - - eFname->SetState(cFileSave->IsOn()); - eOutdir->SetState(cFileSave->IsOn()); - eFindex->SetState(cFileSave->IsOn()); - - try { - auto retval = myDet->getNumberOfAnalogSamples().tsquash("Different values"); - setAnalogSamples(retval); - } CATCH_DISPLAY ("Could not get number of analog samples", "ctbAcquisition::update") - - try { - auto retval = myDet->getNumberOfDigitalSamples().tsquash("Different values"); - setDigitalSamples(retval); - } CATCH_DISPLAY ("Could not get number of digital samples", "ctbAcquisition::update") - - try { - roMode = static_cast(myDet->getReadoutMode().tsquash("Different values")); - setReadoutMode(roMode); - } CATCH_DISPLAY ("Could not get readout mode", "ctbAcquisition::update") - - updateChans(); - - if (dataStructure) { - cout << cbDetType->GetSelected()<< endl; - // if (cbDetType->GetSelected()==MYTHEN301 || cbDetType->GetSelected()==MYTHEN302){ - // cout << "settings deserialiation parameters for MYTHEN" << endl; - // mythen3_01_jctbData* ms=(mythen3_01_jctbData*)dataStructure; - // eSerOff->SetNumber( ms->setSerialOffset(-1)); - // eDynRange->SetNumber( ms->setDynamicRange(-1)); - // eNumCount->SetNumber( ms->setNumberOfCounters(-1)); - // } - - } - - if (myDet->getDetectorType().squash() == slsDetectorDefs::MOENCH) { - dBitOffset = 0; - } else { - try { - dBitOffset = myDet->getRxDbitOffset().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get receiver dbit offset", "ctbAcquisition::update") - } - try { - tenG = myDet->getTenGiga().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get ten giga enable", "ctbAcquisition::update") - - // char aargs[10][100]; - // char *args[10]; - // for (int i=0; i<10; i++) - // args[i]=aargs[i]; - - // string retval; - // sprintf(args[0],"adcdisable"); - // slsDetectorCommand *cmd=new slsDetectorCommand(myDet); - // retval=cmd->executeLine(1,args,slsDetectorDefs::GET_ACTION); - // delete cmd; - // int mask; - // sscanf(retval.c_str(),"adcdisable %d",&mask); - // for (int i=0; iGetState()==1 || acqThread->GetState()==6) { - - - if (cCompile->IsOn()) { - sprintf(fname,"%s %s",patternCompiler,patternFile); - cout << "Compile: " << fname << endl; - strcpy(currdir,gSystem->pwd()); - - std::size_t found = string(patternCompiler).rfind('/'); - if (found!=std::string::npos) - gSystem->cd(string(patternCompiler).substr(0,found).c_str()); - - gSystem->cd(cdir); - system(fname); - gSystem->cd(currdir); - } - - if (string(patternCompiler).rfind(".pat")!=std::string::npos) - strcpy(fname,patternFile); - else if (string(patternCompiler).rfind(".npat")!=std::string::npos) - strcpy(fname,patternFile); - else - sprintf(fname,"%sat",patternFile); - - cout << "Load: " << fname << endl; - try { - myDet->loadParameters(fname); - } CATCH_DISPLAY ("Could not load parameters", "ctbAcquisition::loadPattern") - } -} - - -void ctbAcquisition::toggleAcquisition() { - - - if (acqThread->GetState()==1 || acqThread->GetState()==6) { - /** update all infos useful for the acquisition! */ - - try { - auto retval = myDet->getNumberOfAnalogSamples().tsquash("Different values"); - setAnalogSamples(retval); - } CATCH_DISPLAY ("Could not get number of analog samples", "ctbAcquisition::toggleAcquisition") - - try { - auto retval = myDet->getNumberOfDigitalSamples().tsquash("Different values"); - setDigitalSamples(retval); - } CATCH_DISPLAY ("Could not get number of digital samples", "ctbAcquisition::toggleAcquisition") - - if (myDet->getDetectorType().squash() == slsDetectorDefs::MOENCH) { - dBitOffset = 0; - } else { - try { - dBitOffset = myDet->getRxDbitOffset().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get receiver dbit offset", "ctbAcquisition::toggleAcquisition") - } - - try { - roMode = static_cast(myDet->getReadoutMode().tsquash("Different values")); - setReadoutMode(roMode); - } CATCH_DISPLAY ("Could not get readout mode", "ctbAcquisition::toggleAcquisition") - - - cout << "Run" << endl; - bStatus->SetText("Stop"); - ip=0; - for (int i=0; iGetListOfFunctions()) - adcHisto[i]->GetListOfFunctions()->Delete(); - - adcHisto[i]->Reset(); - - if (countsHisto[i]->GetListOfFunctions()) - countsHisto[i]->GetListOfFunctions()->Delete(); - countsHisto[i]->Reset(); - // ((TH1F*)adcStack->GetHists()->At(i))->Reset(); - // ((TH1F*)countsStack->GetHists()->At(i))->Reset(); - } - for (int i=0; iReset(); - } - cout << "reset 2d an" << endl;; - if (h2DMapAn) h2DMapAn->Reset(); - cout << "reset 2d dig" << endl;; - if (h2DMapDig) h2DMapDig->Reset(); - cout << "reset 1d" << endl;; - if (h1DMap) h1DMap->Reset(); - cout << "done" << endl;; - // if (h2Scan) h2Scan->Reset(); - // cout << "reset 1d" << endl;; - // if (rbWaveform->IsOn()) -// adcStack->Draw("NOSTACK"); -// else if (rbDistribution->IsOn()) -// countsStack->Draw("NOSTACK"); -// else if (rb2D->IsOn()) -// h2DMap->Draw("colz"); - - // cout << "timer" << endl; - changePlot(); - - // plotTimer->TurnOn(); - // cout << "thread" << endl; - acqThread->Run(); - StopFlag=0; - - - - - - } else { - StopFlag=1; - try{ - myDet->stopDetector(); - } CATCH_DISPLAY ("Could not stop acquisition", "ctbAcquisition::toggleAcquisition") - stop=1; - bStatus->SetText("Start"); - // acqThread->Kill(); - } -} - -void ctbAcquisition::acquisitionFinished() { - bStatus->SetText("Start"); - cout << "finished " << endl; - // plotTimer->TurnOff(); - Draw(); -} - -void ctbAcquisition::startAcquisition(){ - cout << "Detector started " <GetNumber()<< endl; - stop=0; - - try { - tenG = myDet->getTenGiga().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get ten giga enable", "ctbAcquisition::startAcquisition") - - for (int im=0; imGetNumber(); im++) { - try { - myDet->acquire(); - } CATCH_DISPLAY ("Could not acquire", "ctbAcquisition::startAcquisition") - - cout << im << endl; - if (stop) - break; - } -} - -void* ctbAcquisition::ThreadHandle(void *arg) -{ - ctbAcquisition *acq = static_cast(arg); - - acq->startAcquisition(); - acq->acquisitionFinished(); - - return nullptr; -} - - void ctbAcquisition::progressCallback(double f,void* arg) { - - - // ctbAcquisition *acq = static_cast(arg); - - - cout << "*********" << f << "*******" << endl; - - - - - } - -void ctbAcquisition::setPatternFile(const char* t) { - - - cout << "New pattern is " << t << endl; - - strcpy(patternFile,t); - } - -void ctbAcquisition::setPatternCompiler(const char* t) { - - - cout << "New compiler is " << t << endl; - strcpy(patternCompiler,t); - - } -void ctbAcquisition::setMeasurements() { - -} - -void ctbAcquisition::setAnalogSamples(int n) { - - - cout<< "Set number of analog samples to " << dec<< n << endl; - if (n>0 && n<8192) - nAnalogSamples=n; - - // TList *l= adcStack->GetHists(); - TH1 *h; - // if (l) { - for (int i=0; iAt(i); - if (h) { - - h->SetBins(nAnalogSamples,0,nAnalogSamples); - } - } - - h=adcStack->GetHistogram(); - if (h) - h->SetBins(nAnalogSamples,0,nAnalogSamples); -} - - - -void ctbAcquisition::setDigitalSamples(int n) { - - - cout<< "Set number of digital samples to " << dec<< n << endl; - if (n>0 && n<8192) - nDigitalSamples=n; - - TH1 *h; - for (int i=0; iAt(i); - if (h) { - - h->SetBins(nDigitalSamples,0,nDigitalSamples); - } - - } - // cout<< "histos resized " << dec<< h->GetNbinsX() << endl; - - h=bitStack->GetHistogram(); - if (h) - h->SetBins(nDigitalSamples,0,nDigitalSamples); - -} - -void ctbAcquisition::setReadoutMode(int f) { - - roMode=f; - slsDetectorDefs::readoutMode flag=(slsDetectorDefs::readoutMode)f; - if (flag == slsDetectorDefs::DIGITAL_ONLY) { - nAnalogSamples=0; - adclist.clear(); - } else if (flag ==slsDetectorDefs::ANALOG_AND_DIGITAL) { - ; - } - else { - nDigitalSamples=0; - dbitlist.clear(); - } - - // for (int i=0; igetDetectorType().squash() == slsDetectorDefs::MOENCH) { - dbitlist.clear(); - } else { - try { - auto retval = myDet->getRxDbitList().tsquash("Different values"); - dbitlist.clear(); - if (!retval.empty()) { - for (const auto &value : retval) - dbitlist.push_back(value); - } - } CATCH_DISPLAY ("Could not get receiver dbit list.", "ctbAcquisition::updateChans") - } - - // adc mask - try { - auto retval = myDet->getADCEnableMask().tsquash("Different values"); - adclist.clear(); - if (retval!=0xffffffff) { - for (int i=0; inewDataSet(); - }; - -} - -void ctbAcquisition::ToggleCommonMode(Bool_t b) { - if (photonFinder) { - if (b) { - photonFinder->setCommonModeSubtraction(commonMode); - cmSub=1; - cout << "Enable common mode" << endl; - } else { - photonFinder->setCommonModeSubtraction(NULL); - cmSub=0; - cout << "Disable common mode" << endl; - } - } - -} - - -void ctbAcquisition::TogglePedSub(Bool_t b) { - if (b) { - ChangeHistoLimitsPedSub(); - } else { - ChangeHistoLimitsRaw(); - } - -} - - -void ctbAcquisition::FitADC() { - int iadc=eFitADC->GetNumber(); - if (iadc<0 || iadc>=NADCS) return; - cout << "fit panel for adc " << eFitADC->GetNumber() << endl; - if (rbWaveform->IsOn()) { - if (adcHisto[iadc]==NULL) return; - new TCanvas("Cadcfit"); - if (adcFit) { - delete adcFit; - adcFit=NULL; - } - adcFit=(TH1F*)(adcHisto[iadc]->Clone("adcfit")); - adcFit->Draw(); - adcFit->FitPanel(); - - } else if (rbDistribution->IsOn()) { - if (countsHisto[iadc]==NULL) return; - new TCanvas("Ccountsfit"); - - if (countsFit) { - delete countsFit; - countsFit=NULL; - } - - countsFit=(TH1F*)(countsHisto[iadc]->Clone("countsfit")); - countsFit->Draw(); - countsFit->FitPanel(); - } -} - - -void ctbAcquisition::plotBit() { - int iadc=eBitPlot->GetNumber(); - if (iadc<0 || iadc>=NSIGNALS) return; - cout << "plot panel for bit " << eBitPlot->GetNumber() << endl; - if (bitHisto[iadc]==NULL) return; - new TCanvas("Cbitplot"); - if (bitPlot) { - delete bitPlot; - bitPlot=NULL; - } - bitPlot=(TH1F*)(bitHisto[iadc]->Clone("bitplot")); - bitPlot->Draw(); -} - - - - - - - - - - -void ctbAcquisition::ChangeSerialOffset(Long_t a){ - ChangeSerialOffset(); -}; - - -void ctbAcquisition::ChangeDynamicRange(Long_t a){ - ChangeDynamicRange(); -}; - -void ctbAcquisition::ChangeNumberOfChannels(Long_t a){ - ChangeNumberOfChannels(); -}; - - - -void ctbAcquisition::ChangeSerialOffset(){ - changeDetector(); - // if (dataStructure) { - - // cout << cbDetType->GetSelected()<< endl; - // if (cbDetType->GetSelected()==MYTHEN301 || cbDetType->GetSelected()==MYTHEN302 ){ - // cout << "settings offsets for MYTHEN" << endl; - // mythen3_01_jctbData* ms=(mythen3_01_jctbData*)dataStructure; - // ms->setSerialOffset(eSerOff->GetIntNumber()); - - // } - // } -}; - - -void ctbAcquisition::ChangeDynamicRange(){ - changeDetector(); - // if (dataStructure) { - - // cout << cbDetType->GetSelected()<< endl; - // if (cbDetType->GetSelected()==MYTHEN301 || cbDetType->GetSelected()==MYTHEN302){ - // cout << "settings dynamic range for MYTHEN" << endl; - // mythen3_01_jctbData* ms=(mythen3_01_jctbData*)dataStructure; - // ms->setDynamicRange(eDynRange->GetIntNumber()); - - // } - // } -}; - -void ctbAcquisition::ChangeNumberOfChannels(){ - changeDetector(); - // if (dataStructure) { - // cout << cbDetType->GetSelected()<< endl; - // if (cbDetType->GetSelected()==MYTHEN301 || cbDetType->GetSelected()==MYTHEN302){ - // cout << "settings number of channels for MYTHEN" << endl; - // mythen3_01_jctbData* ms=(mythen3_01_jctbData*)dataStructure; - // ms->setNumberOfCounters(eNumCount->GetIntNumber()); - - // } - // } - if (deserializer) - changePlot(); -}; - -void ctbAcquisition::ChangeImagePixels(Long_t a){ - ChangeImagePixels(); -}; - -void ctbAcquisition::ChangeImagePixels(){ - changeDetector(); - // if (dataStructure) { - // cout << cbDetType->GetSelected()<< endl; - // if (cbDetType->GetSelected()==MYTHEN301 || cbDetType->GetSelected()==MYTHEN302){ - // cout << "settings number of channels for MYTHEN" << endl; - // mythen3_01_jctbData* ms=(mythen3_01_jctbData*)dataStructure; - // ms->setNumberOfCounters(eNumCount->GetIntNumber()); - - // } - // } - // if (deserializer) - // changePlot(); -}; - - -void ctbAcquisition::ChangeHistoLimitsPedSub(Long_t a){ - ChangeHistoLimitsPedSub(); -}; - - -void ctbAcquisition::ChangeHistoLimitsRaw(Long_t a){ - ChangeHistoLimitsRaw(); -} - -void ctbAcquisition::ChangeHistoLimitsPedSub(Bool_t a){ - ChangeHistoLimitsPedSub(); -}; - - -void ctbAcquisition::ChangeHistoLimitsRaw(Bool_t a){ - ChangeHistoLimitsRaw(); -} - - -void ctbAcquisition::ChangeHistoLimitsPedSub(){ - - cout << "set Limits ped sub hist " << eMinPedSub->GetNumber() << " " << eMaxPedSub->GetNumber() << endl; - - if (eMinPedSub->GetNumber()>eMaxPedSub->GetNumber()) - return; - - if (cbSubtractPedestal->IsOn()) { - if (cMinMaxPedSub->IsOn()) { - adcStack->SetMaximum( eMaxPedSub->GetNumber()); - adcStack->SetMinimum( eMinPedSub->GetNumber()); - if (h2DMapAn) { - h2DMapAn->SetMaximum( eMaxPedSub->GetNumber()); - h2DMapAn->SetMinimum( eMinPedSub->GetNumber()); - } - if (h1DMap) { - h1DMap->SetMaximum( eMaxPedSub->GetNumber()); - h1DMap->SetMinimum( eMinPedSub->GetNumber()); - } - if (countsStack->GetHistogram()) - countsStack->GetHistogram()->GetXaxis()->SetRangeUser(eMinPedSub->GetNumber(), eMaxPedSub->GetNumber()); - } else { - if (adcStack->GetHistogram()) - adcStack->GetHistogram()->GetYaxis()->UnZoom(); - if (h2DMapAn) { - h2DMapAn->GetZaxis()->UnZoom(); - } - if (h1DMap) { - h1DMap->GetYaxis()->UnZoom(); - } - if (countsStack->GetHistogram()) - countsStack->GetHistogram()->GetXaxis()->UnZoom(); - } - } - - -}; - - -void ctbAcquisition::ChangeHistoLimitsRaw(){ - - cout << "set Limits raw hist " << eMinRaw->GetNumber() << " " << eMaxRaw->GetNumber() << endl; - if (eMinRaw->GetNumber()>eMaxRaw->GetNumber()) - return; - - if (cbSubtractPedestal->IsOn()==0) { - if (cMinMaxRaw->IsOn()) { - adcStack->SetMaximum( eMaxRaw->GetNumber()); - adcStack->SetMinimum( eMinRaw->GetNumber()); - if (h2DMapAn) { - h2DMapAn->SetMaximum( eMaxRaw->GetNumber()); - h2DMapAn->SetMinimum( eMinRaw->GetNumber()); - } - if (h1DMap) { - h1DMap->SetMaximum( eMaxRaw->GetNumber()); - h1DMap->SetMinimum( eMinRaw->GetNumber()); - } - if (countsStack->GetHistogram()) - countsStack->GetHistogram()->GetXaxis()->SetRangeUser(eMinRaw->GetNumber(), eMaxRaw->GetNumber()); - } else { - - if (adcStack->GetHistogram()) - adcStack->GetHistogram()->GetYaxis()->UnZoom(); - if (h2DMapAn) { - h2DMapAn->GetZaxis()->UnZoom(); - } - - if (h1DMap) { - h1DMap->GetYaxis()->UnZoom(); - } - if (countsStack->GetHistogram()) - countsStack->GetHistogram()->GetXaxis()->UnZoom(); - - } - } - -} diff --git a/ctbGui/ctbAcquisition.h b/ctbGui/ctbAcquisition.h deleted file mode 100644 index 3d5524eda..000000000 --- a/ctbGui/ctbAcquisition.h +++ /dev/null @@ -1,248 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#ifndef CTBACQUISITION_H -#define CTBACQUISITION_H -#include - -#include "ctbAdcs.h" -#include "ctbSignals.h" -#include "ctbPattern.h" -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TGCheckButton; -class TThread; -class TGraph; -class TMultiGraph; -class THStack; -class TGButtonGroup; -class TGRadioButton; -class TGComboBox; -class TTimer; -class TCanvas; -class TH2F; -class TH1F; -class TGLabel; -class TGTextButton; - -namespace sls -{ - class Detector; - class detectorData; -}; - -template class slsDetectorData; - -class singlePhotonDetector; -//class singlePhotonDetector; -class commonModeSubtraction; - -#include -#include -using namespace std; - -class ctbAcquisition : public TGGroupFrame { - - - enum {DESERIALIZER, MOENCH04, MOENCH02, MOENCH03, IMAGE32B, IMAGE16B, ADCSAR2, MYTHEN301, MYTHEN302}; - - - private: - TGTextEntry *eOutdir; - TGTextEntry *eFname; - TGNumberEntry *eFindex; - TGCheckButton *cFileSave; - - - TGNumberEntry *eSerOff; - TGNumberEntry *eDynRange; - TGNumberEntry *eNumCount; - - - TGNumberEntry *ePixX; - TGNumberEntry *ePixY; - - TGNumberEntry *eFitADC; - TGNumberEntry *eBitPlot; - TGNumberEntry *eMinRaw; - TGNumberEntry *eMaxRaw; - TGNumberEntry *eMinPedSub; - TGNumberEntry *eMaxPedSub; - TGCheckButton *cMinMaxRaw; - TGCheckButton *cMinMaxPedSub; - - - - - TGNumberEntry *eMeasurements; - - - - TGTextButton *bStatus; - // TGTextButton - TGCheckButton *cCompile; - TGTextButton *cLoad; - // TGCheckButton *cRun; - - TThread *acqThread; - - - THStack *adcStack; - THStack *bitStack; - THStack *countsStack; - - - TH1F *adcHisto[NADCS]; - TH1F *countsHisto[NADCS]; - - TH1F *bitHisto[NSIGNALS]; - float bitOffset[NSIGNALS]; - - // int enableFlag[NADCS+4]; - int roMode; - - int dBitOffset; - - - - TH1F *adcFit; - TH1F *bitPlot; - TH1F *countsFit; - - - - TH2F *h2DMapAn; // for 2D detectors - TH2F *h2DMapDig; // for 2D detectors - TH1F *h1DMap; //for 1D detectors - - // TH2F *h2Scan; // for 2D detectors - // TMultiGraph *mgAdcs; - // TH1I *plotAdc[NADCS]; - - - sls::Detector* myDet; - - int plotFlag[NADCS]; - int bitPlotFlag[NSIGNALS]; - - int ip; - // int nChannels; - // int chanEnable; - //int nADCs; - - std::vector dbitlist; - std::vector adclist; - - TGButtonGroup *bgPlot;// = new TGVButtonGroup(main_frame); - TGRadioButton *rbPlotOff; - TGRadioButton *rbWaveform; - TGRadioButton *rbDistribution; - TGRadioButton *rb2D; - // TGRadioButton *rbScan; - TGComboBox *cbDetType; - TGCheckButton *cbGetPedestal; - TGCheckButton *cbSubtractPedestal; - TGCheckButton *cbCommonMode; - TGTextButton *bResetPedestal; - - TGLabel *lClickX; - TGLabel *lClickY; - TGLabel *lClickValue; - - - TCanvas *myCanvas; - TTimer *plotTimer; - - char patternFile[10000]; - char patternCompiler[10000]; - - int globalPlot; - int adcPlot; - int dbitPlot; - int tenG; - - int nAnalogSamples, nDigitalSamples; - // int iScanStep; - - slsDetectorData *dataStructure; - singlePhotonDetector *photonFinder; - //singlePhotonDetector *photonFinder; - commonModeSubtraction *commonMode; - int cmSub; - - int stop; - - uint64_t dBitMask; - - int deserializer; - - public: - ctbAcquisition(TGVerticalFrame*, sls::Detector*); - void setOutdir(); - void setFname(); - void setMeasurements(); - void setFsave(Bool_t); - void changePlot(Int_t); - void changeDetector(Int_t); - void changePlot(); - void changeDetector(); - void setFindex(); - void Draw(); - void setCanvas(TCanvas*); - - void toggleAcquisition(); - void loadPattern(); - static void* ThreadHandle(void *arg); - void update(); - void acquisitionFinished(); - // string getParameters(); - - void setGraph (int i ,int en, Pixel_t col); - void setBitGraph (int i ,int en, Pixel_t col); - void startAcquisition(); - static void progressCallback(double,void*); - static void dataCallback(sls::detectorData*, long unsigned int, unsigned int, void*); - int StopFlag; - - int plotData(sls::detectorData*, int); - - void setPatternFile(const char* t); - - void setPatternCompiler(const char* t); - - void setAnalogSamples(int); - void setDigitalSamples(int); - - void setADCEnable(Int_t); - void setDbitEnable(Int_t); - void setReadoutMode(int); - void updateChans(); - - void resetPedestal(); - - void ToggleCommonMode(Bool_t); - void TogglePedSub(Bool_t); - void ChangeHistoLimitsPedSub(Long_t ); - void ChangeHistoLimitsRaw(Long_t); - void ChangeHistoLimitsPedSub( ); - void ChangeHistoLimitsRaw(); - void ChangeHistoLimitsPedSub(Bool_t ); - void ChangeHistoLimitsRaw(Bool_t); - - - void ChangeSerialOffset(); - void ChangeSerialOffset(Long_t); - void ChangeNumberOfChannels(); - void ChangeNumberOfChannels(Long_t); - void ChangeDynamicRange(); - void ChangeDynamicRange(Long_t); - void ChangeImagePixels(); - void ChangeImagePixels(Long_t); - - void canvasClicked(); - void FitADC(); - void plotBit(); - ClassDef(ctbAcquisition,0) -}; - -#endif diff --git a/ctbGui/ctbAdcs.cpp b/ctbGui/ctbAdcs.cpp deleted file mode 100644 index 694f5ff13..000000000 --- a/ctbGui/ctbAdcs.cpp +++ /dev/null @@ -1,616 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "ctbAdcs.h" -#include "ctbDefs.h" -#include "sls/Detector.h" - -using namespace std; - - - -ctbAdc::ctbAdc(TGVerticalFrame *page, int i, sls::Detector *det) - : TGHorizontalFrame(page, 800,800), id(i), myDet(det) { - - TGHorizontalFrame *hframe=this; - char tit[100]; - - page->AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - - - - sprintf(tit, "ADC%d", id); - - sAdcLabel= new TGLabel(hframe, tit); - hframe->AddFrame(sAdcLabel,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sAdcLabel->MapWindow(); - sAdcLabel->SetTextJustify(kTextLeft); - - - - - - - sAdcInvert= new TGCheckButton(hframe, "Inv"); - hframe->AddFrame( sAdcInvert,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sAdcInvert->MapWindow(); - sAdcInvert->Connect("Toggled(Bool_t)","ctbAdc",this,"ToggledInvert(Bool_t)"); - - - sAdcEnable= new TGCheckButton(hframe, "En"); - hframe->AddFrame( sAdcEnable,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sAdcEnable->MapWindow(); - // sAdcEnable->SetOn(kTRUE); - // sAdcEnable->SetEnabled(kFALSE); - sAdcEnable->Connect("Toggled(Bool_t)","ctbAdc",this,"ToggledEnable(Bool_t)"); - - - - sAdcPlot= new TGCheckButton(hframe, "Plot"); - hframe->AddFrame( sAdcPlot,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sAdcPlot->MapWindow(); - - - sAdcPlot->Connect("Toggled(Bool_t)","ctbAdc",this,"ToggledPlot(Bool_t)"); - - - - fColorSel = new TGColorSelect(hframe, id+1, 0); - - fColorSel->Connect("ColorSelected(Pixel_t)","ctbAdc",this,"ColorChanged(Pixel_t)"); - hframe->AddFrame(fColorSel, new TGLayoutHints(kLHintsTop | - kLHintsLeft, 2, 0, 2, 2)); - - - fColorSel->SetColor(TColor::Number2Pixel(id+1)); - // sprintf(tit,"adc%d",id); -// gADC=new TGraph(); -// gADC->SetName(tit); -// gADC->SetLineColor(id+1); -// gADC->SetMarkerColor(id+1); - - - -}; -Pixel_t ctbAdc::getColor(){ - return fColorSel->GetColor(); -} -Bool_t ctbAdc::getEnabled(){ - return getPlot(); -} -Bool_t ctbAdc::getPlot(){ - return sAdcPlot->IsOn(); -} -Bool_t ctbAdc::getInverted(){ - return sAdcInvert->IsOn(); -} - -Bool_t ctbAdc::getEnable(){ - return sAdcEnable->IsOn(); -} - - - -void ctbAdc::setInverted(Bool_t b){ - // cout << id << "set enabled " << b << endl; - if (b) - sAdcInvert->SetOn(kTRUE,kTRUE); - else - sAdcInvert->SetOn(kFALSE,kTRUE); - -} - - -void ctbAdc::setEnable(Bool_t b){ - // cout << id << "set enabled " << b << endl; - if (b) - sAdcEnable->SetOn(kTRUE,kFALSE); - else - sAdcEnable->SetOn(kFALSE,kFALSE); - -} - - - - - -void ctbAdc::setAdcAlias(char *tit, int plot, int color) { - if (tit) - sAdcLabel->SetText(tit); - if (plot>0) - sAdcPlot->SetOn(kTRUE,kTRUE); - else if (plot==0) - sAdcPlot->SetOn(kFALSE,kTRUE); - if (color>=0) - fColorSel->SetColor(color); - fColorSel->SetEnabled(sAdcPlot->IsOn()); -} - - -string ctbAdc::getAdcAlias() { - - char line[1000]; - sprintf(line,"ADC%d %s %d %lx\n",id,sAdcLabel->GetText()->Data(),sAdcPlot->IsOn(),fColorSel->GetColor()); - return string(line); -} - -void ctbAdc::update() { - - - //Emit("ToggledAdcEnable(Int_t)", id); - -} - - -void ctbAdc::ToggledPlot(Bool_t b){ - - // Long_t mask=b<SetEnabled(kTRUE); - else - fColorSel->SetEnabled(kFALSE); - - // fColorSel->SetEnabled(sAdcPlot->IsOn()); - Emit("ToggledAdcPlot(Int_t)", id); - -} - - - -void ctbAdc::ToggledInvert(Bool_t b){ - - - // fColorSel->SetEnabled(sAdcPlot->IsOn()); - Emit("ToggledAdcInvert(Int_t)", id); - -} - - - -void ctbAdc::ToggledEnable(Bool_t b){ - - - fColorSel->SetEnabled(sAdcPlot->IsOn()); - Emit("ToggledAdcEnable(Int_t)", id); - -} - - - - - - -void ctbAdc::ColorChanged(Pixel_t) { - - Emit("ToggledAdcPlot(Int_t)", id); - -} - -void ctbAdc::ToggledAdcPlot(Int_t b){ - - - Emit("ToggledAdcPlot(Int_t)", id); - -} - -void ctbAdc::ToggledAdcInvert(Int_t b){ - - - Emit("ToggledAdcInvert(Int_t)", id); - -} - -void ctbAdc::ToggledAdcEnable(Int_t b){ - - - Emit("ToggledAdcEnable(Int_t)", id); - -} - - - - -void ctbAdc::setEnabled(Bool_t b){ - // cout << id << "set enabled " << b << endl; - if (b) - sAdcPlot->SetOn(kTRUE,kFALSE); - else - sAdcPlot->SetOn(kFALSE,kFALSE); - -} - - - -void ctbAdc::setPlot(Bool_t b){ - // cout << id << "set enabled " << b << endl; - if (b) - sAdcPlot->SetOn(kTRUE,kTRUE); - else - sAdcPlot->SetOn(kFALSE,kTRUE); - - -} - - - - - - - -ctbAdcs::ctbAdcs(TGVerticalFrame *page, sls::Detector *det) - : TGGroupFrame(page,"Adcs",kVerticalFrame), myDet(det) { - - - SetTitlePos(TGGroupFrame::kLeft); - page->AddFrame(this,new TGLayoutHints( kLHintsTop | kLHintsExpandX , 10,10,10,10)); - MapWindow(); - - - - TGHorizontalFrame* hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - - - int idac=0; - - - - - - TGHorizontalFrame* hhframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hhframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hhframe->MapWindow(); - - TGVerticalFrame *vframe; - - - - - for (idac=0; idacAddFrame(vframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - vframe->MapWindow(); - - - - } - - sAdc[idac]=new ctbAdc(vframe,idac,myDet); - - - sAdc[idac]->Connect("ToggledAdcPlot(Int_t)","ctbAdcs",this,"ToggledAdcPlot(Int_t)"); - sAdc[idac]->Connect("ToggledAdcInvert(Int_t)","ctbAdcs",this,"ToggledAdcInvert(Int_t)"); - sAdc[idac]->Connect("ToggledAdcEnable(Int_t)","ctbAdcs",this,"ToggledAdcEnable(Int_t)"); - - } - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - bCheckHalf[0]=new TGTextButton(hframe, "All 0-15"); - hframe->AddFrame(bCheckHalf[0],new TGLayoutHints(kLHintsTop | kLHintsExpandX, 5, 5, 5, 5)); - bCheckHalf[0]->MapWindow(); - bCheckHalf[0]->Connect("Clicked()","ctbAdcs",this,"CheckHalf0()"); - - - bRemoveHalf[0]=new TGTextButton(hframe, "None 0-15"); - hframe->AddFrame(bRemoveHalf[0],new TGLayoutHints(kLHintsBottom | kLHintsExpandX, 5, 5, 5, 5)); - bRemoveHalf[0]->MapWindow(); - bRemoveHalf[0]->Connect("Clicked()","ctbAdcs",this,"RemoveHalf0()"); - - - bCheckHalf[1]=new TGTextButton(hframe, "All 16-23"); - hframe->AddFrame(bCheckHalf[1],new TGLayoutHints(kLHintsTop | kLHintsExpandX, 5, 5, 5, 5)); - bCheckHalf[1]->MapWindow(); - bCheckHalf[1]->Connect("Clicked()","ctbAdcs",this,"CheckHalf1()"); - // bCheckAll->Connect("Clicked()","ctbAdcs",this,"CheckAll()"); - - - bRemoveHalf[1]=new TGTextButton(hframe, "None 16-23"); - hframe->AddFrame(bRemoveHalf[1],new TGLayoutHints(kLHintsBottom | kLHintsExpandX, 5, 5, 5, 5)); - bRemoveHalf[1]->MapWindow(); - bRemoveHalf[1]->Connect("Clicked()","ctbAdcs",this,"RemoveHalf1()"); - // bRemoveAll->Connect("Clicked()","ctbAdcs",this,"RemoveAll()"); - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - bCheckAll=new TGTextButton(hframe, "All"); - hframe->AddFrame(bCheckAll,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 5, 5, 5, 5)); - bCheckAll->MapWindow(); - bCheckAll->Connect("Clicked()","ctbAdcs",this,"CheckAll()"); - - - bRemoveAll=new TGTextButton(hframe, "None"); - hframe->AddFrame(bRemoveAll,new TGLayoutHints(kLHintsBottom | kLHintsExpandX, 5, 5, 5, 5)); - bRemoveAll->MapWindow(); - bRemoveAll->Connect("Clicked()","ctbAdcs",this,"RemoveAll()"); - - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - TGLabel *label= new TGLabel(hframe, "Inversion mask: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - eInversionMask = new TGNumberEntry(hframe, 0, 16,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - - hframe->AddFrame(eInversionMask,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eInversionMask->MapWindow(); - eInversionMask->Resize(150,30); - eInversionMask->SetState(kFALSE); - - - hframe=new TGHorizontalFrame(this, 800,50); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - label= new TGLabel(hframe, "Enable mask: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - eEnableMask = new TGNumberEntry(hframe, 0, 16,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - - hframe->AddFrame(eEnableMask,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eEnableMask->MapWindow(); - eEnableMask->Resize(150,30); - eEnableMask->SetState(kFALSE); - -} - - -int ctbAdcs::setEnable(int reg) { - - try { - if (reg > -1) { - myDet->setADCEnableMask(reg); - } - auto retval = myDet->getADCEnableMask().tsquash("Different values"); - eEnableMask->SetHexNumber(retval); - return retval; - } CATCH_DISPLAY ("Could not set/get adc enablemask.", "ctbAdcs::setEnable") - - return -1; -} - -int ctbAdcs::setInvert(int reg) { - - try { - if (reg > -1) { - myDet->setADCInvert(reg); - } - auto retval = myDet->getADCInvert().tsquash("Different values"); - eInversionMask->SetHexNumber(retval); - return retval; - } CATCH_DISPLAY ("Could not set/get adc enablemask.", "ctbAdcs::setEnable") - - return -1; -} - - - -void ctbAdcs::update() { - Int_t invreg; - Int_t disreg; - - disreg=setEnable(); - invreg=setInvert(); - - for (int is=0; issetAdcAlias(NULL,-1,-1); - if (invreg & (1<setInverted(kTRUE); - else - sAdc[is]->setInverted(kFALSE); - - if (disreg & (1<setEnable(kTRUE); - else - sAdc[is]->setEnable(kFALSE); - } - - Emit("AdcEnable(Int_t)", disreg); - -} -string ctbAdcs::getAdcParameters() { - ostringstream line; - line << "reg "<< hex << setInvert() << "# ADC invert reg" << dec << endl; - line << "reg "<< hex << setEnable() << " # ADC enable reg"<< dec << endl; - return line.str(); - -} - - -void ctbAdcs::CheckAll() { - for (int is=0; issetPlot(kTRUE); - } -} - - -void ctbAdcs::RemoveAll() { - for (int is=0; issetPlot(kFALSE); - } -} - - - -void ctbAdcs::CheckHalf0() { - for (int is=0; issetPlot(kTRUE); - } -} - - -void ctbAdcs::RemoveHalf0() { - for (int is=0; issetPlot(kFALSE); - } -} - -void ctbAdcs::CheckHalf1() { - for (int is=NADCS/2; issetPlot(kTRUE); - } -} - - -void ctbAdcs::RemoveHalf1() { - for (int is=NADCS/2; issetPlot(kFALSE); - } -} - - -int ctbAdcs::setAdcAlias(string line) { - - int is=-1, plot=0, color=-1; - char tit[100]; - int narg=sscanf(line.c_str(),"ADC%d %s %d %x",&is,tit,&plot, &color); - if (narg<2) - return -1; - if (narg!=3) - color=-1; - if (is>=0 && issetAdcAlias(tit,plot,color); - } - return is; - -} - -string ctbAdcs::getAdcAlias() { - - ostringstream line; - - for (int is=0; isgetAdcAlias(); - - return line.str(); -} - - -void ctbAdcs::ToggledAdcPlot(Int_t b){ - - - Emit("ToggledAdcPlot(Int_t)", b); - -} - -void ctbAdcs::AdcEnable(Int_t b){ - Emit("AdcEnable(Int_t)", b); -} - - -void ctbAdcs::ToggledAdcEnable(Int_t b){ - - Int_t oreg=setEnable(); - Int_t m=1<getEnable()) - oreg|=m; - else - oreg&=~m; - - setEnable(oreg); - - Emit("AdcEnable(Int_t)", oreg); -} - - -void ctbAdcs::ToggledAdcInvert(Int_t b){ - - Int_t oreg=setInvert(); - Int_t m=1<getInverted()) - oreg|=m; - else - oreg&=~m; - - setInvert(oreg); -} - - - - - -Pixel_t ctbAdcs::getColor(int i){ - if (i>=0 && igetColor(); - return static_cast(-1); -} - -Bool_t ctbAdcs::getEnabled(int i){ - if (i>=0 && igetEnabled(); - return static_cast(-1); -} - -Bool_t ctbAdcs::getEnable(int i){ - if (i>=0 && igetEnable(); - return static_cast(-1); -} - -Bool_t ctbAdcs::getPlot(int i){ - if (i>=0 && igetPlot(); - return static_cast(-1); -} diff --git a/ctbGui/ctbAdcs.h b/ctbGui/ctbAdcs.h deleted file mode 100644 index 3a4cf35da..000000000 --- a/ctbGui/ctbAdcs.h +++ /dev/null @@ -1,157 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package - - - -#ifndef CTBADCS_H -#define CTBADCS_H -#include - - -#define NADCS 32 - -class TRootEmbeddedCanvas; -class TGButtonGroup; -class TGVerticalFrame; -class TGHorizontalFrame; -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TH2F; -class TGComboBox; -class TGCheckButton; -class TGColorSelect; -class TColor; - -class THStack; -class TGraphErrors; -class TGTextButton; -class TGTab; - -class TGraph; - -namespace sls -{ - class Detector; -}; - -#include -using namespace std; - -class ctbAdc : public TGHorizontalFrame { - - - private: - - - TGLabel *sAdcLabel; - TGCheckButton *sAdcEnable; - TGCheckButton *sAdcPlot; - TGCheckButton *sAdcInvert; - - TGColorSelect *fColorSel; - - // TGraph *gADC; - - int id; - sls::Detector *myDet; - - public: - ctbAdc(TGVerticalFrame *page, int i, sls::Detector *det); - - - void setAdcAlias(char *tit, int plot, int color); - string getAdcAlias(); - void ToggledAdcPlot(Int_t b); - void ToggledAdcEnable(Int_t b); - void ToggledAdcInvert(Int_t b); - - - void ToggledPlot(Bool_t b); - void ToggledEnable(Bool_t b); - void ToggledInvert(Bool_t b); - void ColorChanged(Pixel_t); - void setEnabled(Bool_t b); - Bool_t getEnabled(); - // TGraph *getGraph(); - void update(); - - Pixel_t getColor(); - - Bool_t getEnable(); - void setEnable(Bool_t); - void setPlot(Bool_t); - Bool_t getInverted(); - Bool_t getPlot(); - void setInverted(Bool_t); - - ClassDef(ctbAdc,0) - }; - - - -class ctbAdcs : public TGGroupFrame { -private: - - ctbAdc *sAdc[NADCS]; - sls::Detector *myDet; - - - TGTextButton *bCheckAll; - TGTextButton *bRemoveAll; - TGTextButton *bCheckHalf[2]; - TGTextButton *bRemoveHalf[2]; - TGNumberEntry *eInversionMask; - TGNumberEntry *eEnableMask; - - -/* TGTextButton *bPlotSelected; */ -/* TGNumberEntry *eMinX; */ -/* TGNumberEntry *eMaxX; */ -/* TGNumberEntry *eMinY; */ -/* TGNumberEntry *eMaxY; */ - - - -/* TGTextButton *bGetPixel; */ -/* TGNumberEntry *ePixelX; */ -/* TGNumberEntry *ePixelY; */ -/* TGLabel *lPixelValue; */ - -public: - - ctbAdcs(TGVerticalFrame *page, sls::Detector *det); - int setAdcAlias(string line); - string getAdcAlias(); - string getAdcParameters(); - void ToggledAdcPlot(Int_t); - void ToggledAdcInvert(Int_t); - void ToggledAdcEnable(Int_t); - void AdcEnable(Int_t b); - // TGraph *getGraph(int i); - void CheckAll(); - void RemoveAll(); - void update(); - - int setInvert(int reg=-1); - int setEnable(int reg=-1); - - - Pixel_t getColor(int i); - Bool_t getEnabled(int i); - Bool_t getPlot(int i); - Bool_t getEnable(int i); - - void CheckHalf0(); - void RemoveHalf0(); - - void CheckHalf1(); - void RemoveHalf1(); - - - ClassDef(ctbAdcs,0) -}; - -#endif - - diff --git a/ctbGui/ctbDacs.cpp b/ctbGui/ctbDacs.cpp deleted file mode 100644 index dd2763fdf..000000000 --- a/ctbGui/ctbDacs.cpp +++ /dev/null @@ -1,235 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package - -#include -#include -#include - -#include -#include -#include -#include - -#include "ctbDacs.h" -#include "ctbDefs.h" -#include "sls/Detector.h" -#include "sls/sls_detector_defs.h" - -using namespace std; - - -ctbDac::ctbDac(TGGroupFrame *page, int idac, sls::Detector *det) : TGHorizontalFrame(page, 800,50) , id(idac), myDet(det) { - - TGHorizontalFrame *hframe=this; - - page->AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - MapWindow(); - - char tit[100]; - - - sprintf(tit, "DAC %d:",idac); - - dacsLabel= new TGCheckButton(hframe, tit);// new TGLabel(hframe, tit); - dacsLabel->SetOn(kTRUE, kTRUE); - - dacsLabel->Connect("Toggled(Bool_t)","ctbDac",this,"setOn(Bool_t)"); - - - hframe->AddFrame(dacsLabel,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - dacsLabel->MapWindow(); - dacsLabel->SetTextJustify(kTextLeft); - - - dacsEntry = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 65535); - - hframe->AddFrame(dacsEntry,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 5, 5, 5, 5)); - dacsEntry->MapWindow(); - dacsEntry->Resize(150,30); - - - dacsUnit= new TGCheckButton(hframe, "mV"); - // if (idac!=slsDetectorDefs::ADC_VPP) { - hframe->AddFrame( dacsUnit,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - dacsUnit->MapWindow(); - if (idac==slsDetectorDefs::ADC_VPP) { - dacsUnit->SetEnabled(kFALSE); - hframe->HideFrame(dacsUnit); - dacsUnit->MapWindow(); - cout << "hiding!" << endl; - } - if (idac==slsDetectorDefs::HIGH_VOLTAGE) { - dacsUnit->SetText("V"); - dacsUnit->SetOn(kTRUE,kTRUE); - dacsUnit->SetEnabled(kFALSE); - } - //} - - - - sprintf(tit, "xxx"); - dacsValue= new TGLabel(hframe, tit); - hframe->AddFrame( dacsValue,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - dacsValue->MapWindow(); - dacsValue->SetTextJustify(kTextLeft); - - TGTextEntry *e=dacsEntry->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbDac",this,"setValue()"); - // e->Connect("ValueSet(Long_t)","ctbDac",this,"setValue(Long_t)"); - dacsEntry->Connect("ValueSet(Long_t)","ctbDac",this,"setValue(Long_t)"); - // cout << "(((((((((((((((((((((((((((((((" << dacsEntry->GetListOfSignals()->At(0)->IsA() << endl; - - -} - - - -int ctbDac::setLabel(char *tit, int mv) { - if(tit) - dacsLabel->SetText(tit); - if (mv==1) - dacsUnit->SetOn(kTRUE,kTRUE); - else if (mv==0) - dacsUnit->SetOn(kFALSE,kTRUE); - // else if (mv==2) { - // ;} - // else if (mv==3) - // ; - return id; - -} - -string ctbDac::getLabel() { - ostringstream line; - line << dacsLabel->GetText() << " " << dacsUnit->IsOn() << endl; - // line << "DAC" << dec << id << " " << dacsUnit->IsOn() << endl; - return line.str(); - -} - -int ctbDac::getMoenchDacId() { - slsDetectorDefs::dacIndex moenchDacIndices[8] = {slsDetectorDefs::VBP_COLBUF, slsDetectorDefs::VIPRE, slsDetectorDefs::VIN_CM, slsDetectorDefs::VB_SDA, slsDetectorDefs::VCASC_SFP, slsDetectorDefs::VOUT_CM, slsDetectorDefs::VIPRE_CDS, slsDetectorDefs::IBIAS_SFP}; - - if (id >= 8) { - return id; - } - return static_cast(moenchDacIndices[id]); -} - -void ctbDac::setValue(Long_t a) {setValue();} - -void ctbDac::setValue() { - cout << "setting dac! "<< id << " value " << dacsEntry->GetIntNumber() << " units " << dacsUnit->IsOn() << endl; - - try { - int sid = id; - if (myDet->getDetectorType().squash() == slsDetectorDefs::MOENCH) { - sid = getMoenchDacId(); - } - myDet->setDAC(static_cast(sid), dacsEntry->GetIntNumber(), dacsUnit->IsOn()); - } CATCH_DISPLAY ("Could not set dac " + to_string(id) + ".", "ctbDac::setValue") - - getValue(); -} - -void ctbDac::setOn(Bool_t b) { - // cout << "setting dac! "<< id << endl; - if ( dacsLabel->IsOn()) { - setValue(); - } else { - try { - int sid = id; - if (myDet->getDetectorType().squash() == slsDetectorDefs::MOENCH) { - sid = getMoenchDacId(); - } - myDet->setDAC(static_cast(sid), -100, false); - } CATCH_DISPLAY ("Could not power off dac " + to_string(id) + ".", "ctbDac::setOn") - } - getValue(); -} - -int ctbDac::getValue() { - try { - int sid = id; - if (myDet->getDetectorType().squash() == slsDetectorDefs::MOENCH) { - sid = getMoenchDacId(); - } - int val = myDet->getDAC(static_cast(sid), dacsUnit->IsOn()).tsquash("Different values"); - cout << "dac " << id << " " << val << endl; - dacsValue->SetText(to_string(val).c_str()); - if (val >= 0) { - dacsLabel->SetOn(kTRUE); - } else { - dacsLabel->SetOn(kFALSE); - } - return val; - } CATCH_DISPLAY ("Could not get dac " + to_string(id) + ".", "ctbDac::getValue") - - return -1; -} - - -ctbDacs::ctbDacs(TGVerticalFrame *page, sls::Detector *det) : TGGroupFrame(page,"DACs",kVerticalFrame) , myDet(det){ - - SetTitlePos(TGGroupFrame::kLeft); - page->AddFrame(this,new TGLayoutHints( kLHintsTop | kLHintsExpandX , 10,10,10,10)); - MapWindow(); - - // cout << "window mapped " << endl; - - for (int idac=0; idacsetLabel((char*)"ADC Vpp",2); - dacs[NDACS+1]->setLabel((char*)"High Voltage",3); -} - - -int ctbDacs::setDacAlias(string line) { - int is=-1, mv=0; - char tit[100]; - int narg=sscanf(line.c_str(),"DAC%d %s %d",&is,tit,&mv); - if (narg<2) - return -1; - if (is>=0 && issetLabel(tit,mv); - return is; - -} - -string ctbDacs::getDacAlias() { - ostringstream line; - - for (int i=0; igetLabel() << endl; - return line.str(); -} - - - - - -string ctbDacs::getDacParameters() { - ostringstream line; - - for (int i=0; igetValue << endl; - line << "dac:" << i << " " << dacs[i]->getValue() << endl; - } - return line.str(); -} - - - -void ctbDacs::update() { - for (int idac=0; idacgetValue(); - } -} diff --git a/ctbGui/ctbDacs.h b/ctbGui/ctbDacs.h deleted file mode 100644 index 818c0c42d..000000000 --- a/ctbGui/ctbDacs.h +++ /dev/null @@ -1,77 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package - - -#ifndef CTBDACS_H -#define CTBDACS_H -#include - - -#define NDACS 18 -//#define NDACS 16 - - -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TGCheckButton; - - -namespace sls -{ - class Detector; -}; - -#include -using namespace std; - - -class ctbDac : public TGHorizontalFrame { - - - protected: - // TGLabel *dacsLabel; - TGNumberEntry *dacsEntry; - TGCheckButton *dacsUnit; - TGCheckButton *dacsLabel; - TGLabel *dacsValue; - int id; - - sls::Detector* myDet; - public: - ctbDac(TGGroupFrame*, int , sls::Detector*); - void setValue(); - void setValue(Long_t); - int getValue(); - void setOn(Bool_t); - - int setLabel(char *tit, int mv); - string getLabel(); -int getMoenchDacId(); - - - ClassDef(ctbDac,0) -}; - -class ctbDacs : public TGGroupFrame { -private: - - ctbDac *dacs[NDACS+2]; - - sls::Detector* myDet; - -public: - ctbDacs(TGVerticalFrame *page, sls::Detector*); - - int setDacAlias(string line); - // int setDacAlias(string line); - string getDacAlias(); - string getDacParameters(); - - void update(); - - ClassDef(ctbDacs,0) -}; - -#endif - diff --git a/ctbGui/ctbDefs.h b/ctbGui/ctbDefs.h deleted file mode 100644 index 85d7e1b8a..000000000 --- a/ctbGui/ctbDefs.h +++ /dev/null @@ -1,86 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#pragma once - -#include -#include -#include - -//#include "sls/sls_detector_exceptions.h" -//#include "sls/ansi.h" -#define RED "\x1b[31m" -#define RESET "\x1b[0m" -#define BOLD "\x1b[1m" -#define cprintf(code, format, ...) printf(code format RESET, ##__VA_ARGS__) - - -#define CATCH_DISPLAY(m, s) catch(...) { ctbDefs::DisplayExceptions(m, s); } -#define CATCH_HANDLE(...) catch(...) { ctbDefs::HandleExceptions(__VA_ARGS__); } - -class ctbDefs { - public: - /** - * Empty Constructor - */ - ctbDefs(){}; - - // convert double seconds to chrono ns - static std::chrono::nanoseconds ConvertDoubleStoChronoNS(double timeS) { - using std::chrono::duration; - using std::chrono::duration_cast; - using std::chrono::nanoseconds; - return duration_cast(duration(timeS)); - } - - // convert chrono ns to doubel s - static double ConvertChronoNStoDoubleS(std::chrono::nanoseconds timeNs) { - using std::chrono::duration; - using std::chrono::duration_cast; - return duration_cast>(timeNs).count(); - } - - static void DisplayExceptions(std::string emsg, std::string src) { - try { - throw; - } /* catch (const sls::SocketError &e) { - throw; - } catch (const sls::SharedMemoryError &e) { - throw; - } */catch (const std::exception &e) { - ExceptionMessage(emsg, e.what(), src); - } - }; - - template struct NonDeduced { using type = CT; }; - template - static void HandleExceptions(const std::string emsg, const std::string src, S* s, - RT (S::*somefunc)(CT...), - typename NonDeduced::type... Args) { - try { - throw; - } /*catch (const sls::SocketError &e) { - throw; - } catch (const sls::SharedMemoryError &e) { - throw; - } */catch (const std::exception &e) { - - ExceptionMessage(emsg, e.what(), src); - (s->*somefunc)(Args...); - } - }; - - static void ExceptionMessage(std::string message, - std::string exceptionMessage, - std::string source) { - // because sls_detector_exceptions cannot be included - if (exceptionMessage.find("hared memory") != std::string::npos) { - throw; - } - if (exceptionMessage.find("annot connect") != std::string::npos) { - throw; - } - cprintf(RED, "Warning (%s): %s [Caught Exception: %s]\n", source.c_str(), message.c_str(), exceptionMessage.c_str()); - //return Message(qDefs::WARNING, message + std::string("\nCaught exception:\n") + exceptionMessage, source); - }; - -}; diff --git a/ctbGui/ctbGui.cpp b/ctbGui/ctbGui.cpp deleted file mode 100644 index 5c34d8ee0..000000000 --- a/ctbGui/ctbGui.cpp +++ /dev/null @@ -1,159 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "sls/Detector.h" -#include "sls/sls_detector_defs.h" -//#include "sls_receiver_defs.h" -#include "ctbMain.h" -#include "ctbDefs.h" -using namespace std; - - -int main(int argc, char **argv) { - - - string afname, cfname, pfname; - int id=0; - - int af=0, cf=0, pf=0; - - - cout << " *** " << argc << endl; - for (int ia=0; ialoadConfig(cfname); - cout << "Config file loaded successfully" << endl; - } else { - cout << "No config file specified" << endl; - } - cout << "hostname " << myDet->getHostname() << endl; - - if (pf) { - myDet->loadParameters(pfname); - cout << "Loaded parameter file successfully" << endl; - } else{ - cout << "No parameter file specified" << endl; - } - } CATCH_DISPLAY ("Could not create detector/ load config/parameters.", "ctbGui::main") - - /***********Create GUI stuff *******************/ - TApplication theApp("App",&argc,argv); - - - gStyle->SetDrawBorder(0); - gStyle->SetCanvasColor(kWhite); - gStyle->SetCanvasDefH(800); - gStyle->SetCanvasDefW(800); - gStyle->SetCanvasBorderMode(0); - gStyle->SetPadBorderMode(0); - gStyle->SetPaintTextFormat("5.2f"); - gStyle->SetLineWidth(2); - gStyle->SetTextSize(1.1); - gStyle->SetLabelSize(0.04,"xy"); - gStyle->SetTitleSize(0.05,"xy"); - gStyle->SetTitleOffset(1.0,"x"); - gStyle->SetTitleOffset(1.1,"y"); - gStyle->SetPadTopMargin(0.15); - gStyle->SetPadRightMargin(0.15); - gStyle->SetPadBottomMargin(0.15); - gStyle->SetPadLeftMargin(0.15); - gStyle->SetLegendBorderSize(1); - gStyle->SetFrameBorderMode(0); - gStyle->SetFrameFillColor(kWhite); - // gStyle->SetLegendFillColor(kWhite); - gStyle->SetTitleFillColor(kWhite); - gStyle->SetFillColor(kWhite); - gStyle->SetStatFontSize(0.03); - gStyle->SetStatBorderSize(1); - gStyle->SetStatFormat("6.4g"); - gStyle->SetStatX(0.95); - gStyle->SetStatY(0.95); - gStyle->SetStatW(0.2); - gStyle->SetStatH(0.2); - gStyle->SetTitleX(0.1); - gStyle->SetTitleY(0.95); - gStyle->SetTitleBorderSize(0); - gStyle->SetTitleFontSize(0.05); - gROOT->SetStyle("Default"); - - - TColor::InitializeColors(); - const Int_t NRGBs = 5; - const Int_t NCont = 90; - - Double_t stops[NRGBs] = { 0.00, 0.34, 0.61, 0.84, 1.00 }; - Double_t red[NRGBs] = { 0.00, 0.00, 0.87, 1.00, 0.51 }; - Double_t green[NRGBs] = { 0.00, 0.81, 1.00, 0.20, 0.00 }; - Double_t blue[NRGBs] = { 0.51, 1.00, 0.12, 0.00, 0.00 }; - TColor::CreateGradientColorTable(NRGBs, stops, red, green, blue, NCont); - gStyle->SetNumberContours(NCont); - - - gROOT->ForceStyle(); - ctbMain *mf=new ctbMain(gClient->GetRoot(), myDet); - - cout << " *** " << argc << endl; - for (int ia=0; ialoadAlias(afname); - else - cout << "no alias specified" << endl; - - theApp.Run(); - - return 0; -} diff --git a/ctbGui/ctbLinkDef.h b/ctbGui/ctbLinkDef.h deleted file mode 100644 index f041a01fd..000000000 --- a/ctbGui/ctbLinkDef.h +++ /dev/null @@ -1,17 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#pragma link C++ class ctbMain; -#pragma link C++ class ctbDacs; -#pragma link C++ class ctbDac; -#pragma link C++ class ctbSignals; -#pragma link C++ class ctbSignal; -#pragma link C++ class ctbAdc; -#pragma link C++ class ctbAdcs; -#pragma link C++ class ctbLoop; -#pragma link C++ class ctbWait; -#pragma link C++ class ctbPattern; -#pragma link C++ class ctbAcquisition; -#pragma link C++ class ctbPower; -#pragma link C++ class ctbPowers; -#pragma link C++ class ctbSlowAdc; -#pragma link C++ class ctbSlowAdcs; diff --git a/ctbGui/ctbMain.cpp b/ctbGui/ctbMain.cpp deleted file mode 100644 index 0308589bb..000000000 --- a/ctbGui/ctbMain.cpp +++ /dev/null @@ -1,588 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -//#include -//#include - - - - -#include -#include -#include -#include - -#include "sls/Detector.h" -#include "ctbDefs.h" -#include "ctbMain.h" -#include "ctbDacs.h" -#include "ctbSlowAdcs.h" -#include "ctbPowers.h" -#include "ctbSignals.h" -#include "ctbPattern.h" -#include "ctbAdcs.h" -#include "ctbAcquisition.h" -//#include "ctbActions.h" - -using namespace std; - - - -ctbMain::ctbMain(const TGWindow *p, sls::Detector *det) - : TGMainFrame(p,800,800), pwrs(NULL), senses(NULL) { - - myDet=det; - - Connect("CloseWindow()", "ctbMain", this, "CloseWindow()"); - - - - - -// fMenuDock = new TGDockableFrame(this); -// AddFrame(fMenuDock, new TGLayoutHints(kLHintsExpandX, 0, 0, 1, 0)); -// fMenuDock->SetWindowName("GuiTest Menu"); - - fMenuBarLayout = new TGLayoutHints(kLHintsTop | kLHintsExpandX); - fMenuBarItemLayout = new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0); - fMenuBarHelpLayout = new TGLayoutHints(kLHintsTop | kLHintsRight); - - fMenuFile = new TGPopupMenu(gClient->GetRoot()); - int im=0; - - fMenuFile->AddEntry("Open Alias", im++); - fMenuFile->AddEntry("Save Alias", im++); - fMenuFile->AddSeparator(); - fMenuFile->AddEntry("Open Parameters", im++); - fMenuFile->AddEntry("Save Parameters", im++); - fMenuFile->AddSeparator(); - fMenuFile->AddEntry("Open Configuration", im++); - fMenuFile->AddEntry("Save Configuration", im++); - fMenuFile->AddSeparator(); - fMenuFile->AddEntry("Open Pattern", im++); - fMenuFile->AddEntry("Save Pattern", im++); - fMenuFile->AddSeparator(); - fMenuFile->AddEntry("Exit", im++); - - fMenuFile->Connect("Activated(Int_t)", "ctbMain", this, - "HandleMenu(Int_t)"); - - - i_dacs=-1; - i_pwrs=-1; - i_senses=-1; - i_sig=-1; - i_adcs=-1; - i_pat=-1; - i_acq=-1; - - int i_page=0; - - - - - - - - - - - - - - - - - - TGVerticalFrame *vframe=new TGVerticalFrame(this, 800,1200); //main frame - - - - fMenuBar = new TGMenuBar(vframe, 1, 1, kHorizontalFrame); - fMenuBar->AddPopup("&File", fMenuFile, fMenuBarItemLayout); -// fMenuBar->AddPopup("&Test", fMenuTest, fMenuBarItemLayout); -// fMenuBar->AddPopup("&View", fMenuView, fMenuBarItemLayout); -// fMenuBar->AddPopup("&Help", fMenuHelp, fMenuBarHelpLayout); - - vframe->AddFrame(fMenuBar, fMenuBarLayout); - - TGHorizontalFrame* hpage=new TGHorizontalFrame(vframe, 800,1200); //horizontal frame. Inside there should be the tab and the canvas - mtab=new TGTab(hpage, 1500, 1200); //tab! - // page=new TGVerticalFrame(mtab, 1500,1200); - - cout << "DACS" << endl; - - TGCompositeFrame *tf = mtab->AddTab("DACs"); - TGVerticalFrame *page=new TGVerticalFrame(tf, 1500,1200); - tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - dacs=new ctbDacs(page, myDet); - i_dacs=i_page++; - - - cout << "power " << endl; - tf = mtab->AddTab("Power Supplies"); - page=new TGVerticalFrame(tf, 1500,1200); - tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - pwrs=new ctbPowers(page, myDet); - - i_pwrs=i_page++; - - cout << "sense " << endl; - tf = mtab->AddTab("Sense"); - page=new TGVerticalFrame(tf, 1500,1200); - tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - senses=new ctbSlowAdcs(page, myDet); - - i_senses=i_page++; - - - - cout << "signals " << endl; - tf = mtab->AddTab("Signals"); - page=new TGVerticalFrame(tf, 1500,1200); - tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - sig=new ctbSignals(page, myDet); - sig->Connect("ToggledSignalPlot(Int_t)","ctbMain",this,"setSignalPlot(Int_t)"); - - i_sig=i_page++; - - cout << "adcs " << endl; - tf = mtab->AddTab("ADCs"); - page=new TGVerticalFrame(tf, 1500,1200); - tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - adcs=new ctbAdcs(page, myDet); - adcs->Connect("ToggledAdcPlot(Int_t)","ctbMain",this,"setADCPlot(Int_t)"); - adcs->Connect("AdcEnable(Int_t)","ctbMain",this,"setADCEnable(Int_t)"); - i_adcs=i_page++; - - - cout << "pattern" << endl; - - tf = mtab->AddTab("Pattern"); - page=new TGVerticalFrame(tf, 1500,1200); - tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - pat=new ctbPattern(page, myDet); - pat->Connect("patternFileChanged(const char*)","ctbMain",this,"setPatternFile(const char*)"); - pat->Connect("patternCompilerChanged(const char*)","ctbMain",this,"setPatternCompiler(const char*)"); - pat->Connect("analogSamplesChanged(const int)","ctbMain",this,"setAnalogSamples(int)"); - pat->Connect("digitalSamplesChanged(const int)","ctbMain",this,"setDigitalSamples(int)"); - pat->Connect("readoutModeChanged(int)","ctbMain",this,"setReadoutMode(int)"); - - i_pat=i_page++; - - cout << "acquisition" << endl; - - tf = mtab->AddTab("Acquisition"); - page=new TGVerticalFrame(tf, 1500,1200); - tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - acq=new ctbAcquisition(page, myDet); - - - i_acq=i_page++; - - - // cout << "actions" << endl; - // tf = mtab->AddTab("Actions"); - // page=new TGVerticalFrame(tf, 1500,1200); - // tf->AddFrame(page, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - // actions=new ctbActions(page, myDet); - - - // i_actions=i_page++; - - - - cout << "tabs finished" << endl; - - hpage->AddFrame(mtab,new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - - vframe->AddFrame(hpage,new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - - AddFrame(vframe,new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 10,10,10,1)); - vframe->MapWindow(); - hpage->MapWindow(); - mtab->MapWindow(); - page->MapWindow(); - - // Sets window name and shows the main frame - cout << "dockabel" << endl; - TGDockableFrame *fdock=new TGDockableFrame(hpage); - hpage->AddFrame(fdock, new TGLayoutHints(kLHintsBottom | kLHintsCenterX | kLHintsExpandX | kLHintsExpandY, 10,10,10,10)); - fdock->MapWindow(); - - cout << "canvas" << endl; -// // Creates widgets of the example - - - fEcanvas = new TRootEmbeddedCanvas ("Ecanvas",fdock,800,800);//hpage,800,800); - //fEcanvas = new TRootEmbeddedCanvas ("Ecanvas",this,800,800);//hpage,800,800); - // fEcanvas->Resize(); - // fEcanvas->GetCanvas()->Update(); - //AddFrame(fEcanvas, new TGLayoutHints(kLHintsBottom | kLHintsCenterX | kLHintsExpandX | kLHintsExpandY, 10,10,10,10)); - - // // hpage-> - fdock->AddFrame(fEcanvas, new TGLayoutHints(kLHintsBottom | kLHintsCenterX | kLHintsExpandX | kLHintsExpandY, 10,10,10,10)); - - - fEcanvas->MapWindow(); - - acq->setCanvas(getCanvas()); - - - - hpage->MapSubwindows(); - mtab->Connect("Selected(Int_t)","ctbMain",this,"tabSelected(Int_t)"); - - - - cout << "connect mtab" << endl; - - try{ - setReadoutMode(pat->getReadoutMode()); - } CATCH_DISPLAY ("Could not get readout flags", "ctbPattern::getReadoutMode") - - setADCEnable(adcs->setEnable()); - setAnalogSamples(pat->getAnalogSamples()); - setDigitalSamples(pat->getDigitalSamples()); - - tabSelected(0); - - SetWindowName("CTB Gui"); - MapSubwindows(); - Resize(1500,1200); - - MapWindow(); -} - -void ctbMain::CloseWindow() { - gApplication->Terminate(); -} - -TCanvas* ctbMain::getCanvas() { - return fEcanvas->GetCanvas(); -} - - - -void ctbMain::HandleMenu(Int_t id) -{ - // Handle menu items. - - - - - switch (id) { - - case 0: // fMenuFile->AddEntry("Open Alias", im++); - cout << "Open Alias" << endl; - { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) - loadAlias(fi.fFilename); - } - break; - - case 1: // fMenuFile->AddEntry("Save Alias", im++); - cout << "Save Alias" << endl; - { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDSave, &fi); - printf("Save file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) - saveAlias(fi.fFilename); - } - break; - case 2: //fMenuFile->AddEntry("Open Parameters", im++); - cout << "Open Parameters" << endl; - { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) - loadParameters(fi.fFilename); - } - break; - - case 3: // fMenuFile->AddEntry("Open Configuration", im++); - cout << "Open configuration" << endl; - { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) - loadConfiguration(fi.fFilename); - } - break; - - case 4: //fMenuFile->AddEntry("Open Pattern", im++); - cout << "Open pattern" << endl; - { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) - loadParameters(fi.fFilename); - } - break; - - case 5: //fMenuFile->AddEntry("Save Pattern", im++); - cout << "Save pattern" << endl; - { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDSave, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) - savePattern(fi.fFilename); - } - break; - - case 6: // fMenuFile->AddEntry("Exit", im++); - CloseWindow(); - - default: - printf("Menu item %d selected\n", id); - break; - } -} - - - -int ctbMain::setADCPlot(Int_t i) { - - // cout << "ADC " << i << " plot or color toggled" << endl; - // acq->setGraph(i,adcs->getGraph(i)); - acq->setGraph(i,adcs->getEnabled(i),adcs->getColor(i)); - return -1; -} - - -int ctbMain::setSignalPlot(Int_t i) { - - // cout << "ADC " << i << " plot or color toggled" << endl; - // acq->setGraph(i,adcs->getGraph(i)); - acq->setBitGraph(i,sig->getPlot(i),sig->getColor(i)); - return -1; -} - - - -void ctbMain::loadConfiguration(string fname) { - try{ - myDet->loadConfig(fname); - } CATCH_DISPLAY ("Could not load config.", "ctbMain::loadConfiguration") -} - -void ctbMain::loadParameters(string fname) { - try{ - myDet->loadParameters(fname); - } CATCH_DISPLAY ("Could not load parameters.", "ctbMain::loadParameters") -} - -void ctbMain::savePattern(string fname) { - try{ - myDet->savePattern(fname); - } CATCH_DISPLAY ("Could not save pattern.", "ctbMain::savePattern") -} - - - -int ctbMain::loadAlias(string fname) { - - - string line; - char aaaa[1000]; - int i; - ifstream myfile (fname.c_str()); - if (myfile.is_open()) - { - while ( getline (myfile,line) ) - { - // cout << line ; - if (sscanf(line.c_str(),"BIT%d",&i)>0) { - //cout << "*******" << line<< endl; - sig->setSignalAlias(line); - // cout << line ; - } else if (sscanf(line.c_str(),"DAC%d",&i)>0) { - dacs->setDacAlias(line); - // cout << "+++++++++" << line<< endl; - } else if (sscanf(line.c_str(),"ADC%d",&i)>0) { - adcs->setAdcAlias(line); - // cout << "---------" << line<< endl; - } // else - // cout << "<<<<<<<" << line << endl; - else if (sscanf(line.c_str(),"PAT%s",aaaa)>0) { - pat->setPatternAlias(line); - // cout << "---------" << line<< endl; - } else if (sscanf(line.c_str(),"V%s",aaaa)>0) { - if (pwrs) pwrs->setPwrAlias(line); - // cout << "+++++++++" << line<< endl; - } else if (sscanf(line.c_str(),"SENSE%d",&i)>0) { - if (senses) senses->setSlowAdcAlias(line); - // cout << "+++++++++" << line<< endl; - } - - } - myfile.close(); - } - - else cout << "Unable to open file"; - - return 0; - -} - - - - - -int ctbMain::saveAlias(string fname) { - - - string line; - ofstream myfile (fname.c_str()); - if (myfile.is_open()) - { - //while ( getline (myfile,line) ) - // { - // cout << line ; - //if (sscanf(line.c_str(),"BIT%d",&i)>0) { - //cout << "*******" << line<< endl; - myfile << sig->getSignalAlias(); - // cout << line ; - // } else if (sscanf(line.c_str(),"DAC%d",&i)>0) { - myfile << dacs->getDacAlias(); - if (pwrs) myfile << pwrs->getPwrAlias(); - if (senses) myfile << senses->getSlowAdcAlias(); - // cout << "+++++++++" << line<< endl; - // } else if (sscanf(line.c_str(),"ADC%d",&i)>0) { - myfile << adcs->getAdcAlias(); - // cout << "---------" << line<< endl; - // } // else - // cout << "<<<<<<<" << line << endl; - myfile << pat->getPatternAlias(); - - //} - myfile.close(); - } - - else cout << "Unable to open file"; - - return 0; - -} - - - - - - - - - - - -void ctbMain::tabSelected(Int_t i) { - - // cout << "Selected tab " << i << endl; - // cout << "Current tab is " << mtab->GetCurrent() << endl; - - if (i==i_dacs) dacs->update(); - else if (i==i_pwrs) pwrs->update(); - else if (i==i_senses) ;//senses->update(); - else if (i==i_sig) sig->update(); - else if (i==i_adcs) adcs->update(); - else if (i==i_pat) pat->update(); - else if (i==i_acq) acq->update(); - else if (i==i_acq) acq->update(); - // else if (i==i_actions) actions->update(); - else cout << "Unknown tab " << i << endl; - - -} - -void ctbMain::setPatternFile(const char* t) { - acq->setPatternFile(t); - -} - -void ctbMain::setPatternCompiler(const char* t) { - acq->setPatternCompiler(t); - - -} - -void ctbMain::setAnalogSamples(const int n) { - acq->setAnalogSamples(n); - - -} - -void ctbMain::setDigitalSamples(const int n) { - acq->setDigitalSamples(n); - - -} - -void ctbMain::setReadoutMode(int flags) { - acq->setReadoutMode(flags); -} - -void ctbMain::setADCEnable(Int_t reg){ - acq->setADCEnable(reg); -} diff --git a/ctbGui/ctbMain.h b/ctbGui/ctbMain.h deleted file mode 100644 index 34ff8d429..000000000 --- a/ctbGui/ctbMain.h +++ /dev/null @@ -1,130 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#ifndef CTBMAIN_H -#define CTBMAIN_H -#include - - -class TRootEmbeddedCanvas; -class TGButtonGroup; -class TGVerticalFrame; -class TGHorizontalFrame; -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TH2F; -class TGComboBox; -class TGCheckButton; - -class THStack; -class TGraphErrors; -class TGTextButton; -class TGTab; - -class TGMenuBar; -class TGPopupMenu; -class TGDockableFrame; -class TGLayoutHints; -class TGCanvas; -class TCanvas; - -class ctbDacs; -class ctbSlowAdcs; -class ctbPowers; - - -class ctbSignals; - -namespace sls -{ - class Detector; -}; - -class ctbPattern; -class ctbAdcs; -class ctbAcquisition; -//class ctbActions; - -#include -using namespace std; - -class ctbMain : public TGMainFrame { -private: - - - sls::Detector *myDet; - - - - TRootEmbeddedCanvas *fEcanvas; - TRootEmbeddedCanvas *fModulecanvas; - TGButtonGroup *br; - - TGTab *mtab; - - - ctbDacs *dacs; - int i_dacs; - - ctbPowers *pwrs; - int i_pwrs; - - ctbSlowAdcs *senses; - int i_senses; - - - ctbSignals *sig; - int i_sig; - - - ctbAdcs *adcs; - int i_adcs; - - - ctbPattern *pat; - int i_pat; - - ctbAcquisition *acq; - int i_acq; - - // ctbActions *actions; - int i_actions; - - TGDockableFrame *fMenuDock; - - TGMenuBar *fMenuBar; - TGPopupMenu *fMenuFile, *fMenuTest, *fMenuView, *fMenuHelp; - TGPopupMenu *fCascadeMenu, *fCascade1Menu, *fCascade2Menu; - TGPopupMenu *fMenuNew1, *fMenuNew2; - TGLayoutHints *fMenuBarLayout, *fMenuBarItemLayout, *fMenuBarHelpLayout; - TGCanvas *myCanvas; - - -public: - ctbMain(const TGWindow *p, sls::Detector *det); - - - int loadAlias(string fname); - int saveAlias(string fname); - void loadParameters(string fname); - void savePattern(string fname); - void loadConfiguration(string fname); - void tabSelected(Int_t); - int setADCPlot(Int_t); - int setSignalPlot(Int_t); - void CloseWindow(); - - void setPatternFile(const char* t); - - void setPatternCompiler(const char* t); - void setAnalogSamples(const int); - void setDigitalSamples(const int); - void setReadoutMode(int); - void setADCEnable(Int_t); - - void HandleMenu(Int_t); - TCanvas* getCanvas(); - ClassDef(ctbMain,0) -}; - -#endif diff --git a/ctbGui/ctbPattern.cpp b/ctbGui/ctbPattern.cpp deleted file mode 100644 index 5d3d49a5e..000000000 --- a/ctbGui/ctbPattern.cpp +++ /dev/null @@ -1,1111 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "ctbPattern.h" -#include "ctbDefs.h" -#include "sls/Detector.h" -#include -using namespace std; - - - - - -ctbLoop::ctbLoop(TGGroupFrame *page, int i, sls::Detector *det) : TGHorizontalFrame(page, 800,800), id(i), myDet(det) { - - TGHorizontalFrame *hframe=this; - - char tit[100]; - - page->AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - MapWindow(); - - - - - - sprintf(tit, "Loop %d Repetitions: ", id); - - TGLabel *label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eLoopNumber = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - hframe->AddFrame( eLoopNumber,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eLoopNumber->MapWindow(); - eLoopNumber->Resize(150,30); - TGTextEntry *e= eLoopNumber->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbLoop",this,"setNLoops()"); - - - - - sprintf(tit, "Start Address: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eLoopStartAddr = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 1024); - hframe->AddFrame( eLoopStartAddr,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eLoopStartAddr->MapWindow(); - eLoopStartAddr->Resize(150,30); - - // eLoopStartAddr->SetState(kFALSE); - - label= new TGLabel(hframe, "Stop Address: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - - eLoopStopAddr = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 1024); - hframe->AddFrame( eLoopStopAddr,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eLoopStopAddr->MapWindow(); - eLoopStopAddr->Resize(150,30); - - - - // eLoopStopAddr->SetState(kFALSE); - - - - - - -} - -void ctbLoop::setNLoops() { - try{ - myDet->setPatternLoopCycles(id, eLoopNumber->GetNumber()); - } CATCH_DISPLAY ("Could not set number of pattern loops for level " + to_string(id) + ".", "ctbLoop::setNLoops") -} - - - -void ctbLoop::update() { - try{ - - auto loop = myDet->getPatternLoopCycles(id).tsquash("Different values"); - eLoopNumber->SetNumber(loop); - auto loopaddr = myDet->getPatternLoopAddresses(id).tsquash("Different values"); - eLoopStartAddr->SetHexNumber(loopaddr[0]); - eLoopStopAddr->SetHexNumber(loopaddr[1]); - - - } CATCH_DISPLAY ("Could not get pattern loops for level " + to_string(id) + ".", "ctbLoop::update") -} - - - -ctbWait::ctbWait(TGGroupFrame *page, int i, sls::Detector *det) : TGHorizontalFrame(page, 800,800), id(i), myDet(det) { - - char tit[100]; - TGHorizontalFrame *hframe=this; - page->AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - MapWindow(); - - - - sprintf(tit, "Wait %d (run clk): ", id); - - TGLabel *label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eWaitTime = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - hframe->AddFrame( eWaitTime,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eWaitTime->MapWindow(); - eWaitTime->Resize(150,30); - TGTextEntry *e= eWaitTime->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbWait",this,"setWaitTime()"); - - - - sprintf(tit, "Wait Address: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eWaitAddr = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 1024); - hframe->AddFrame( eWaitAddr,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eWaitAddr->MapWindow(); - eWaitAddr->Resize(150,30); - - // eWaitAddr->SetState(kFALSE); - -} - - - -void ctbWait::setWaitTime() { - try{ - - myDet->setPatternWaitTime(id, eWaitTime->GetNumber()); - - } CATCH_DISPLAY ("Could not set pattern wait time for level " + to_string(id) + ".", "ctbWait::setWaitTime") -} - - - -void ctbWait::update() { - try{ - - auto time = myDet->getPatternWaitTime(id).tsquash("Different values"); - auto addr = myDet->getPatternWaitAddr(id).tsquash("Different values"); - - eWaitAddr->SetHexNumber(addr); - eWaitTime->SetNumber(time); - - } CATCH_DISPLAY ("Could not get pattern loops for level " + to_string(id) + ".", "ctbWait::update") -} - - - - - - - - - -ctbPattern::ctbPattern(TGVerticalFrame *page, sls::Detector *det) - : TGGroupFrame(page,"Pattern",kVerticalFrame), myDet(det) { - - - SetTitlePos(TGGroupFrame::kLeft); - page->AddFrame(this,new TGLayoutHints( kLHintsTop | kLHintsExpandX , 10,10,10,10)); - MapWindow(); - - - char tit[100]; - - - TGHorizontalFrame* hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - sprintf(tit, "Run Clock Frequency (MHz): "); - - TGLabel *label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eRunClkFreq = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 400); - hframe->AddFrame( eRunClkFreq,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eRunClkFreq->MapWindow(); - eRunClkFreq->Resize(150,30); - TGTextEntry *e= eRunClkFreq->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setRunFreq()"); - - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - - - sprintf(tit, "ADC Clock Frequency (MHz): "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eAdcClkFreq = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 40); - hframe->AddFrame( eAdcClkFreq,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eAdcClkFreq->MapWindow(); - eAdcClkFreq->Resize(150,30); - e= eAdcClkFreq->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setAdcFreq()"); - - - - - sprintf(tit, "DBIT Clock Frequency (MHz): "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eDBitClkFreq = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 400); - hframe->AddFrame( eDBitClkFreq,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eDBitClkFreq->MapWindow(); - eDBitClkFreq->Resize(150,30); - e= eDBitClkFreq->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setDBitFreq()"); - - - - - - - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - - - label= new TGLabel(hframe, "ADC Clock Phase (a.u.): "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - - eAdcClkPhase = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEAAnyNumber, - TGNumberFormat::kNELLimitMinMax, - -255, 255); - hframe->AddFrame( eAdcClkPhase,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eAdcClkPhase->MapWindow(); - eAdcClkPhase->Resize(150,30); - e= eAdcClkPhase->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setAdcPhase()"); - - - - - label= new TGLabel(hframe, "DBit Clock Phase (a.u.): "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - - eDBitClkPhase = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEAAnyNumber, - TGNumberFormat::kNELLimitMinMax, - -255, 255); - hframe->AddFrame( eDBitClkPhase,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eDBitClkPhase->MapWindow(); - eDBitClkPhase->Resize(150,30); - e= eDBitClkPhase->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setDBitPhase()"); - - -// label= new TGLabel(hframe, " Phase (0.15ns step): "); -// hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); -// label->MapWindow(); -// label->SetTextJustify(kTextLeft); - - - - - -// eRunClkPhase = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, -// TGNumberFormat::kNEANonNegative, -// TGNumberFormat::kNELLimitMinMax, -// 0, 200); -// hframe->AddFrame( eRunClkPhase,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); -// eRunClkPhase->MapWindow(); -// eRunClkPhase->Resize(150,30); -// e= eRunClkPhase->TGNumberEntry::GetNumberEntry(); -// e->Connect("ReturnPressed()","ctbPattern",this,"setRunPhase()"); - - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - - - label= new TGLabel(hframe, "Adc pipeline: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - - eAdcPipeline = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 64); - hframe->AddFrame( eAdcPipeline,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eAdcPipeline->MapWindow(); - eAdcPipeline->Resize(150,30); - e= eAdcPipeline->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setAdcPipeline()"); - - - - - - - label= new TGLabel(hframe, "DBIT pipeline: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - - eDBitPipeline = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 64); - hframe->AddFrame( eDBitPipeline,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eDBitPipeline->MapWindow(); - eDBitPipeline->Resize(150,30); - e= eDBitPipeline->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setDBitPipeline()"); - - - - - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - sprintf(tit, "Number of triggers: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eTriggers = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - hframe->AddFrame( eTriggers,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eTriggers->MapWindow(); - eTriggers->Resize(150,30); - e= eTriggers->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setTriggers()"); - - - // sprintf(tit, "Number of measurements: "); - - // label= new TGLabel(hframe, tit); - // hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - // label->MapWindow(); - // label->SetTextJustify(kTextLeft); - - - - - // eMeasurements = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - // TGNumberFormat::kNEANonNegative, - // TGNumberFormat::kNELNoLimits); - // hframe->AddFrame( eMeasurements,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - // eMeasurements->MapWindow(); - // eMeasurements->Resize(150,30); - // e= eMeasurements->TGNumberEntry::GetNumberEntry(); - // e->Connect("ReturnPressed()","ctbPattern",this,"setMeasurements()"); - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - sprintf(tit, "Number of frames: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eFrames = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - hframe->AddFrame( eFrames,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eFrames->MapWindow(); - eFrames->Resize(150,30); - e= eFrames->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setFrames()"); - - - label= new TGLabel(hframe, " Period (s): "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - - ePeriod = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESReal, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - hframe->AddFrame( ePeriod,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - ePeriod->MapWindow(); - ePeriod->Resize(150,30); - e= ePeriod->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setPeriod()"); - - - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - sprintf(tit, "Start Address: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - eStartAddr = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 1024); - hframe->AddFrame( eStartAddr,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eStartAddr->MapWindow(); - eStartAddr->Resize(150,30); - - eStartAddr->SetState(kFALSE); - - label= new TGLabel(hframe, "Stop Address: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - - eStopAddr = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 0, 1024); - hframe->AddFrame( eStopAddr,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eStopAddr->MapWindow(); - eStopAddr->Resize(150,30); - - - - - eStopAddr->SetState(kFALSE); - - - - - - - int idac=0; - for (idac=0; idacMapWindow(); - - - - label= new TGLabel(hframe, "Compiler: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - - patternCompiler=new TGTextEntry(hframe,"generate.sh"); - hframe->AddFrame(patternCompiler,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - patternCompiler->MapWindow(); - // patternCompiler->SetTextJustify(kTextLeft); - patternCompiler->Connect("ReturnPressed()","ctbPattern",this,"setCompiler()"); - - - browseCompiler=new TGTextButton(hframe,"Browse"); - hframe->AddFrame(browseCompiler,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - browseCompiler->MapWindow(); - // patternCompiler->SetTextJustify(kTextLeft); - browseCompiler->Connect("Clicked()","ctbPattern",this,"chooseCompiler()"); - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - label= new TGLabel(hframe, "Pattern: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - patternFile=new TGTextEntry(hframe,"file.p"); - hframe->AddFrame(patternFile,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - patternFile->MapWindow(); - patternFile->Connect("ReturnPressed()","ctbPattern",this,"setFile()"); - // patternFile->SetTextJustify(kTextLeft); - - - - browseFile=new TGTextButton(hframe,"Browse"); - hframe->AddFrame(browseFile,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - browseFile->MapWindow(); - // patternCompiler->SetTextJustify(kTextLeft); - browseFile->Connect("Clicked()","ctbPattern",this,"choosePattern()"); - - - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - sprintf(tit, "Samples per frame - "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - sprintf(tit, "Analog: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - eAnalogSamples = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 1, 8192); - hframe->AddFrame( eAnalogSamples,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eAnalogSamples->MapWindow(); - eAnalogSamples->Resize(150,30); - e= eAnalogSamples->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setAnalogSamples()"); - - sprintf(tit, "Digital: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - - eDigitalSamples = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELLimitMinMax, - 1, 8192); - hframe->AddFrame( eDigitalSamples,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eDigitalSamples->MapWindow(); - eDigitalSamples->Resize(150,30); - e= eDigitalSamples->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbPattern",this,"setDigitalSamples()"); - - - hframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - sprintf(tit, "Read Out Mode: "); - - label= new TGLabel(hframe, tit); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - cbAnalog= new TGCheckButton(hframe, "Analog"); - hframe->AddFrame(cbAnalog,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 5, 5, 5, 5)); - cbAnalog->MapWindow(); - cbAnalog->SetTextJustify(kTextRight); - cbAnalog->Connect("Toggled(Bool_t)","ctbPattern",this,"setReadoutMode(Bool_t)"); - - cbDigital= new TGCheckButton(hframe, "Digital"); - hframe->AddFrame(cbDigital,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 5, 5, 5, 5)); - cbDigital->MapWindow(); - cbDigital->SetTextJustify(kTextRight); - cbDigital->Connect("Toggled(Bool_t)","ctbPattern",this,"setReadoutMode(Bool_t)"); - - - - -} - -void ctbPattern::update() { - try{ - auto retval = myDet->getRUNClock().tsquash("Different values"); - eRunClkFreq->SetNumber(retval); - } CATCH_DISPLAY ("Could not get run clock.", "ctbPattern::update") - - try{ - auto retval = myDet->getADCClock().tsquash("Different values"); - eAdcClkFreq->SetNumber(retval); - } CATCH_DISPLAY ("Could not get adc clock.", "ctbPattern::update") - - try{ - auto retval = myDet->getADCPhase().tsquash("Different values"); - eAdcClkPhase->SetNumber(retval); - } CATCH_DISPLAY ("Could not get adc phase shift.", "ctbPattern::update") - - try{ - auto retval = myDet->getADCPipeline().tsquash("Different values"); - eAdcPipeline->SetNumber(retval); - } CATCH_DISPLAY ("Could not get adc pipeline.", "ctbPattern::update") - - try{ - auto retval = myDet->getDBITClock().tsquash("Different values"); - eDBitClkFreq->SetNumber(retval); - } CATCH_DISPLAY ("Could not get dbit clock.", "ctbPattern::update") - - try{ - auto retval = myDet->getDBITPhase().tsquash("Different values"); - eDBitClkPhase->SetNumber(retval); - } CATCH_DISPLAY ("Could not get dbit phase shift.", "ctbPattern::update") - - try{ - auto retval = myDet->getDBITPipeline().tsquash("Different values"); - eDBitPipeline->SetNumber(retval); - } CATCH_DISPLAY ("Could not get dbit pipeline.", "ctbPattern::update") - - try{ - auto retval = myDet->getNumberOfFrames().tsquash("Different values"); - eFrames->SetNumber(retval); - } CATCH_DISPLAY ("Could not get number of frames.", "ctbPattern::update") - - try{ - auto timeNs = myDet->getPeriod().tsquash("Different values"); - ePeriod->SetNumber(ctbDefs::ConvertChronoNStoDoubleS(timeNs)); - } CATCH_DISPLAY ("Could not get period.", "ctbPattern::update") - - try{ - auto retval = myDet->getNumberOfTriggers().tsquash("Different values"); - eTriggers->SetNumber(retval); - } CATCH_DISPLAY ("Could not get number of triggers.", "ctbPattern::update") - - try{ - auto retval = myDet->getPatternLoopAddresses(-1).tsquash("Different values"); - eStartAddr->SetHexNumber(retval[0]); - eStopAddr->SetHexNumber(retval[1]); - } CATCH_DISPLAY ("Could not get dbit phase shift.", "ctbPattern::update") - - for (int iloop=0; iloopupdate(); - } - - for (int iwait=0; iwaitupdate(); - } - - getAnalogSamples(); - getDigitalSamples(); - getReadoutMode(); -} - - -void ctbPattern::setFile() { - patternFileChanged(patternFile->GetText()); - -} - - -void ctbPattern::setCompiler() { - patternCompilerChanged(patternCompiler->GetText()); -} - - -void ctbPattern::patternFileChanged(const char* t){ - Emit("patternFileChanged(const char*)", t); -} - - -void ctbPattern::patternCompilerChanged(const char* t){ - Emit("patternCompilerChanged(const char*)", t); - -} - - -void ctbPattern::setPatternAlias(string line){ - char fname[10000]; - if (sscanf(line.c_str(),"PATCOMPILER %s",fname)) { - patternCompiler->SetText(fname); - patternCompilerChanged(patternCompiler->GetText()); - } else if (sscanf(line.c_str(),"PATFILE %s",fname)) { - patternFile->SetText(fname); - patternFileChanged(patternFile->GetText()); - } -} - - -string ctbPattern::getPatternAlias() { - char line[100000]; - sprintf(line, "PATCOMPILER %s\nPATFILE %s\n",patternCompiler->GetText(),patternFile->GetText()); - return line; -} - - -void ctbPattern::chooseCompiler() { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) { - patternCompiler->SetText(fi.fFilename); - patternCompilerChanged(patternCompiler->GetText()); - } -} - - -void ctbPattern::choosePattern() { - static TString dir("."); - TGFileInfo fi; - //fi.fFileTypes = filetypes; - fi.fIniDir = StrDup(dir); - printf("fIniDir = %s\n", fi.fIniDir); - new TGFileDialog(gClient->GetRoot(), this, kFDOpen, &fi); - printf("Open file: %s (dir: %s)\n", fi.fFilename, fi.fIniDir); - // dir = fi.fIniDir; - if (fi.fFilename) { - patternFile->SetText(fi.fFilename); - patternFileChanged(patternFile->GetText()); - } - -} - - -string ctbPattern::getCompiler() { - return string(patternCompiler->GetText()); - -} - -string ctbPattern::getPatternFile() { - return string(patternFile->GetText()); - -} - -void ctbPattern::setFrames() { - try{ - myDet->setNumberOfFrames(eFrames->GetNumber()); - } CATCH_DISPLAY ("Could not set number of frames", "ctbPattern::setFrames") -} - -void ctbPattern::setTriggers() { - try{ - myDet->setNumberOfTriggers(eTriggers->GetNumber()); - } CATCH_DISPLAY ("Could not set number of triggers", "ctbPattern::setTriggers") -} - -void ctbPattern::setPeriod() { - using std::chrono::duration; - using std::chrono::duration_cast; - using std::chrono::nanoseconds; - try{ - auto timeNs = ctbDefs::ConvertDoubleStoChronoNS(ePeriod->GetNumber()); - myDet->setPeriod(timeNs); - } CATCH_DISPLAY ("Could not set period", "ctbPattern::setPeriod") -} - -void ctbPattern::setAdcFreq() { - try{ - myDet->setADCClock(eAdcClkFreq->GetNumber()); - } CATCH_DISPLAY ("Could not set adc clock", "ctbPattern::setAdcFreq") -} - -void ctbPattern::setRunFreq() { - try{ - myDet->setRUNClock(eRunClkFreq->GetNumber()); - } CATCH_DISPLAY ("Could not set run clock", "ctbPattern::setRunFreq") -} - -void ctbPattern::setDBitFreq() { - try{ - myDet->setDBITClock(eDBitClkFreq->GetNumber()); - } CATCH_DISPLAY ("Could not set dbit clock", "ctbPattern::setDBitFreq") -} - -void ctbPattern::setAdcPhase() { - try{ - myDet->setADCPhase(eAdcClkPhase->GetNumber()); - } CATCH_DISPLAY ("Could not set adc phase shift", "ctbPattern::setAdcPhase") -} - -void ctbPattern::setDBitPhase() { - try{ - myDet->setDBITPhase(eDBitClkPhase->GetNumber()); - } CATCH_DISPLAY ("Could not set dbit phase shift", "ctbPattern::setDBitPhase") -} - -void ctbPattern::setAdcPipeline() { - try{ - myDet->setADCPipeline(eAdcPipeline->GetNumber()); - } CATCH_DISPLAY ("Could not set adc pipeline", "ctbPattern::setAdcPipeline") -} - -void ctbPattern::setDBitPipeline() { - try{ - myDet->setDBITPipeline(eDBitPipeline->GetNumber()); - } CATCH_DISPLAY ("Could not set dbit pipeline", "ctbPattern::setDBitPipeline") -} - - -void ctbPattern::setAnalogSamples() { - try{ - myDet->setNumberOfAnalogSamples(eAnalogSamples->GetNumber()); - } CATCH_DISPLAY ("Could not set number of analog sampels", "ctbPattern::setAnalogSamples") - - analogSamplesChanged(eAnalogSamples->GetNumber()); -} - -void ctbPattern::setDigitalSamples() { - try{ - myDet->setNumberOfDigitalSamples(eDigitalSamples->GetNumber()); - } CATCH_DISPLAY ("Could not set number of digital samples", "ctbPattern::setDigitalSamples") - - digitalSamplesChanged(eDigitalSamples->GetNumber()); -} - -void ctbPattern::setReadoutMode(Bool_t) { - try { - slsDetectorDefs::readoutMode flag = slsDetectorDefs::ANALOG_ONLY; - if (cbAnalog->IsOn() && cbDigital->IsOn()) - flag=slsDetectorDefs::ANALOG_AND_DIGITAL; - else if (~cbAnalog->IsOn() && cbDigital->IsOn()) - flag=slsDetectorDefs::DIGITAL_ONLY; - else if (cbAnalog->IsOn() && ~cbDigital->IsOn()) - flag=slsDetectorDefs::ANALOG_ONLY; - else { - throw runtime_error("unkown readout flag"); - } - myDet->setReadoutMode(flag); - cout << "Set readout flag: " << flag << endl; - } CATCH_DISPLAY ("Could not set readout flag", "ctbPattern::setReadoutMode") - - getReadoutMode(); -} - -void ctbPattern::readoutModeChanged(int flags) { - Emit("readoutModeChanged(Int_t)",(int)flags); - -} - -int ctbPattern::getReadoutMode() { - int retval=slsDetectorDefs::ANALOG_ONLY; - - if (myDet->getDetectorType().squash() == slsDetectorDefs::CHIPTESTBOARD) { - try{ - retval = myDet->getReadoutMode().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get readout flags", "ctbPattern::getReadoutMode") - - switch(retval) { - case slsDetectorDefs::ANALOG_AND_DIGITAL: - cout << "analog and digital" << endl; - cbAnalog->SetOn(kTRUE); - cbDigital->SetOn(kTRUE); - break; - case slsDetectorDefs::DIGITAL_ONLY: - cout << "digital only" << endl; - cbAnalog->SetOn(kFALSE); - cbDigital->SetOn(kTRUE); - break; - case slsDetectorDefs::ANALOG_ONLY: - cout << "analog only" << endl; - cbAnalog->SetOn(kTRUE); - cbDigital->SetOn(kFALSE); - break; - default: - throw("unknown readout flag"); - } - } else { - cbAnalog->SetOn(kTRUE); - cbDigital->SetOn(kFALSE); - } - - Emit("readoutModeChanged(int)",static_cast(retval)); - return retval; - - -} - -int ctbPattern::getAnalogSamples() { - try{ - auto retval = myDet->getNumberOfAnalogSamples().tsquash("Different values"); - eAnalogSamples->SetNumber((Double_t)retval); - Emit("analogSamplesChanged(const int)", eAnalogSamples->GetNumber()); - return eAnalogSamples->GetNumber(); - } CATCH_DISPLAY ("Could not get number of triggers.", "ctbPattern::update") - - return -1; -} - -int ctbPattern::getDigitalSamples() { - int retval=0; - if (myDet->getDetectorType().squash() == slsDetectorDefs::CHIPTESTBOARD) { - try{ - auto retval = myDet->getNumberOfDigitalSamples().tsquash("Different values"); - } CATCH_DISPLAY ("Could not get number of digital samples.", "ctbPattern::getDigitalSamples") - } - eDigitalSamples->SetNumber((Double_t)retval); - Emit("digitalSamplesChanged(const int)", eDigitalSamples->GetNumber()); - return eDigitalSamples->GetNumber(); - - - return -1; -} - - -void ctbPattern::analogSamplesChanged(const int t){ - Emit("analogSamplesChanged(const int)", t); -} - -void ctbPattern::digitalSamplesChanged(const int t){ - Emit("digitalSamplesChanged(const int)", t); -} diff --git a/ctbGui/ctbPattern.h b/ctbGui/ctbPattern.h deleted file mode 100644 index 6f85974a1..000000000 --- a/ctbGui/ctbPattern.h +++ /dev/null @@ -1,181 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#ifndef CTBPATTERN_H -#define CTBPATTERN_H -#include - - -#define NLOOPS 3 -#define NWAITS 3 -#define NADCS 32 -#define PATLEN 1024 - -class TRootEmbeddedCanvas; -class TGButtonGroup; -class TGVerticalFrame; -class TGHorizontalFrame; -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TH2F; -class TGComboBox; -class TGCheckButton; -class TGTextEntry; -class TGCheckButton; - -class THStack; -class TGraphErrors; -class energyCalibration; -class TGTextButton; -class TGTab; - -namespace sls -{ - class Detector; -}; - - -#include -using namespace std; - - - -class ctbLoop : public TGHorizontalFrame { - - - private: - - TGNumberEntry *eLoopStartAddr; - TGNumberEntry *eLoopStopAddr; - TGNumberEntry *eLoopNumber; - - int id; - - sls::Detector *myDet; - - public: - ctbLoop(TGGroupFrame *page, int i,sls::Detector *det); - - void setNLoops(); - void update(); - - ClassDef(ctbLoop,0) - }; - -class ctbWait : public TGHorizontalFrame { - - - private: - - TGNumberEntry *eWaitAddr; - TGNumberEntry *eWaitTime; - - int id; - - sls::Detector *myDet; - - public: - ctbWait(TGGroupFrame *page, int i,sls::Detector *det); - - void setWaitTime(); - void update(); - - ClassDef(ctbWait,0) - }; - - - - - - - -class ctbPattern : public TGGroupFrame { -private: - - - TGNumberEntry *eAdcClkFreq; - TGNumberEntry *eRunClkFreq; - TGNumberEntry *eDBitClkFreq; - TGNumberEntry *eAdcClkPhase; - TGNumberEntry *eDBitClkPhase; - //TGNumberEntry *eRunClkPhase; - - TGNumberEntry *eStartAddr; - TGNumberEntry *eStopAddr; - TGNumberEntry *eFrames; - TGNumberEntry *ePeriod; - TGNumberEntry *eTriggers; - // TGNumberEntry *eMeasurements; - TGNumberEntry *eAdcPipeline; - TGNumberEntry *eDBitPipeline; - - ctbLoop *eLoop[NLOOPS]; - ctbWait *eWait[NWAITS]; - - TGTextEntry *patternCompiler; - TGTextEntry *patternFile; - - TGTextButton *browseCompiler; - TGTextButton *browseFile; - - - TGNumberEntry *eAnalogSamples; - TGNumberEntry *eDigitalSamples; - - TGCheckButton *cbAnalog; - TGCheckButton *cbDigital; - - char pat[PATLEN*8]; - - sls::Detector *myDet; - -public: - - ctbPattern(TGVerticalFrame *page, sls::Detector *det); - - void update(); - void setAdcFreq(); - void setRunFreq(); - void setDBitFreq(); - void setAdcPhase(); - void setDBitPhase(); - // void setRunPhase(); - void setAdcPipeline(); - void setDBitPipeline(); - void setFrames(); - void setTriggers(); - // void setMeasurements(); - void setPeriod(); - - - void chooseCompiler(); - void choosePattern(); - - string getCompiler(); - string getPatternFile(); - - void setPatternAlias(string); - string getPatternAlias(); - - - int getAnalogSamples(); - void setAnalogSamples(); - int getDigitalSamples(); - void setDigitalSamples(); - void setReadoutMode(Bool_t); - int getReadoutMode(); - - - void setFile(); - void setCompiler(); - void patternFileChanged(const char*); - void patternCompilerChanged(const char*); - void analogSamplesChanged(const int t); - void digitalSamplesChanged(const int t); - void readoutModeChanged(int); - - - ClassDef(ctbPattern,0) -}; - -#endif diff --git a/ctbGui/ctbPowers.cpp b/ctbGui/ctbPowers.cpp deleted file mode 100644 index 498ec2c13..000000000 --- a/ctbGui/ctbPowers.cpp +++ /dev/null @@ -1,225 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#include - - -#include -#include -#include -#include - -#include -#include -#include - -#include "ctbDefs.h" -#include "ctbDacs.h" -#include "ctbPowers.h" -#include "sls/Detector.h" -#include "sls/sls_detector_defs.h" - -using namespace std; - - - -ctbPower::ctbPower(TGGroupFrame* f, int i, sls::Detector* d) - : ctbDac(f, i, d) -{ - cout << "****************************************************************power " << i << endl; - dacsUnit->SetOn(kTRUE); - dacsUnit->SetEnabled(kFALSE); - - switch(i) { - case slsDetectorDefs::V_POWER_IO: - dacsLabel->SetText("VIO"); - break; - case slsDetectorDefs::V_POWER_A: - dacsLabel->SetText("VA"); - break; - case slsDetectorDefs::V_POWER_B: - dacsLabel->SetText("VB"); - break; - case slsDetectorDefs::V_POWER_C: - dacsLabel->SetText("VC"); - break; - case slsDetectorDefs::V_POWER_D: - dacsLabel->SetText("VD"); - break; - case slsDetectorDefs::V_POWER_CHIP: - dacsLabel->SetText("VCHIP"); - dacsLabel->SetEnabled(kFALSE); - break; - default: - dacsLabel->SetText("Bad index"); - break; - }; - - - TGTextEntry *e=dacsEntry->TGNumberEntry::GetNumberEntry(); - e->Disconnect ("ReturnPressed()"); - e->Disconnect ("ValueSet(Long_t)"); - - e->Connect("ReturnPressed()","ctbPower",this,"setValue()"); - dacsEntry->Connect("ValueSet(Long_t)","ctbPower",this,"setValue(Long_t)"); - }; - - -string ctbPower::getLabel() { - - ostringstream line; - switch (id) { - case slsDetectorDefs::V_POWER_IO: - line << "VIO"; - break; - case slsDetectorDefs::V_POWER_A: - line << "VA"; - break; - case slsDetectorDefs::V_POWER_B: - line << "VB"; - break; - case slsDetectorDefs::V_POWER_C: - line << "VC"; - break; - case slsDetectorDefs::V_POWER_D: - line << "VD"; - break; - case slsDetectorDefs::V_POWER_CHIP: - line << "VCHIP"; - break; - default: - line << "VBAD"; - break; - - } - line << " " << dacsLabel->GetText() << endl; - return line.str(); -} - -void ctbPower::setValue(Long_t a) {ctbPower::setValue();} - -void ctbPower::setValue() { - cout << "***************************Setting power " << dacsEntry->GetIntNumber() << " " << id << " " << 1 << endl; - - try { - myDet->setVoltage(static_cast(id), dacsEntry->GetIntNumber()); - } CATCH_DISPLAY ("Could not set power " + to_string(id) + ".", "ctbPower::setValue") - - getValue(); -} - - -int ctbPower::getValue() { - try { - - int val = myDet->getVoltage(static_cast(id)).tsquash("Different values"); - cout << "****************************Getting power " << val << " " << id << " " << 1 << endl; - - dacsValue->SetText(to_string(val).c_str()); - if (val > 0) { - if (id != static_cast(slsDetectorDefs::V_POWER_CHIP)) - dacsLabel->SetOn(kTRUE); - } else { - dacsLabel->SetOn(kFALSE); - } - - return val; - - } CATCH_DISPLAY ("Could not get power " + to_string(id) + ".", "ctbPower::getValue") - - return -1; -} - - - -ctbPowers::ctbPowers(TGVerticalFrame* page, sls::Detector* det) : TGGroupFrame(page,"Power Supplies",kVerticalFrame) , myDet(det){ - - - SetTitlePos(TGGroupFrame::kLeft); - page->AddFrame(this,new TGLayoutHints( kLHintsTop | kLHintsExpandX , 10,10,10,10)); - MapWindow(); - - // cout << "window mapped " << endl; - - for (int idac=0; idacsetLabel(tit,1); - is=0; - } - - if (sscanf(line.c_str(),"VB %s",tit)) { - dacs[1]->setLabel(tit,1); - is=1; - } - - if (sscanf(line.c_str(),"VC %s",tit)) { - dacs[2]->setLabel(tit,1); - is=2; - } - - if (sscanf(line.c_str(),"VD %s",tit)) { - dacs[3]->setLabel(tit,1); - is=3; - } - - if (sscanf(line.c_str(),"VIO %s",tit)) { - dacs[4]->setLabel(tit,1); - is=4; - } - - if (sscanf(line.c_str(),"VCHIP %s",tit)) { - dacs[5]->setLabel(tit,1); - is=5; - } - - return is; - -} - -string ctbPowers::getPwrAlias() { - - ostringstream line; - - for (int i=0; igetLabel() << endl; - return line.str(); - -} - - - - -string ctbPowers::getPwrParameters() { - - ostringstream line; - line << "v_a" << " " << dacs[0]->getValue() << " mv" << endl; - line << "v_b" << " " << dacs[1]->getValue() << " mv" << endl; - line << "v_c" << " " << dacs[2]->getValue() << " mv" << endl; - line << "v_d" << " " << dacs[3]->getValue() << " mv" << endl; - line << "v_io" << " " << dacs[4]->getValue() << " mv" << endl; - line << "v_chip" << " " << dacs[5]->getValue() << " mv" << endl; - // for (int i=0; igetValue << endl; - // line << "dac:" << i << " " << dacs[i]->getValue() << endl; - // } - return line.str(); -} - - - -void ctbPowers::update() { - for (int idac=0; idacgetValue(); - - } -} diff --git a/ctbGui/ctbPowers.h b/ctbGui/ctbPowers.h deleted file mode 100644 index d0c39f1c7..000000000 --- a/ctbGui/ctbPowers.h +++ /dev/null @@ -1,69 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#ifndef CTBPOWERS_H -#define CTBPOWERS_H - -#include - -#define NPOWERS 6 - - - -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TGCheckButton; - - - - -namespace sls -{ - class Detector; -}; - -#include -using namespace std; - - -class ctbPower : public ctbDac { - - - - - public: - - ctbPower(TGGroupFrame* f, int i, sls::Detector* d); - - string getLabel(); - - int getValue(); - void setValue(); - void setValue(Long_t); - - ClassDef(ctbPower,0) -}; - - -class ctbPowers : public TGGroupFrame -{ - private: - - ctbPower *dacs[NPOWERS]; - - sls::Detector* myDet; - -public: - //ctbPowers(); - ctbPowers(TGVerticalFrame*, sls::Detector*); - - int setPwrAlias(string); - string getPwrAlias(); - string getPwrParameters(); - - void update(); - - ClassDef(ctbPowers,0) -}; - -#endif diff --git a/ctbGui/ctbSignals.cpp b/ctbGui/ctbSignals.cpp deleted file mode 100644 index f1e0c840f..000000000 --- a/ctbGui/ctbSignals.cpp +++ /dev/null @@ -1,543 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "ctbSignals.h" -#include "ctbDefs.h" -#include "sls/Detector.h" - -using namespace std; - - - -//#define DEFAULTFN "run_0.encal" - - -ctbSignal::ctbSignal(TGFrame *page, int i, sls::Detector *det) - : TGHorizontalFrame(page, 800,50), myDet(det), id(i), hsig(NULL) { - - - TGHorizontalFrame *hframe=this; - char tit[100]; - - - - sprintf(tit, "BIT%d ",id); - - sLabel= new TGLabel(hframe, tit); - hframe->AddFrame( sLabel,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sLabel->MapWindow(); - sLabel->SetTextJustify(kTextLeft); - - - - sOutput= new TGCheckButton(hframe, "Out"); - hframe->AddFrame( sOutput,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sOutput->MapWindow(); - - - sOutput->Connect("Toggled(Bool_t)","ctbSignal",this,"ToggledOutput(Bool_t)"); - - sDbitList= new TGCheckButton(hframe, "DB List"); - hframe->AddFrame( sDbitList,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sDbitList->MapWindow(); - - sDbitList->Connect("Toggled(Bool_t)","ctbSignal",this,"ToggledDbitList(Bool_t)"); - - - sPlot= new TGCheckButton(hframe, "Plot"); - hframe->AddFrame( sPlot,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - sPlot->MapWindow(); - - sPlot->Connect("Toggled(Bool_t)","ctbSignal",this,"ToggledPlot(Bool_t)"); - - fColorSel = new TGColorSelect(hframe, id+1, 0); - fColorSel->Connect("ColorSelected(Pixel_t)","ctbSignal",this,"ColorChanged(Pixel_t)"); - hframe->AddFrame(fColorSel, new TGLayoutHints(kLHintsTop | - kLHintsLeft, 2, 0, 2, 2)); - - - fColorSel->SetColor(TColor::Number2Pixel(id+1)); - - - ToggledOutput(kFALSE); - - - ToggledPlot(kFALSE); - - // if (id==63) { -// sOutput->SetOn(kTRUE); -// sOutput->SetEnabled(kFALSE); -// } -// #ifdef CTB -// if (id==62) { -// sOutput->SetOn(kTRUE); -// sOutput->SetEnabled(kFALSE); -// } - -// // if (id>=32 && id<48) -// // fixOutput(1); -// // else if (id>=48 && id<64) -// // fixOutput(0); - -// #endif -} -int ctbSignal::setSignalAlias(char *tit, int plot, int col) { - - if (tit) - sLabel->SetText(tit); - - if (plot>0) { - sPlot->SetOn(kTRUE,kTRUE); - } else if (plot==0) - sPlot->SetOn(kFALSE,kTRUE); - - if (col>=0) - fColorSel->SetColor(col);//TColor::Number2Pixel(col+1)); - - fColorSel->SetEnabled(sPlot->IsOn()); - return 0; - -} - -string ctbSignal::getSignalAlias() { - - - ostringstream oss; - oss << "BIT" << dec << id << " " << sLabel->GetText()->Data() << " " << sPlot->IsOn() << hex << " " << fColorSel->GetColor() << endl; - return oss.str(); - - - - -} -int ctbSignal::setOutput(Long64_t r) { - - - // cout << hex << r << dec <SetOn(kTRUE,kTRUE); - else - sOutput->SetOn(kFALSE,kTRUE); - - return sOutput->IsOn(); - -} - -int ctbSignal::fixOutput(int i) { - - if (i) { - sPlot->SetOn(kFALSE); - //sClock->SetOn(kFALSE,kTRUE); - sOutput->SetOn(kTRUE); - // sPlot->SetEnabled(kFALSE); - // sClock->SetEnabled(kTRUE); - } else { - sOutput->SetOn(kFALSE,kTRUE); - // sClock->SetOn(kFALSE); - // sClock->SetEnabled(kFALSE); - sPlot->SetEnabled(kTRUE); - } - sOutput->SetEnabled(kFALSE); - return 0; - -} - -int ctbSignal::setDbitList(Long64_t r) { - - if (r) - sDbitList->SetOn(kTRUE,kFALSE); - else - sDbitList->SetOn(kFALSE,kFALSE); - - return sDbitList->IsOn(); - -} - -int ctbSignal::isDbitList() { return sDbitList->IsOn();} -int ctbSignal::isOutput() { return sOutput->IsOn();} -int ctbSignal::isPlot() { return sPlot->IsOn();} -Pixel_t ctbSignal::getColor(){return fColorSel->GetColor();} - -void ctbSignal::ToggledOutput(Bool_t b) { - ToggledSignalOutput(id); - if (b) { - // sClock->SetEnabled(kTRUE); - sPlot->SetOn(kFALSE); - // sPlot->SetEnabled(kFALSE); - fColorSel->SetEnabled(kFALSE); - } else { - // sClock->SetEnabled(kFALSE); - // sClock->SetOn(kFALSE); - sPlot->SetEnabled(kTRUE); - if ( sPlot->IsOn()) - fColorSel->SetEnabled(kFALSE); - else - fColorSel->SetEnabled(kTRUE); - } - - -} - -void ctbSignal::ToggledDbitList(Bool_t b){ - Long_t mask=id; - ToggledSignalDbitList(mask); -} - - -void ctbSignal::ToggledPlot(Bool_t b){ - Long_t mask=b<SetEnabled(b); -} - -void ctbSignal::ColorChanged(Pixel_t p){ - ToggledSignalPlot(id); -} - - -void ctbSignal::ToggledSignalOutput(Int_t b) { - cout << "Toggle signal " << id << " " << b << " " << sOutput->IsOn() <AddFrame(this,new TGLayoutHints( kLHintsTop | kLHintsExpandX , 10,10,10,10)); - MapWindow(); - - - TGHorizontalFrame *hframe; - - TGHorizontalFrame* hhframe=new TGHorizontalFrame(this, 800,800); - AddFrame(hhframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hhframe->MapWindow(); - - TGVerticalFrame *vframe; - - - - - int idac=0; - for (idac=0; idacAddFrame(vframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - vframe->MapWindow(); - } - - - signals[idac]=new ctbSignal(vframe,idac,myDet); - signals[idac]->Connect("ToggledSignalOutput(Int_t)","ctbSignals",this,"ToggledOutReg(Int_t)"); - signals[idac]->Connect("ToggledSignalDbitList(Int_t)","ctbSignals",this,"ToggledDbitList(Int_t)"); - signals[idac]->Connect("ToggledSignalPlot(Int_t)","ctbSignals",this,"ToggledPlot(Int_t)"); - - vframe->AddFrame(signals[idac],new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - signals[idac]->MapWindow(); - - - } - - hframe=new TGHorizontalFrame(vframe, 800,50); - vframe->AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - TGLabel *label= new TGLabel(hframe, "IO Control Register: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - eIOCntrlRegister = new TGNumberEntry(hframe, 0, 16,999, TGNumberFormat::kNESHex, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - - hframe->AddFrame(eIOCntrlRegister,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eIOCntrlRegister->MapWindow(); - eIOCntrlRegister->Resize(150,30); - - - - - hframe=new TGHorizontalFrame(vframe, 800,50); - vframe->AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - hframe->MapWindow(); - - - label= new TGLabel(hframe, "DBit Offset: "); - hframe->AddFrame(label,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 1, 1, 1, 1)); - label->MapWindow(); - label->SetTextJustify(kTextLeft); - - - eDbitOffset = new TGNumberEntry(hframe, 0, 9,999, TGNumberFormat::kNESInteger, - TGNumberFormat::kNEANonNegative, - TGNumberFormat::kNELNoLimits); - - hframe->AddFrame(eDbitOffset,new TGLayoutHints(kLHintsTop | kLHintsExpandX, 1, 1, 1, 1)); - eDbitOffset->MapWindow(); - eDbitOffset->Resize(150,30); - - - TGTextEntry *e= eDbitOffset->TGNumberEntry::GetNumberEntry(); - e->Connect("ReturnPressed()","ctbSignals",this,"setDbitOffset()"); - - e->Connect("ValueSet(Long_t)","ctbSignals",this,"setDbitOffset(Long_t)"); -} - - - - -int ctbSignals::setSignalAlias(string line) { - - int is=-1, plot=0, col=-1; - char tit[100]; - int narg=sscanf(line.c_str(),"BIT%d %s %d %d",&is,tit,&plot,&col); - if (narg<2) - return -1; - if (is>=0 && issetSignalAlias(tit,plot,col); - } - return is; - -} - -string ctbSignals::getSignalAlias() { - - ostringstream oss; - for (int is=0; isgetSignalAlias() << endl; - - - return oss.str(); - -} - - -void ctbSignals::update() { - try { - - Long64_t oreg = static_cast(myDet->getPatternIOControl().tsquash("Different values")); - cout << hex << oreg << dec << endl; - - for (int idac=0; idacsetOutput(oreg); - } - - } CATCH_DISPLAY ("Could not get patternIOcontrol.", "ctbSignals::update") - - if (myDet->getDetectorType().squash() == slsDetectorDefs::MOENCH) { - // enable all - for (int is=0; is<64; is++) { - signals[is]->setDbitList(1); - } - eDbitOffset->SetNumber(0); - } - - // ctb - else { - try { - - auto dbitlist = myDet->getRxDbitList().tsquash("Different values"); - // enable all - if (dbitlist.empty()) { - for (int is=0; is<64; is++) { - signals[is]->setDbitList(1); - } - } - else { - // disable all - for (int is=0; is<64; is++) { - signals[is]->setDbitList(0); - } - // enable selected - for (const auto &value : dbitlist) { - signals[value]->setDbitList(1); - } - } - - } CATCH_DISPLAY ("Could not get receiver dbit list.", "ctbSignals::update") - - try { - auto val = myDet->getRxDbitOffset().tsquash("Different values"); - eDbitOffset->SetNumber(val); - } CATCH_DISPLAY ("Could not get receiver dbit offset.", "ctbSignals::update") - } -} - - -string ctbSignals::getSignalParameters() { - - try { - - auto val = myDet->getPatternIOControl().tsquash("Different values"); - ostringstream line; - line << "patioctrl " << hex << val << dec << endl; - return line.str(); - - } CATCH_DISPLAY ("Could not get patternIOcontrol.", "ctbSignals::getSignalParameters") - - return (""); -} - -void ctbSignals::ToggledOutReg(Int_t mask) { - try { - - Long64_t oreg = static_cast(myDet->getPatternIOControl().tsquash("Different values")); - Long64_t m=((Long64_t)1)<isOutput()) { - cout << " or " << m ; - oreg|=m; - } else { - cout << " not " << ~m ; - oreg&=~m; - } - cout << " after " << oreg << endl; - - myDet->setPatternIOControl(static_cast(oreg)); - oreg = static_cast(myDet->getPatternIOControl().tsquash("Different values")); - cout << dec << sizeof(Long64_t) << " " << mask << " " << hex << m << " ioreg " << oreg << endl; - - eIOCntrlRegister->SetText(to_string(oreg).c_str()); - - } CATCH_DISPLAY ("Could not get/set patternIOcontrol.", "ctbSignals::ToggledOutReg") - -} - - - -void ctbSignals::ToggledDbitList(Int_t mask){ - try { - - auto dbitlist = myDet->getRxDbitList().tsquash("Different values"); - - // anyway all enabled - if ((dbitlist.empty()) && (signals[mask]->isDbitList())) { - ; - } - // set the dbitlist - else { - std::vector new_dbitlist; - for (int is=0; is<64; is++) { - if (signals[is]->isDbitList()){ - new_dbitlist.push_back(is); - cout << is << " " << new_dbitlist.size() - 1 << endl; - } - } - if (new_dbitlist.size() > 64) - new_dbitlist.clear(); - myDet->setRxDbitList(new_dbitlist); - // get list again - dbitlist = myDet->getRxDbitList().tsquash("Different values"); - } - - // enable all - if (dbitlist.empty()) { - for (int is=0; is<64; is++) { - signals[is]->setDbitList(1); - } - } - else { - // disable all - for (int is=0; is<64; is++) { - signals[is]->setDbitList(0); - } - // enable selected - for (const auto &value : dbitlist) { - signals[value]->setDbitList(1); - } - } - - } CATCH_DISPLAY ("Could not get/set receiver dbit list.", "ctbSignals::ToggledDbitList") -} - - - - -void ctbSignals::ToggledPlot(Int_t b) { - - Emit("ToggledSignalPlot(Int_t)", b); - -} - - -void ctbSignals::ToggledSignalPlot(Int_t b) { - - Emit("ToggledSignalPlot(Int_t)", b); - -} - - -Pixel_t ctbSignals::getColor(int i){ - if (i>=0 && igetColor(); - return static_cast(-1); -} - -int ctbSignals::getPlot(int i){ - if (i>=0 && iisPlot(); - return -1; -}; - -void ctbSignals::setDbitOffset(Long_t) { - setDbitOffset(); -} - -void ctbSignals::setDbitOffset(){ - try { - myDet->setRxDbitOffset(eDbitOffset->GetNumber()); - } CATCH_DISPLAY ("Could not set receiver dbit offset.", "ctbSignals::setDbitOffset") -} diff --git a/ctbGui/ctbSignals.h b/ctbGui/ctbSignals.h deleted file mode 100644 index eb3deb221..000000000 --- a/ctbGui/ctbSignals.h +++ /dev/null @@ -1,123 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -#ifndef CTBSIGNALS_H -#define CTBSIGNALS_H -#include - - -#define NSIGNALS 64 - -#define NIOSIGNALS 64 //for moench board was 52 - - -#define ADCLATCH 63 -#define DIGSIGLATCH 62 - - - - -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TGCheckButton; -class TH1I; -class TGTextButton; -class TGColorSelect; - - - -class TGNumberEntry; -namespace sls -{ - class Detector; -}; -class ctbSignal; - -#include -using namespace std; - -class ctbSignal : public TGHorizontalFrame { - - // RQ_OBJECT("ctbSignal") - -private: - - TGLabel *sLabel; - TGCheckButton *sOutput; - TGCheckButton *sDbitList; - TGCheckButton *sPlot; - TGLabel *sValue; - TGNumberEntry *sEntry; - TGColorSelect *fColorSel; - - sls::Detector *myDet; - Int_t id; - - TH1I *hsig; - -public: - - ctbSignal(TGFrame *page, int i, sls::Detector *det); - int setSignalAlias(char *tit, int plot, int col); - string getSignalAlias(); - - TH1I *getPlot() {return hsig;}; - int setOutput(Long64_t); - int fixOutput(int); - int setDbitList(Long64_t); - - void ToggledOutput(Bool_t); - void ToggledDbitList(Bool_t); - void ToggledPlot(Bool_t); - void ColorChanged(Pixel_t); - - int isDbitList(); - int isOutput(); - int isPlot(); - Pixel_t getColor(); - - - void ToggledSignalOutput(Int_t); //*SIGNAL* - void ToggledSignalDbitList(Int_t); //*SIGNAL* - void ToggledSignalPlot(Int_t); //*SIGNAL* - - - - ClassDef(ctbSignal,0) -}; - -class ctbSignals : public TGGroupFrame { -private: - - ctbSignal *signals[NSIGNALS]; - - TGNumberEntry *eIOCntrlRegister; - TGNumberEntry *eDbitOffset; - - sls::Detector *myDet; - -public: - ctbSignals(TGVerticalFrame *page, sls::Detector *det); - int setSignalAlias(string line); - string getSignalAlias(); - - int getPlot(int); - Pixel_t getColor(int); - - void update(); - // void saveParameters(); - string getSignalParameters(); - - //void setDbitList(Int_t); - void setDbitOffset(Long_t); - void setDbitOffset(); - - void ToggledOutReg(Int_t); - void ToggledDbitList(Int_t); - void ToggledPlot(Int_t); - void ToggledSignalPlot(Int_t); //*SIGNAL* - - ClassDef(ctbSignals,0) -}; - -#endif diff --git a/ctbGui/ctbSlowAdcs.cpp b/ctbGui/ctbSlowAdcs.cpp deleted file mode 100644 index 6507e0d17..000000000 --- a/ctbGui/ctbSlowAdcs.cpp +++ /dev/null @@ -1,184 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package - -#include -#include -#include - -#include -#include -#include -#include - -#include "ctbSlowAdcs.h" -#include "ctbDefs.h" -#include "sls/Detector.h" -#include "sls/sls_detector_defs.h" - -using namespace std; - - - - -ctbSlowAdc::ctbSlowAdc(TGGroupFrame *page, int idac, sls::Detector *det) : TGHorizontalFrame(page, 800,50) , id(idac), myDet(det) { - - - TGHorizontalFrame *hframe=this; - - page->AddFrame(hframe,new TGLayoutHints(kLHintsTop | kLHintsExpandX , 1,1,1,1)); - MapWindow(); - - char tit[100]; - - - sprintf(tit, "SENSE %d:",idac-1000); - - dacsLabel= new TGLabel(hframe, tit);// new TGLabel(hframe, tit); - - - - hframe->AddFrame(dacsLabel,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - dacsLabel->MapWindow(); - dacsLabel->SetTextJustify(kTextLeft); - - - - - sprintf(tit, "xxx"); - dacsValue= new TGLabel(hframe, tit); - hframe->AddFrame( dacsValue,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - dacsValue->MapWindow(); - dacsValue->SetTextJustify(kTextLeft); - - - - TGTextButton *b= new TGTextButton(hframe, "Update"); - hframe->AddFrame( b,new TGLayoutHints(kLHintsTop | kLHintsLeft| kLHintsExpandX, 5, 5, 5, 5)); - b->MapWindow(); - b->SetTextJustify(kTextLeft); - - b->Connect("Clicked()","ctbSlowAdc",this,"getValue()"); -} - - - -int ctbSlowAdc::setLabel(char *tit) { - if(tit) - dacsLabel->SetText(tit); - - return id; - -} - -string ctbSlowAdc::getLabel() { - ostringstream line; - line << dacsLabel->GetText() << endl; - - // line << "DAC" << dec << id << " " << dacsUnit->IsOn() << endl; - - return line.str(); -} - - - -int ctbSlowAdc::getValue() { - try { - std::string s; - - // temp - if (id == static_cast(slsDetectorDefs::SLOW_ADC_TEMP)) { - - int val = myDet->getTemperature(static_cast(id)).tsquash("Different values"); - cout << "slow adc temp" << " " << val << endl; - - s = to_string(val) + " " + to_string(0x00b0) + "C";//�C - dacsValue->SetText(s.c_str()); - return val; - } - - // mv - else { - - int val = myDet->getSlowADC(static_cast(id)).tsquash("Different values"); - cout << "slow adc " << id << " " << val << endl; - - s = to_string(val) + " mV"; - dacsValue->SetText(s.c_str()); - return val; - } - - } CATCH_DISPLAY ("Could not get slow dac " + to_string(id) + ".", "ctbSlowAdc::getValue") - - return -1; -} - - - - - - - -ctbSlowAdcs::ctbSlowAdcs(TGVerticalFrame *page, sls::Detector *det) : TGGroupFrame(page,"Sense",kVerticalFrame) , myDet(det){ - - SetTitlePos(TGGroupFrame::kLeft); - page->AddFrame(this,new TGLayoutHints( kLHintsTop | kLHintsExpandX , 10,10,10,10)); - MapWindow(); - - // cout << "window mapped " << endl; - - - for (int idac=0; idacsetLabel((char*)"Temperature"); -} - - - - -int ctbSlowAdcs::setSlowAdcAlias(string line) { - - int is=-1, mv=0; - char tit[100]; - int narg=sscanf(line.c_str(),"SENSE%d %s %d",&is,tit,&mv); - if (narg<2) - return -1; - if (is>=0 && issetLabel(tit); - return is; - -} - -string ctbSlowAdcs::getSlowAdcAlias() { - - ostringstream line; - - for (int i=0; igetLabel() << endl; - return line.str(); -} - - - - -string ctbSlowAdcs::getAdcParameters() { - - ostringstream line; - - for (int i=0; igetValue << endl; - line << "adc:" << i << " " << adcs[i]->getValue() << endl; - } - line << "adc:-1" << adcs[NSLOWADCS]->getValue() << endl; - return line.str(); -} - - - -void ctbSlowAdcs::update() { - for (int idac=0; idacgetValue(); - } -} diff --git a/ctbGui/ctbSlowAdcs.h b/ctbGui/ctbSlowAdcs.h deleted file mode 100644 index a25bbe5b1..000000000 --- a/ctbGui/ctbSlowAdcs.h +++ /dev/null @@ -1,80 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package - - -#ifndef CTBSLOWADCS_H -#define CTBSLOWADCS_H -#include - - -//#define NDACS 16 -#define NSLOWADCS 8 - - - - -class TGTextEntry; -class TGLabel; -class TGNumberEntry; -class TGCheckButton; -class TGTextButton; - - - -namespace sls -{ - class Detector; -}; - -#include -using namespace std; - -class ctbSlowAdc : public TGHorizontalFrame { - - - protected: - // TGLabel *dacsLabel; - // TGNumberEntry *dacsEntry; - // TGCheckButton *dacsUnit; - TGLabel *dacsLabel; - TGLabel *dacsValue; - int id; - - sls::Detector* myDet; - public: - ctbSlowAdc(TGGroupFrame*, int , sls::Detector*); - int getValue(); - - int setLabel(char *tit); - string getLabel(); - - - - ClassDef(ctbSlowAdc,0) -}; - - -class ctbSlowAdcs : public TGGroupFrame { -private: - - - - ctbSlowAdc *adcs[NSLOWADCS+1]; - - sls::Detector* myDet; - -public: - ctbSlowAdcs(TGVerticalFrame *page, sls::Detector*); - - int setSlowAdcAlias(string line); - // int setDacAlias(string line); - string getSlowAdcAlias(); - string getAdcParameters(); - - void update(); - - ClassDef(ctbSlowAdcs,0) -}; - -#endif - diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index 6ebcfe04a..82735934d 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -890,7 +890,7 @@ EXCLUDE_SYMLINKS = NO # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* -EXCLUDE_PATTERNS = */docs/* */tests/* */python/* */manual */slsDetectorServers/* */libs/* */integrationTests *README* */slsDetectorGui/* */ctbGui/* */slsDetectorCalibration/* +EXCLUDE_PATTERNS = */docs/* */tests/* */python/* */manual */slsDetectorServers/* */libs/* */integrationTests *README* */slsDetectorGui/* */ctbGui/* */slsDetectorCalibration/* *TobiSchluter* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the diff --git a/docs/src/commandline.rst b/docs/src/commandline.rst index fb4e9f866..d7433c4d0 100644 --- a/docs/src/commandline.rst +++ b/docs/src/commandline.rst @@ -32,14 +32,14 @@ Commands .. include:: ../commands.rst -Depreciated commands +Deprecated commands ------------------------ .. note :: All the dac commands are preceded with the **dac** command. Use command **daclist** to get correct list of dac command arguments for current detector. -.. csv-table:: Depreciated commands - :file: ../depreciated.csv +.. csv-table:: Deprecated commands + :file: ../deprecated.csv :widths: 35, 35 :header-rows: 1 diff --git a/docs/src/gendoc.cpp b/docs/src/gendoc.cpp index 78c0520f3..86dc3a6ad 100644 --- a/docs/src/gendoc.cpp +++ b/docs/src/gendoc.cpp @@ -55,9 +55,9 @@ int main() { fs << '\t' << cmd << usage << help << "\n"; } - std::ofstream fs2("depreciated.csv"); + std::ofstream fs2("deprecated.csv"); fs2 << "Old, New\n"; - auto cmds = proxy.GetDepreciatedCommands(); + auto cmds = proxy.GetDeprecatedCommands(); for (auto it : cmds) { fs2 << it.first << ", " << it.second << '\n'; } diff --git a/docs/src/troubleshooting.rst b/docs/src/troubleshooting.rst index 72a3814f8..65214846b 100644 --- a/docs/src/troubleshooting.rst +++ b/docs/src/troubleshooting.rst @@ -22,6 +22,8 @@ Common * Check transeiver and fibers are compatible (all MMF 850nm or all SMF 1030nm) * Check fiber * Check fiber polarity (if short range, unplug the link anywhere, and look at the light/dark pattern: dark has to mate with light) + * For Jungfrau, check if the blue sfp light is blinking rapidly (even when it is not sending data). If so, most likely the link is down and something is wrong with the board. If it connected to a switch, then you do not see it with the ethtool command if link is down. One option is to connect it directly to a pc to see if link is down. + * With nc, try "nc -u -p 50001 -l" in receiving pc, and from another pc try "echo hallo | nc -u 10.1.2.172 50001" to send something to the recieving pc interface to see if the link is up and see if the other nc console receives the hallo. #. Detector is not acquiring (Not Eiger) * Take an acquisition with many images and using the following steps instead of acquire: @@ -47,11 +49,20 @@ Common * Ensure that the interfaces (on NIC and the switch) used in receiver pc have MTU 9000 (jumbo frames) enabled. -#. Check if 'rx_frames' counter in 'ifconfig' do not increment for interface. +#. Check if 'rx packets' counter in 'ifconfig' do not increment for interface. * If no, check switch configuration if present. Port counters of switch can also help to identify problem. * If yes, but receiver software does not see it: * Check no firewall (eg. firewalld) is present or add rules + + .. code-block:: bash + + # Stop and disable firewall + service firewalld stop + systemctl disable firewalld + # Check status + service firewalld status + * Check that selinux is disabled ( or add rules) #. Source UDP IP in config file (Not Eiger) diff --git a/libs/rapidjson/rapidjson/document.h b/libs/rapidjson/rapidjson/document.h index f4073113d..266f78337 100755 --- a/libs/rapidjson/rapidjson/document.h +++ b/libs/rapidjson/rapidjson/document.h @@ -316,7 +316,8 @@ struct GenericStringRef { GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {} - GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } + // Removed to fix failing build in GCC 14 + // GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } //! implicit conversion to plain CharType pointer operator const Ch *() const { return s; } diff --git a/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants b/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants index 9bfcc52e8..5a33d75dc 100644 --- a/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants +++ b/psi-pmodules/DetectorSoftware/slsDetectorPackage/files/variants @@ -9,4 +9,6 @@ slsDetectorPackage/8.0.0_rh7 stable cmake/3.15.5 Qt/5.12.10 slsDetectorPackage/8.0.0_rh8 stable cmake/3.15.5 Qt/5.12.10 slsDetectorPackage/8.0.1_rh7 stable cmake/3.15.5 Qt/5.12.10 slsDetectorPackage/8.0.1_rh8 stable cmake/3.15.5 Qt/5.12.10 +slsDetectorPackage/8.0.2_rh7 stable cmake/3.15.5 Qt/5.12.10 +slsDetectorPackage/8.0.2_rh8 stable cmake/3.15.5 Qt/5.12.10 diff --git a/pyctbgui/.github/workflows/build-and-test-inplace.yml b/pyctbgui/.github/workflows/build-and-test-inplace.yml new file mode 100644 index 000000000..465bfcd13 --- /dev/null +++ b/pyctbgui/.github/workflows/build-and-test-inplace.yml @@ -0,0 +1,35 @@ +name: Build inplace, run tests and linting + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [ "3.10", "3.11"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install ".[dev]" + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Build C extension + run: | + make + - name: Run tests using pytest + run: | + make test + - name: check code formatting + run: | + make check_format + - name: lint the code with ruff + run: | + make lint \ No newline at end of file diff --git a/pyctbgui/.gitignore b/pyctbgui/.gitignore new file mode 100644 index 000000000..53456bd67 --- /dev/null +++ b/pyctbgui/.gitignore @@ -0,0 +1,133 @@ +nohup.out +.idea/ +tests/.tmp +run_* +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ diff --git a/pyctbgui/.pre-commit-config.yaml b/pyctbgui/.pre-commit-config.yaml new file mode 100644 index 000000000..f45532776 --- /dev/null +++ b/pyctbgui/.pre-commit-config.yaml @@ -0,0 +1,18 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/google/yapf + rev: v0.40.1 + hooks: + - id: yapf + name: yapf + language: python + entry: yapf + args: [-i,--style,pyproject.toml] + types: [python] + +- repo: https://github.com/astral-sh/ruff-pre-commit + # Ruff version. + rev: v0.0.285 + hooks: + - id: ruff diff --git a/pyctbgui/CtbGui b/pyctbgui/CtbGui new file mode 100755 index 000000000..0312b6d61 --- /dev/null +++ b/pyctbgui/CtbGui @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 +from PyQt5 import QtWidgets +import sys + +from pyctbgui.ui import MainWindow + +if __name__ == "__main__": + app = QtWidgets.QApplication(sys.argv) + main = MainWindow() + main.show() + app.exec_() diff --git a/pyctbgui/MANIFEST.in b/pyctbgui/MANIFEST.in new file mode 100644 index 000000000..f0aa8ba82 --- /dev/null +++ b/pyctbgui/MANIFEST.in @@ -0,0 +1,2 @@ +include pyctbgui/ui/*.ui +recursive-include src *.c *.h \ No newline at end of file diff --git a/pyctbgui/Makefile b/pyctbgui/Makefile new file mode 100644 index 000000000..f1b26ec09 --- /dev/null +++ b/pyctbgui/Makefile @@ -0,0 +1,39 @@ +# TODO! Add support for making the pkg? +# Which tests should we have? + +default: ext + +ext: ## [DEFAULT] build c extension in place + rm -rf build/ pyctbgui/_decoder.cpython* + python setup.py build_ext --inplace + +clean: ## Remove the build folder and the shared library + rm -rf build/ pyctbgui/_decoder.cpython* + +test: ## Run unit tests using pytest + python -m pytest -v tests/unit + +test_gui: ## Run E2E tests using pytest + python -m pytest -v tests/gui + +setup_gui_test: ## Setup the environment for the E2E tests + ctbDetectorServer_virtual > /tmp/simulator.log 2>&1 & + slsReceiver > /tmp/slsReceiver.log 2>&1 & + sleep 3 + sls_detector_put config tests/gui/data/simulator.config + +killall: ## Kill all the processes started by setup_gui_test + killall slsReceiver ctbDetectorServer_virtual + + +lint: ## run ruff linter to check formatting errors + @ruff check tests pyctbgui *.py && echo "Ruff checks passed ✅" + +format: ## format code inplace using style in pyproject.toml + yapf --style pyproject.toml -m -r -i tests pyctbgui *.py + +check_format: ## Check if source is formatted properly + yapf --style pyproject.toml -r -d tests pyctbgui *.py + +help: # from compiler explorer + @grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' diff --git a/pyctbgui/README.md b/pyctbgui/README.md new file mode 100644 index 000000000..d38bdfb40 --- /dev/null +++ b/pyctbgui/README.md @@ -0,0 +1,31 @@ +# New Chip Test Board Gui using Python +Prototype for a new python based GUI for the Chip Test Board + + +## Getting started + +```bash +git clone https://github.com/slsdetectorgroup/pyctbgui.git +cd pyctbgui +make #compiles the c extension inplace +./CtbGui +``` + + +## Display help for the Makefile + +``` +$ make help +check_format Check if source is formatted properly +clean Remove the build folder and the shared library +ext [DEFAULT] build c extension in place +format format code inplace using style in pyproject.toml +lint run ruff linter to check formatting errors +test Run unit tests using pytest +``` + + +## setup pre-commit hooks +``` +pre-commit install +``` diff --git a/pyctbgui/client.py b/pyctbgui/client.py new file mode 100644 index 000000000..a8fba1bab --- /dev/null +++ b/pyctbgui/client.py @@ -0,0 +1,73 @@ +import json +import zmq +import numpy as np + +from slsdet import Detector +import matplotlib.pyplot as plt + +det = Detector() + +zmqIp = det.zmqip +zmqport = det.zmqport +zmq_stream = det.rx_zmqstream + + +def zmq_receiver(): + context = zmq.Context() + socket = context.socket(zmq.SUB) + socket.connect(f"tcp://{zmqIp}:{zmqport}") + socket.subscribe("") + + while True: + msg = socket.recv_multipart() + if len(msg) == 2: + header, data = msg + jsonHeader = json.loads(header) + print(jsonHeader) + print(f'Data size: {len(data)}') + data_array = np.array(np.frombuffer(data, dtype=np.uint16)) + break + return data_array + + +def analog(data_array): + adc_numbers = [ + 9, 8, 11, 10, 13, 12, 15, 14, 1, 0, 3, 2, 5, 4, 7, 6, 23, 22, 21, 20, 19, 18, 17, 16, 31, 30, 29, 28, 27, 26, + 25, 24 + ] + + n_pixels_per_sc = 5000 + + sc_width = 25 + analog_frame = np.zeros((400, 400)) + order_sc = np.zeros((400, 400)) + + for n_pixel in range(n_pixels_per_sc): + #these_dbits = int(digital_data[n_pixel]) + + for i_sc, adc_nr in enumerate(adc_numbers): + # ANALOG + col = ((adc_nr % 16) * sc_width) + (n_pixel % sc_width) + if i_sc < 16: + row = 199 - int(n_pixel / sc_width) + else: + row = 200 + int(n_pixel / sc_width) + + index_min = n_pixel * 32 + i_sc + + pixel_value = data_array[index_min] + analog_frame[row, col] = pixel_value + order_sc[row, col] = i_sc + return analog_frame + + +fig, ax = plt.subplots() +data = analog(data_array=zmq_receiver()) +im = ax.imshow(data) +ax.invert_yaxis() +fig.colorbar(im) +plt.show() +# pg.image(data, title="test") + +# if __name__ == '__main__': +# pg.QtWidgets.QApplication.exec_() diff --git a/pyctbgui/pyctbgui/__init__.py b/pyctbgui/pyctbgui/__init__.py new file mode 100644 index 000000000..561a39e95 --- /dev/null +++ b/pyctbgui/pyctbgui/__init__.py @@ -0,0 +1,2 @@ +from .utils.defines import Defines as defs +from .utils import bit_utils, alias_utility diff --git a/pyctbgui/pyctbgui/services/ADC.py b/pyctbgui/pyctbgui/services/ADC.py new file mode 100644 index 000000000..f470fc917 --- /dev/null +++ b/pyctbgui/pyctbgui/services/ADC.py @@ -0,0 +1,401 @@ +import logging +import typing +from functools import partial +from pathlib import Path + +import numpy as np +from PyQt5 import QtWidgets, uic +import pyqtgraph as pg +from pyqtgraph import LegendItem + +from pyctbgui.utils import decoder +from pyctbgui.utils.bit_utils import bit_is_set, manipulate_bit +from pyctbgui.utils.defines import Defines +import pyctbgui.utils.pixelmap as pm +from pyctbgui.utils.recordOrApplyPedestal import recordOrApplyPedestal + +if typing.TYPE_CHECKING: + from pyctbgui.services import AcquisitionTab, PlotTab + + +class AdcTab(QtWidgets.QWidget): + + def __init__(self, parent, *args, **kwargs): + super().__init__(parent, *args, **kwargs) + uic.loadUi(Path(__file__).parent.parent / 'ui' / "adc.ui", parent) + self.view = parent + self.mainWindow = None + self.det = None + self.plotTab: PlotTab | None = None + self.acquisitionTab: AcquisitionTab | None = None + self.legend: LegendItem | None = None + self.logger = logging.getLogger('AdcTab') + + def setup_ui(self): + self.plotTab = self.mainWindow.plotTab + self.acquisitionTab = self.mainWindow.acquisitionTab + for i in range(Defines.adc.count): + self.setADCButtonColor(i, self.plotTab.getRandomColor()) + self.initializeAllAnalogPlots() + + self.legend = self.mainWindow.plotAnalogWaveform.getPlotItem().legend + self.legend.clear() + # subscribe to toggle legend + self.plotTab.subscribeToggleLegend(self.updateLegend) + + def initializeAllAnalogPlots(self): + self.mainWindow.plotAnalogWaveform = pg.plot() + self.mainWindow.plotAnalogWaveform.addLegend(colCount=Defines.colCount) + self.mainWindow.verticalLayoutPlot.addWidget(self.mainWindow.plotAnalogWaveform, 1) + self.mainWindow.analogPlots = {} + waveform = np.zeros(1000) + for i in range(Defines.adc.count): + pen = pg.mkPen(color=self.getADCButtonColor(i), width=1) + legendName = getattr(self.view, f"labelADC{i}").text() + self.mainWindow.analogPlots[i] = self.mainWindow.plotAnalogWaveform.plot(waveform, + pen=pen, + name=legendName) + self.mainWindow.analogPlots[i].hide() + + self.mainWindow.plotAnalogImage = pg.ImageView() + self.mainWindow.nAnalogRows = 0 + self.mainWindow.nAnalogCols = 0 + self.mainWindow.analog_frame = np.zeros((self.mainWindow.nAnalogRows, self.mainWindow.nAnalogCols)) + self.mainWindow.plotAnalogImage.getView().invertY(False) + self.mainWindow.plotAnalogImage.setImage(self.mainWindow.analog_frame) + self.mainWindow.verticalLayoutPlot.addWidget(self.mainWindow.plotAnalogImage, 2) + + def connect_ui(self): + for i in range(Defines.adc.count): + getattr(self.view, f"checkBoxADC{i}Inv").stateChanged.connect(partial(self.setADCInv, i)) + getattr(self.view, f"checkBoxADC{i}En").stateChanged.connect(partial(self.setADCEnable, i)) + getattr(self.view, f"checkBoxADC{i}Plot").stateChanged.connect(partial(self.setADCEnablePlot, i)) + getattr(self.view, f"pushButtonADC{i}").clicked.connect(partial(self.selectADCColor, i)) + self.view.checkBoxADC0_15En.stateChanged.connect(partial(self.setADCEnableRange, 0, Defines.adc.half)) + self.view.checkBoxADC16_31En.stateChanged.connect( + partial(self.setADCEnableRange, Defines.adc.half, Defines.adc.count)) + self.view.checkBoxADC0_15Plot.stateChanged.connect(partial(self.setADCEnablePlotRange, 0, Defines.adc.half)) + self.view.checkBoxADC16_31Plot.stateChanged.connect( + partial(self.setADCEnablePlotRange, Defines.adc.half, Defines.adc.count)) + self.view.checkBoxADC0_15Inv.stateChanged.connect(partial(self.setADCInvRange, 0, Defines.adc.half)) + self.view.checkBoxADC16_31Inv.stateChanged.connect( + partial(self.setADCInvRange, Defines.adc.half, Defines.adc.count)) + self.view.lineEditADCInversion.editingFinished.connect(self.setADCInvReg) + self.view.lineEditADCEnable.editingFinished.connect(self.setADCEnableReg) + + def refresh(self): + self.updateADCNames() + self.updateADCInv() + self.updateADCEnable() + + # ADCs Tab functions + + def getEnabledPlots(self): + """ + return plots that are shown (checkBoxADC#Plot is checked) + """ + enabledPlots = [] + self.legend.clear() + for i in range(Defines.adc.count): + if getattr(self.view, f'checkBoxADC{i}Plot').isChecked(): + plotName = getattr(self.view, f"labelADC{i}").text() + enabledPlots.append((self.mainWindow.analogPlots[i], plotName)) + return enabledPlots + + def updateLegend(self): + """ + update the legend for the ADC waveform plot + should be called after checking or unchecking plot checkbox + """ + if not self.mainWindow.showLegend: + self.legend.clear() + else: + for plot, name in self.getEnabledPlots(): + self.legend.addItem(plot, name) + + def updateADCNames(self): + """ + get adc names from detector and update them in the UI + """ + for i, adc_name in enumerate(self.det.getAdcNames()): + getattr(self.view, f"labelADC{i}").setText(adc_name) + + def processWaveformData(self, data: bytes, aSamples: int) -> dict[str, np.ndarray]: + """ + view function + plots processed waveform data + @param data: raw waveform data + @param aSamples: analog samples + @return: waveform dict returned to handle it for saving the output + """ + + waveforms = {} + analog_array = self._processWaveformData(data, aSamples, self.mainWindow.nADCEnabled) + idx = 0 + for i in range(Defines.adc.count): + checkBoxPlot = getattr(self.view, f"checkBoxADC{i}Plot") + checkBoxEn = getattr(self.view, f"checkBoxADC{i}En") + + if checkBoxEn.isChecked() and checkBoxPlot.isChecked(): + waveform = analog_array[:, idx] + idx += 1 + self.mainWindow.analogPlots[i].setData(waveform) + plotName = getattr(self.view, f"labelADC{i}").text() + waveforms[plotName] = waveform + return waveforms + + @recordOrApplyPedestal + def _processWaveformData(self, data: bytes, aSamples: int, nADCEnabled: int) -> np.ndarray: + """ + model function + processes raw waveform data + @param data: raw waveform data + @param aSamples: analog samples + @param nADCEnabled: number of enabled ADCs + @return: processed waveform data + """ + analog_array = np.array(np.frombuffer(data, dtype=np.uint16, count=nADCEnabled * aSamples)) + return analog_array.reshape(-1, nADCEnabled) + + def processImageData(self, data, aSamples): + """ + process the raw receiver data for analog image + data: raw analog image + aSamples: analog samples + """ + # get zoom state + viewBox = self.mainWindow.plotAnalogImage.getView() + state = viewBox.getState() + try: + self.mainWindow.analog_frame = self._processImageData(data, aSamples, self.mainWindow.nADCEnabled) + self.plotTab.ignoreHistogramSignal = True + self.mainWindow.plotAnalogImage.setImage(self.mainWindow.analog_frame.T) + except Exception: + self.logger.exception('Exception Caught') + self.mainWindow.statusbar.setStyleSheet("color:red") + message = f'Warning: Invalid size for Analog Image. Expected' \ + f' {self.mainWindow.nAnalogRows * self.mainWindow.nAnalogCols} ' \ + f'size, got {self.mainWindow.analog_frame.size} instead.' + self.acquisitionTab.updateCurrentFrame('Invalid Image') + + self.mainWindow.statusbar.showMessage(message) + print(message) + + self.plotTab.setFrameLimits(self.mainWindow.analog_frame) + + # keep the zoomed in state (not 1st image) + if self.mainWindow.firstAnalogImage: + self.mainWindow.firstAnalogImage = False + else: + viewBox.setState(state) + return self.mainWindow.analog_frame.T + + @recordOrApplyPedestal + def _processImageData(self, data, aSamples, nADCEnabled): + analog_array = np.array(np.frombuffer(data, dtype=np.uint16, count=nADCEnabled * aSamples)) + return decoder.decode(analog_array, pm.moench04_analog()) + + def getADCEnableReg(self): + retval = self.det.adcenable + if self.det.tengiga: + retval = self.det.adcenable10g + self.view.lineEditADCEnable.editingFinished.disconnect() + self.view.lineEditADCEnable.setText("0x{:08x}".format(retval)) + self.view.lineEditADCEnable.editingFinished.connect(self.setADCEnableReg) + return retval + + def setADCEnableReg(self): + self.view.lineEditADCEnable.editingFinished.disconnect() + try: + mask = int(self.mainWindow.lineEditADCEnable.text(), 16) + if self.det.tengiga: + self.det.adcenable10g = mask + else: + self.det.adcenable = mask + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "ADC Enable Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + # TODO: handling double event exceptions + self.view.lineEditADCEnable.editingFinished.connect(self.setADCEnableReg) + self.updateADCEnable() + + def getADCEnable(self, i, mask): + checkBox = getattr(self.view, f"checkBoxADC{i}En") + checkBox.stateChanged.disconnect() + checkBox.setChecked(bit_is_set(mask, i)) + checkBox.stateChanged.connect(partial(self.setADCEnable, i)) + + def updateADCEnable(self): + retval = self.getADCEnableReg() + self.mainWindow.nADCEnabled = bin(retval).count('1') + for i in range(Defines.adc.count): + self.getADCEnable(i, retval) + self.getADCEnablePlot(i) + self.getADCEnableColor(i) + self.plotTab.addSelectedAnalogPlots(i) + self.getADCEnableRange(retval) + self.getADCEnablePlotRange() + + def setADCEnable(self, i): + checkBox = getattr(self.view, f"checkBoxADC{i}En") + try: + if self.det.tengiga: + enableMask = manipulate_bit(checkBox.isChecked(), self.det.adcenable10g, i) + self.det.adcenable10g = enableMask + else: + enableMask = manipulate_bit(checkBox.isChecked(), self.det.adcenable, i) + self.det.adcenable = enableMask + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "ADC Enable Fail", str(e), QtWidgets.QMessageBox.Ok) + + self.updateADCEnable() + + def getADCEnableRange(self, mask): + self.view.checkBoxADC0_15En.stateChanged.disconnect() + self.view.checkBoxADC16_31En.stateChanged.disconnect() + self.view.checkBoxADC0_15En.setChecked((mask & Defines.adc.BIT0_15_MASK) == Defines.adc.BIT0_15_MASK) + self.view.checkBoxADC16_31En.setChecked((mask & Defines.adc.BIT16_31_MASK) == Defines.adc.BIT16_31_MASK) + self.view.checkBoxADC0_15En.stateChanged.connect(partial(self.setADCEnableRange, 0, Defines.adc.half)) + self.view.checkBoxADC16_31En.stateChanged.connect( + partial(self.setADCEnableRange, Defines.adc.half, Defines.adc.count)) + + def setADCEnableRange(self, start_nr, end_nr): + mask = self.getADCEnableReg() + checkBox = getattr(self.view, f"checkBoxADC{start_nr}_{end_nr - 1}En") + for i in range(start_nr, end_nr): + mask = manipulate_bit(checkBox.isChecked(), mask, i) + try: + if self.det.tengiga: + self.det.adcenable10g = mask + else: + self.det.adcenable = mask + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "ADC Enable Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + self.updateADCEnable() + + def getADCEnablePlot(self, i): + checkBox = getattr(self.view, f"checkBoxADC{i}En") + checkBoxPlot = getattr(self.view, f"checkBoxADC{i}Plot") + checkBoxPlot.setEnabled(checkBox.isChecked()) + + def setADCEnablePlot(self, i): + pushButton = getattr(self.view, f"pushButtonADC{i}") + checkBox = getattr(self.view, f"checkBoxADC{i}Plot") + pushButton.setEnabled(checkBox.isChecked()) + + self.getADCEnablePlotRange() + self.plotTab.addSelectedAnalogPlots(i) + self.updateLegend() + + def getADCEnablePlotRange(self): + self.view.checkBoxADC0_15Plot.stateChanged.disconnect() + self.view.checkBoxADC16_31Plot.stateChanged.disconnect() + self.view.checkBoxADC0_15Plot.setEnabled( + all(getattr(self.view, f"checkBoxADC{i}Plot").isEnabled() for i in range(Defines.adc.half))) + self.view.checkBoxADC16_31Plot.setEnabled( + all( + getattr(self.view, f"checkBoxADC{i}Plot").isEnabled() + for i in range(Defines.adc.half, Defines.adc.count))) + self.view.checkBoxADC0_15Plot.setChecked( + all(getattr(self.view, f"checkBoxADC{i}Plot").isChecked() for i in range(Defines.adc.half))) + self.view.checkBoxADC16_31Plot.setChecked( + all( + getattr(self.view, f"checkBoxADC{i}Plot").isChecked() + for i in range(Defines.adc.half, Defines.adc.count))) + self.view.checkBoxADC0_15Plot.stateChanged.connect(partial(self.setADCEnablePlotRange, 0, Defines.adc.half)) + self.view.checkBoxADC16_31Plot.stateChanged.connect( + partial(self.setADCEnablePlotRange, Defines.adc.half, Defines.adc.count)) + + def setADCEnablePlotRange(self, start_nr, end_nr): + checkBox = getattr(self.view, f"checkBoxADC{start_nr}_{end_nr - 1}Plot") + enable = checkBox.isChecked() + for i in range(start_nr, end_nr): + checkBox = getattr(self.view, f"checkBoxADC{i}Plot") + checkBox.setChecked(enable) + self.plotTab.addAllSelectedAnalogPlots() + + def getADCEnableColor(self, i): + checkBox = getattr(self.view, f"checkBoxADC{i}Plot") + pushButton = getattr(self.view, f"pushButtonADC{i}") + pushButton.setEnabled(checkBox.isEnabled() and checkBox.isChecked()) + + def selectADCColor(self, i): + pushButton = getattr(self.view, f"pushButtonADC{i}") + self.plotTab.showPalette(pushButton) + pen = pg.mkPen(color=self.getADCButtonColor(i), width=1) + self.mainWindow.analogPlots[i].setPen(pen) + + def getADCButtonColor(self, i): + pushButton = getattr(self.view, f"pushButtonADC{i}") + return self.plotTab.getActiveColor(pushButton) + + def setADCButtonColor(self, i, color): + pushButton = getattr(self.view, f"pushButtonADC{i}") + return self.plotTab.setActiveColor(pushButton, color) + + def getADCInvReg(self): + retval = self.det.adcinvert + self.view.lineEditADCInversion.editingFinished.disconnect() + self.view.lineEditADCInversion.setText("0x{:08x}".format(retval)) + self.view.lineEditADCInversion.editingFinished.connect(self.setADCInvReg) + return retval + + def setADCInvReg(self): + self.view.lineEditADCInversion.editingFinished.disconnect() + try: + self.det.adcinvert = int(self.mainWindow.lineEditADCInversion.text(), 16) + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "ADC Inversion Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + # TODO: handling double event exceptions + self.view.lineEditADCInversion.editingFinished.connect(self.setADCInvReg) + self.updateADCInv() + + def getADCInv(self, i, inv): + checkBox = getattr(self.view, f"checkBoxADC{i}Inv") + checkBox.stateChanged.disconnect() + checkBox.setChecked(bit_is_set(inv, i)) + checkBox.stateChanged.connect(partial(self.setADCInv, i)) + + def updateADCInv(self): + retval = self.getADCInvReg() + for i in range(Defines.adc.count): + self.getADCInv(i, retval) + self.getADCInvRange(retval) + + def setADCInv(self, i): + out = self.det.adcinvert + checkBox = getattr(self.view, f"checkBoxADC{i}Inv") + mask = manipulate_bit(checkBox.isChecked(), out, i) + self.det.adcinvert = mask + + retval = self.getADCInvReg() + self.getADCInv(i, retval) + self.getADCInvRange(retval) + + def getADCInvRange(self, inv): + self.view.checkBoxADC0_15Inv.stateChanged.disconnect() + self.view.checkBoxADC16_31Inv.stateChanged.disconnect() + self.view.checkBoxADC0_15Inv.setChecked((inv & Defines.adc.BIT0_15_MASK) == Defines.adc.BIT0_15_MASK) + self.view.checkBoxADC16_31Inv.setChecked((inv & Defines.adc.BIT16_31_MASK) == Defines.adc.BIT16_31_MASK) + self.view.checkBoxADC0_15Inv.stateChanged.connect(partial(self.setADCInvRange, 0, Defines.adc.half)) + self.view.checkBoxADC16_31Inv.stateChanged.connect( + partial(self.setADCInvRange, Defines.adc.half, Defines.adc.count)) + + def setADCInvRange(self, start_nr, end_nr): + out = self.det.adcinvert + checkBox = getattr(self.view, f"checkBoxADC{start_nr}_{end_nr - 1}Inv") + mask = getattr(Defines.adc, f"BIT{start_nr}_{end_nr - 1}_MASK") + if checkBox.isChecked(): + self.det.adcinvert = out | mask + else: + self.det.adcinvert = out & ~mask + + self.updateADCInv() + + def saveParameters(self) -> list[str]: + return [ + f"adcenable {self.view.lineEditADCEnable.text()}", + f"adcinvert {self.view.lineEditADCInversion.text()}", + ] diff --git a/pyctbgui/pyctbgui/services/Acquisition.py b/pyctbgui/pyctbgui/services/Acquisition.py new file mode 100644 index 000000000..d87cad767 --- /dev/null +++ b/pyctbgui/pyctbgui/services/Acquisition.py @@ -0,0 +1,719 @@ +import json +import typing +from pathlib import Path +import numpy as np +import time +import zmq +from PyQt5 import QtWidgets, uic +import logging + +from slsdet import readoutMode, runStatus +from pyctbgui.utils.defines import Defines +from pyctbgui.utils.numpyWriter.npy_writer import NumpyFileManager +from pyctbgui.utils.numpyWriter.npz_writer import NpzFileWriter + +if typing.TYPE_CHECKING: + # only used for type hinting. To avoid circular dependencies these + # won't be imported in runtime + from pyctbgui.services import SignalsTab, TransceiverTab, AdcTab, PlotTab + + +class AcquisitionTab(QtWidgets.QWidget): + + def __init__(self, parent): + self.__isWaveform = None + super().__init__(parent) + self.currentMeasurement = None + self.dsamples = None + self.stoppedFlag = None + self.asamples = None + self.tsamples = None + uic.loadUi(Path(__file__).parent.parent / 'ui' / "acquisition.ui", parent) + self.view = parent + self.mainWindow = None + self.det = None + self.signalsTab: SignalsTab = None + self.transceiverTab: TransceiverTab = None + self.adcTab: AdcTab = None + self.plotTab: PlotTab = None + self.writeNumpy: bool = False + self.outputDir: Path = Path('/') + self.outputFileNamePrefix: str = '' + self.numpyFileManagers: dict[str, NumpyFileManager] = {} + + self.logger = logging.getLogger('AcquisitionTab') + + def setup_ui(self): + self.signalsTab = self.mainWindow.signalsTab + self.transceiverTab = self.mainWindow.transceiverTab + self.adcTab = self.mainWindow.adcTab + self.plotTab = self.mainWindow.plotTab + self.toggleStartButton(False) + + def connect_ui(self): + # For Acquistions Tab + self.view.comboBoxROMode.currentIndexChanged.connect(self.setReadOut) + self.view.spinBoxRunF.editingFinished.connect(self.setRunFrequency) + self.view.spinBoxTransceiver.editingFinished.connect(self.setTransceiver) + self.view.spinBoxAnalog.editingFinished.connect(self.setAnalog) + self.view.spinBoxDigital.editingFinished.connect(self.setDigital) + self.view.spinBoxADCF.editingFinished.connect(self.setADCFrequency) + self.view.spinBoxADCPhase.editingFinished.connect(self.setADCPhase) + self.view.spinBoxADCPipeline.editingFinished.connect(self.setADCPipeline) + self.view.spinBoxDBITF.editingFinished.connect(self.setDBITFrequency) + self.view.spinBoxDBITPhase.editingFinished.connect(self.setDBITPhase) + self.view.spinBoxDBITPipeline.editingFinished.connect(self.setDBITPipeline) + + self.view.checkBoxFileWriteRaw.stateChanged.connect(self.setFileWrite) + self.view.checkBoxFileWriteNumpy.stateChanged.connect(self.setFileWriteNumpy) + self.view.lineEditFileName.editingFinished.connect(self.setFileName) + self.view.lineEditFilePath.editingFinished.connect(self.setFilePath) + self.view.pushButtonFilePath.clicked.connect(self.browseFilePath) + self.view.spinBoxAcquisitionIndex.editingFinished.connect(self.setAccquisitionIndex) + self.view.spinBoxFrames.editingFinished.connect(self.setFrames) + self.view.spinBoxPeriod.editingFinished.connect(self.setPeriod) + self.view.comboBoxPeriod.currentIndexChanged.connect(self.setPeriod) + self.view.spinBoxTriggers.editingFinished.connect(self.setTriggers) + + def refresh(self): + self.getReadout() + self.getRunFrequency() + self.getTransceiver() + self.getAnalog() + self.getDigital() + self.getADCFrequency() + self.getADCPhase() + self.getADCPipeline() + self.getDBITFrequency() + self.getDBITPhase() + self.getDBITPipeline() + self.getFileWrite() + self.getFileName() + self.getFilePath() + self.getAccquisitionIndex() + self.getFrames() + self.getTriggers() + self.getPeriod() + self.updateDetectorStatus(self.det.status) + + # Acquisition Tab functions + + def getReadout(self): + self.view.comboBoxROMode.currentIndexChanged.disconnect() + self.view.spinBoxAnalog.editingFinished.disconnect() + self.view.spinBoxDigital.editingFinished.disconnect() + self.view.spinBoxTransceiver.editingFinished.disconnect() + + self.mainWindow.romode = self.det.romode + self.view.comboBoxROMode.setCurrentIndex(self.mainWindow.romode.value) + match self.mainWindow.romode: + case readoutMode.ANALOG_ONLY: + self.view.spinBoxAnalog.setEnabled(True) + self.view.labelAnalog.setEnabled(True) + self.view.spinBoxDigital.setDisabled(True) + self.view.labelDigital.setDisabled(True) + self.view.labelTransceiver.setDisabled(True) + self.view.spinBoxTransceiver.setDisabled(True) + case readoutMode.DIGITAL_ONLY: + self.view.spinBoxAnalog.setDisabled(True) + self.view.labelAnalog.setDisabled(True) + self.view.spinBoxDigital.setEnabled(True) + self.view.labelDigital.setEnabled(True) + self.view.labelTransceiver.setDisabled(True) + self.view.spinBoxTransceiver.setDisabled(True) + case readoutMode.ANALOG_AND_DIGITAL: + self.view.spinBoxAnalog.setEnabled(True) + self.view.labelAnalog.setEnabled(True) + self.view.spinBoxDigital.setEnabled(True) + self.view.labelDigital.setEnabled(True) + self.view.labelTransceiver.setDisabled(True) + self.view.spinBoxTransceiver.setDisabled(True) + case readoutMode.TRANSCEIVER_ONLY: + self.view.spinBoxAnalog.setDisabled(True) + self.view.labelAnalog.setDisabled(True) + self.view.spinBoxDigital.setDisabled(True) + self.view.labelDigital.setDisabled(True) + self.view.labelTransceiver.setEnabled(True) + self.view.spinBoxTransceiver.setEnabled(True) + case _: + self.view.spinBoxAnalog.setDisabled(True) + self.view.labelAnalog.setDisabled(True) + self.view.spinBoxDigital.setEnabled(True) + self.view.labelDigital.setEnabled(True) + self.view.labelTransceiver.setEnabled(True) + self.view.spinBoxTransceiver.setEnabled(True) + + self.view.comboBoxROMode.currentIndexChanged.connect(self.setReadOut) + self.view.spinBoxAnalog.editingFinished.connect(self.setAnalog) + self.view.spinBoxDigital.editingFinished.connect(self.setDigital) + self.view.spinBoxTransceiver.editingFinished.connect(self.setTransceiver) + self.getAnalog() + self.getDigital() + self.plotTab.showPlot() + + def plotReferesh(self): + self.read_zmq() + + def setReadOut(self): + self.view.comboBoxROMode.currentIndexChanged.disconnect() + try: + if self.view.comboBoxROMode.currentIndex() == 0: + self.det.romode = readoutMode.ANALOG_ONLY + elif self.view.comboBoxROMode.currentIndex() == 1: + self.det.romode = readoutMode.DIGITAL_ONLY + elif self.view.comboBoxROMode.currentIndex() == 2: + self.det.romode = readoutMode.ANALOG_AND_DIGITAL + elif self.view.comboBoxROMode.currentIndex() == 3: + self.det.romode = readoutMode.TRANSCEIVER_ONLY + else: + self.det.romode = readoutMode.DIGITAL_AND_TRANSCEIVER + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Readout Mode Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.comboBoxROMode.currentIndexChanged.connect(self.setReadOut) + self.getReadout() + + def getRunFrequency(self): + self.view.spinBoxRunF.editingFinished.disconnect() + self.view.spinBoxRunF.setValue(self.det.runclk) + self.view.spinBoxRunF.editingFinished.connect(self.setRunFrequency) + + def setRunFrequency(self): + self.view.spinBoxRunF.editingFinished.disconnect() + try: + self.det.runclk = self.view.spinBoxRunF.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Run Frequency Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxRunF.editingFinished.connect(self.setRunFrequency) + self.getRunFrequency() + + def getTransceiver(self): + self.view.spinBoxTransceiver.editingFinished.disconnect() + self.tsamples = self.det.tsamples + self.view.spinBoxTransceiver.setValue(self.tsamples) + self.view.spinBoxTransceiver.editingFinished.connect(self.setTransceiver) + + def setTransceiver(self): + self.view.spinBoxTransceiver.editingFinished.disconnect() + try: + self.det.tsamples = self.view.spinBoxTransceiver.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Transceiver Samples Fail", str(e), + QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxTransceiver.editingFinished.connect(self.setTransceiver) + self.getTransceiver() + + def getAnalog(self): + self.view.spinBoxAnalog.editingFinished.disconnect() + self.asamples = self.det.asamples + self.view.spinBoxAnalog.setValue(self.asamples) + self.view.spinBoxAnalog.editingFinished.connect(self.setAnalog) + + def setAnalog(self): + self.view.spinBoxAnalog.editingFinished.disconnect() + try: + self.det.asamples = self.view.spinBoxAnalog.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Digital Samples Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxAnalog.editingFinished.connect(self.setAnalog) + self.getAnalog() + + def getDigital(self): + self.view.spinBoxDigital.editingFinished.disconnect() + self.dsamples = self.det.dsamples + self.view.spinBoxDigital.setValue(self.dsamples) + self.view.spinBoxDigital.editingFinished.connect(self.setDigital) + + def setDigital(self): + self.view.spinBoxDigital.editingFinished.disconnect() + try: + self.det.dsamples = self.view.spinBoxDigital.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Digital Samples Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxDigital.editingFinished.connect(self.setDigital) + self.getDigital() + + def getADCFrequency(self): + self.view.spinBoxADCF.editingFinished.disconnect() + self.view.spinBoxADCF.setValue(self.det.adcclk) + self.view.spinBoxADCF.editingFinished.connect(self.setADCFrequency) + + def setADCFrequency(self): + self.view.spinBoxADCF.editingFinished.disconnect() + try: + self.det.adcclk = self.view.spinBoxADCF.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "ADC Frequency Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxADCF.editingFinished.connect(self.setADCFrequency) + self.getADCFrequency() + + def getADCPhase(self): + self.view.spinBoxADCPhase.editingFinished.disconnect() + self.view.spinBoxADCPhase.setValue(self.det.adcphase) + self.view.spinBoxADCPhase.editingFinished.connect(self.setADCPhase) + + def setADCPhase(self): + self.view.spinBoxADCPhase.editingFinished.disconnect() + try: + self.det.adcphase = self.view.spinBoxADCPhase.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "ADC Phase Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxADCPhase.editingFinished.connect(self.setADCPhase) + self.getADCPhase() + + def getADCPipeline(self): + self.view.spinBoxADCPipeline.editingFinished.disconnect() + self.view.spinBoxADCPipeline.setValue(self.det.adcpipeline) + self.view.spinBoxADCPipeline.editingFinished.connect(self.setADCPipeline) + + def setADCPipeline(self): + self.view.spinBoxADCPipeline.editingFinished.disconnect() + try: + self.det.adcpipeline = self.view.spinBoxADCPipeline.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "ADC Pipeline Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxADCPipeline.editingFinished.connect(self.setADCPipeline) + self.getADCPipeline() + + def getDBITFrequency(self): + self.view.spinBoxDBITF.editingFinished.disconnect() + self.view.spinBoxDBITF.setValue(self.det.dbitclk) + self.view.spinBoxDBITF.editingFinished.connect(self.setDBITFrequency) + + def setDBITFrequency(self): + self.view.spinBoxDBITF.editingFinished.disconnect() + try: + self.det.dbitclk = self.view.spinBoxDBITF.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "DBit Frequency Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxDBITF.editingFinished.connect(self.setDBITFrequency) + self.getDBITFrequency() + + def getDBITPhase(self): + self.view.spinBoxDBITPhase.editingFinished.disconnect() + self.view.spinBoxDBITPhase.setValue(self.det.dbitphase) + self.view.spinBoxDBITPhase.editingFinished.connect(self.setDBITPhase) + + def setDBITPhase(self): + self.view.spinBoxDBITPhase.editingFinished.disconnect() + try: + self.det.dbitphase = self.view.spinBoxDBITPhase.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "DBit Phase Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxDBITPhase.editingFinished.connect(self.setDBITPhase) + self.getDBITPhase() + + def getDBITPipeline(self): + self.view.spinBoxDBITPipeline.editingFinished.disconnect() + self.view.spinBoxDBITPipeline.setValue(self.det.dbitpipeline) + self.view.spinBoxDBITPipeline.editingFinished.connect(self.setDBITPipeline) + + def setDBITPipeline(self): + self.view.spinBoxDBITPipeline.editingFinished.disconnect() + try: + self.det.dbitpipeline = self.view.spinBoxDBITPipeline.value() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "DBit Pipeline Fail", str(e), QtWidgets.QMessageBox.Ok) + # TODO: handling double event exceptions + self.view.spinBoxDBITPipeline.editingFinished.connect(self.setDBITPipeline) + self.getDBITPipeline() + + def getFileWrite(self): + self.view.checkBoxFileWriteRaw.stateChanged.disconnect() + self.view.checkBoxFileWriteRaw.setChecked(self.det.fwrite) + self.view.checkBoxFileWriteRaw.stateChanged.connect(self.setFileWrite) + + def setFileWrite(self): + self.det.fwrite = self.view.checkBoxFileWriteRaw.isChecked() + self.getFileWrite() + + def setFileWriteNumpy(self): + """ + slot for saving the data in numpy (.npy) format + """ + self.writeNumpy = not self.writeNumpy + + def getFileName(self): + """ + set the lineEditFilePath input widget to the filename value from the detector + """ + + self.view.lineEditFileName.editingFinished.disconnect() + fileName = self.det.fname + self.view.lineEditFileName.setText(fileName) + self.outputFileNamePrefix = fileName + self.view.lineEditFileName.editingFinished.connect(self.setFileName) + + def setFileName(self): + """ + slot for setting the filename from the widget to the detector + """ + self.det.fname = self.view.lineEditFileName.text() + self.getFileName() + + def getFilePath(self): + """ + set the lineEditFilePath input widget to the path value from the detector + """ + self.view.lineEditFilePath.editingFinished.disconnect() + path = self.det.fpath + self.view.lineEditFilePath.setText(str(path)) + self.view.lineEditFilePath.editingFinished.connect(self.setFilePath) + self.outputDir = path + + def setFilePath(self): + """ + slot to set the directory of the output for the detector + """ + self.det.fpath = Path(self.view.lineEditFilePath.text()) + self.getFilePath() + + def saveNumpyFile(self, data: np.ndarray | dict[str, np.ndarray], jsonHeader): + """ + save the acquisition data (waveform or image) in the specified path + save waveform in multiple .npy files + save image as npy file format + @note: frame number can be up to 100,000 so the data arrays cannot be fully loaded to memory + """ + if not self.writeNumpy: + return + if self.outputDir == Path('/'): + self.outputDir = Path('./') + if self.outputFileNamePrefix == '': + self.outputFileNamePrefix = 'run' + + for device in data: + if device not in self.numpyFileManagers: + tmpPath = self.outputDir / f'{self.outputFileNamePrefix}_{device}_{jsonHeader["fileIndex"]}.npy' + self.numpyFileManagers[device] = NumpyFileManager(tmpPath, 'w', data[device].shape, data[device].dtype) + self.numpyFileManagers[device].writeOneFrame(data[device]) + + if 'progress' in jsonHeader and jsonHeader['progress'] >= 100: + # close opened files after saving the last frame + self.closeOpenedNumpyFiles(jsonHeader) + + def closeOpenedNumpyFiles(self, jsonHeader): + """ + create npz file for waveform plots and close opened numpy files to persist their data + """ + if not self.writeNumpy: + return + if len(self.numpyFileManagers) == 0: + return + oneFile: bool = len(self.numpyFileManagers) == 1 + + filepaths = [npw.file.name for device, npw in self.numpyFileManagers.items()] + filenames = list(self.numpyFileManagers.keys()) + ext = 'npy' if oneFile else 'npz' + newPath = self.outputDir / f'{self.outputFileNamePrefix}_{jsonHeader["fileIndex"]}.{ext}' + + if not oneFile: + # if there is multiple .npy files group them in an .npz file + self.numpyFileManagers.clear() + NpzFileWriter.zipNpyFiles(newPath, filepaths, filenames, deleteOriginals=True, compressed=False) + else: + # rename files from "run_ADC0_0.npy" to "run_0.npy" if it is a single .npy file + oldPath = self.outputDir / f'{self.outputFileNamePrefix}_' \ + f'{self.numpyFileManagers.popitem()[0]}_{jsonHeader["fileIndex"]}.{ext}' + Path.rename(oldPath, newPath) + + self.logger.info(f'Saving numpy data in {newPath} Finished') + + def browseFilePath(self): + response = QtWidgets.QFileDialog.getExistingDirectory(parent=self.mainWindow, + caption="Select Path to Save Output File", + directory=str(Path.cwd()), + options=(QtWidgets.QFileDialog.ShowDirsOnly + | QtWidgets.QFileDialog.DontResolveSymlinks) + # filter='README (*.md *.ui)' + ) + if response: + self.view.lineEditFilePath.setText(response) + self.setFilePath() + + def getAccquisitionIndex(self): + self.view.spinBoxAcquisitionIndex.editingFinished.disconnect() + self.view.spinBoxAcquisitionIndex.setValue(self.det.findex) + self.view.spinBoxAcquisitionIndex.editingFinished.connect(self.setAccquisitionIndex) + + def setAccquisitionIndex(self): + self.det.findex = self.view.spinBoxAcquisitionIndex.value() + self.getAccquisitionIndex() + + def getFrames(self): + self.view.spinBoxFrames.editingFinished.disconnect() + self.view.spinBoxFrames.setValue(self.det.frames) + self.view.spinBoxFrames.editingFinished.connect(self.setFrames) + + def setFrames(self): + self.det.frames = self.view.spinBoxFrames.value() + self.getFrames() + + def getPeriod(self): + self.view.spinBoxPeriod.editingFinished.disconnect() + self.view.comboBoxPeriod.currentIndexChanged.disconnect() + + # Converting to right time unit for period + tPeriod = self.det.period + if tPeriod < 100e-9: + self.view.comboBoxPeriod.setCurrentIndex(3) + self.view.spinBoxPeriod.setValue(tPeriod / 1e-9) + elif tPeriod < 100e-6: + self.view.comboBoxPeriod.setCurrentIndex(2) + self.view.spinBoxPeriod.setValue(tPeriod / 1e-6) + elif tPeriod < 100e-3: + self.view.comboBoxPeriod.setCurrentIndex(1) + self.view.spinBoxPeriod.setValue(tPeriod / 1e-3) + else: + self.view.comboBoxPeriod.setCurrentIndex(0) + self.view.spinBoxPeriod.setValue(tPeriod) + + self.view.spinBoxPeriod.editingFinished.connect(self.setPeriod) + self.view.comboBoxPeriod.currentIndexChanged.connect(self.setPeriod) + + def setPeriod(self): + if self.view.comboBoxPeriod.currentIndex() == 0: + self.det.period = self.view.spinBoxPeriod.value() + elif self.view.comboBoxPeriod.currentIndex() == 1: + self.det.period = self.view.spinBoxPeriod.value() * (1e-3) + elif self.view.comboBoxPeriod.currentIndex() == 2: + self.det.period = self.view.spinBoxPeriod.value() * (1e-6) + else: + self.det.period = self.view.spinBoxPeriod.value() * (1e-9) + + self.getPeriod() + + def getTriggers(self): + self.view.spinBoxTriggers.editingFinished.disconnect() + self.view.spinBoxTriggers.setValue(self.det.triggers) + self.view.spinBoxTriggers.editingFinished.connect(self.setTriggers) + + def setTriggers(self): + self.det.triggers = self.view.spinBoxTriggers.value() + self.getTriggers() + + def updateDetectorStatus(self, status): + self.mainWindow.labelDetectorStatus.setText(status.name) + + def updateCurrentMeasurement(self): + self.mainWindow.labelCurrentMeasurement.setText(str(self.currentMeasurement)) + # print(f"Meausrement {self.currentMeasurement}") + + def updateCurrentFrame(self, val): + self.mainWindow.labelFrameNumber.setText(str(val)) + + def updateAcquiredFrames(self, val): + self.mainWindow.labelAcquiredFrames.setText(str(val)) + + def toggleAcquire(self): + if self.mainWindow.pushButtonStart.isChecked(): + self.plotTab.showPatternViewer(False) + self.acquire() + else: + self.stopAcquisition() + + def toggleStartButton(self, started): + if started: + self.mainWindow.pushButtonStart.setChecked(True) + self.mainWindow.pushButtonStart.setText('Stop') + else: + self.mainWindow.pushButtonStart.setChecked(False) + self.mainWindow.pushButtonStart.setText('Start') + + def stopAcquisition(self): + self.det.stop() + self.stoppedFlag = True + + def checkBeforeAcquire(self): + if self.plotTab.view.radioButtonImage.isChecked(): + # matterhorn image + if self.plotTab.view.comboBoxPlot.currentText() == "Matterhorn": + if self.mainWindow.romode not in [readoutMode.TRANSCEIVER_ONLY, readoutMode.DIGITAL_AND_TRANSCEIVER]: + QtWidgets.QMessageBox.warning(self.mainWindow, "Plot type", + "To read Matterhorn image, please enable transceiver readout mode", + QtWidgets.QMessageBox.Ok) + return False + if self.transceiverTab.getTransceiverEnableReg() != Defines.Matterhorn.tranceiverEnable: + QtWidgets.QMessageBox.warning( + self.mainWindow, "Plot type", "To read Matterhorn image, please set transceiver enable to " + + str(Defines.Matterhorn.tranceiverEnable), QtWidgets.QMessageBox.Ok) + return False + # moench04 image + elif self.plotTab.view.comboBoxPlot.currentText() == "Moench04": + if self.mainWindow.romode not in [readoutMode.ANALOG_ONLY, readoutMode.ANALOG_AND_DIGITAL]: + QtWidgets.QMessageBox.warning(self.mainWindow, "Plot type", + "To read Moench 04 image, please enable analog readout mode", + QtWidgets.QMessageBox.Ok) + return False + if self.mainWindow.nADCEnabled != 32: + QtWidgets.QMessageBox.warning(self.mainWindow, "Plot type", + "To read Moench 04 image, please enable all 32 adcs", + QtWidgets.QMessageBox.Ok) + return False + return True + + def acquire(self): + if not self.checkBeforeAcquire(): + self.toggleStartButton(False) + return + + self.stoppedFlag = False + self.toggleStartButton(True) + self.currentMeasurement = 0 + + # ensure zmq streaming is enabled + if self.det.rx_zmqstream == 0: + self.det.rx_zmqstream = 1 + + # some functions that must be updated for local values + self.getTransceiver() + self.getAnalog() + self.getDigital() + self.getReadout() + self.signalsTab.getDBitOffset() + self.adcTab.getADCEnableReg() + self.signalsTab.updateDigitalBitEnable() + self.transceiverTab.getTransceiverEnableReg() + + self.startMeasurement() + + def startMeasurement(self): + try: + self.updateCurrentMeasurement() + self.updateCurrentFrame(0) + self.updateAcquiredFrames(0) + self.mainWindow.progressBar.setValue(0) + + self.det.rx_start() + self.det.start() + time.sleep(Defines.Time_Wait_For_Packets_ms) + self.checkEndofAcquisition() + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Acquire Fail", str(e), QtWidgets.QMessageBox.Ok) + self.checkEndofAcquisition() + + def checkEndofAcquisition(self): + caught = self.det.rx_framescaught[0] + self.updateAcquiredFrames(caught) + status = self.det.getDetectorStatus()[0] + self.updateDetectorStatus(status) + measurementDone = False + # print(f'status:{status}') + match status: + case runStatus.RUNNING: + pass + case runStatus.WAITING: + pass + case runStatus.TRANSMITTING: + pass + case _: + measurementDone = True + + # check for 500ms for no packets + # needs more time for 1g streaming out done + if measurementDone: + time.sleep(Defines.Time_Wait_For_Packets_ms) + if self.det.rx_framescaught[0] != caught: + measurementDone = False + + numMeasurments = self.view.spinBoxMeasurements.value() + if measurementDone: + + if self.det.rx_status == runStatus.RUNNING: + self.det.rx_stop() + if self.view.checkBoxFileWriteRaw.isChecked() or self.view.checkBoxFileWriteNumpy.isChecked(): + self.view.spinBoxAcquisitionIndex.stepUp() + self.setAccquisitionIndex() + # next measurement + self.currentMeasurement += 1 + if self.currentMeasurement < numMeasurments and not self.stoppedFlag: + self.startMeasurement() + else: + self.mainWindow.statusTimer.stop() + self.toggleStartButton(False) + else: + self.mainWindow.statusTimer.start(Defines.Time_Status_Refresh_ms) + + # For other functios + # Reading data from zmq and decoding it + def read_zmq(self): + # print("in readzmq") + try: + msg = self.socket.recv_multipart(flags=zmq.NOBLOCK) + if len(msg) != 2: + if len(msg) != 1: + print(f'len(msg) = {len(msg)}') + return + header, data = msg + jsonHeader = json.loads(header) + self.mainWindow.progressBar.setValue(int(jsonHeader['progress'])) + self.updateCurrentFrame(jsonHeader['frameIndex']) + + # waveform + waveforms = {} + if self.plotTab.view.radioButtonWaveform.isChecked(): + # analog + if self.mainWindow.romode.value in [0, 2]: + waveforms |= self.adcTab.processWaveformData(data, self.asamples) + # digital + if self.mainWindow.romode.value in [1, 2, 4]: + waveforms |= self.signalsTab.processWaveformData(data, self.asamples, self.dsamples) + # transceiver + if self.mainWindow.romode.value in [3, 4]: + waveforms |= self.transceiverTab.processWaveformData(data, self.dsamples) + # image + else: + # analog + if self.mainWindow.romode.value in [0, 2]: + waveforms['analog_image'] = self.adcTab.processImageData(data, self.asamples) + # transceiver + if self.mainWindow.romode.value in [3, 4]: + waveforms['tx_image'] = self.transceiverTab.processImageData(data, self.dsamples) + + self.saveNumpyFile(waveforms, jsonHeader) + except zmq.ZMQError: + pass + except Exception: + self.logger.exception("Exception caught") + + def setup_zmq(self): + self.det.rx_zmqstream = 1 + self.zmqIp = self.det.zmqip + self.zmqport = self.det.zmqport + self.zmq_stream = self.det.rx_zmqstream + + self.context = zmq.Context() + self.socket = self.context.socket(zmq.SUB) + self.socket.connect(f"tcp://{self.zmqIp}:{self.zmqport}") + self.socket.subscribe("") + + def saveParameters(self) -> list[str]: + return [ + f'romode {self.view.comboBoxROMode.currentText().lower()}', + f'runclk {self.view.spinBoxRunF.value()}', + f'adcclk {self.view.spinBoxADCF.value()}', + f'adcphase {self.view.spinBoxADCPhase.value()}', + f'adcpipeline {self.view.spinBoxADCPipeline.value()}', + f'dbitclk {self.view.spinBoxDBITF.value()}', + f'dbitphase {self.view.spinBoxDBITPhase.value()}', + f'dbitpipeline {self.view.spinBoxDBITPipeline.value()}', + f'fwrite {int(self.view.checkBoxFileWriteRaw.isChecked())}', + f'fname {self.view.lineEditFileName.text()}', + f'fpath {self.view.lineEditFilePath.text()}', + f'findex {self.view.spinBoxAcquisitionIndex.value()}', + f'frames {self.view.spinBoxFrames.value()}', + f'triggers {self.view.spinBoxTriggers.value()}', + f'period {self.view.spinBoxPeriod.value()} {self.view.comboBoxPeriod.currentText().lower()}', + f'asamples {self.view.spinBoxAnalog.value()}', + f'dsamples {self.view.spinBoxDigital.value()}', + f'tsamples {self.view.spinBoxTransceiver.value()}', + ] diff --git a/pyctbgui/pyctbgui/services/DACs.py b/pyctbgui/pyctbgui/services/DACs.py new file mode 100644 index 000000000..1bd7ab721 --- /dev/null +++ b/pyctbgui/pyctbgui/services/DACs.py @@ -0,0 +1,170 @@ +from functools import partial +from pathlib import Path + +from PyQt5 import QtWidgets, uic +from pyctbgui.utils.defines import Defines + +from slsdet import dacIndex + + +class DacTab(QtWidgets.QWidget): + + def __init__(self, parent): + super().__init__(parent) + uic.loadUi(Path(__file__).parent.parent / 'ui' / "Dacs.ui", parent) + self.view = parent + + def setup_ui(self): + for i in range(Defines.dac.count): + dac = getattr(dacIndex, f"DAC_{i}") + getattr(self.view, f"spinBoxDAC{i}").setValue(self.det.getDAC(dac)[0]) + + if self.det.highvoltage == 0: + self.view.spinBoxHighVoltage.setDisabled(True) + self.view.checkBoxHighVoltage.setChecked(False) + + def connect_ui(self): + n_dacs = len(self.det.daclist) + for i in range(n_dacs): + getattr(self.view, f"spinBoxDAC{i}").editingFinished.connect(partial(self.setDAC, i)) + getattr(self.view, f"checkBoxDAC{i}").stateChanged.connect(partial(self.setDACTristate, i)) + getattr(self.view, f"checkBoxDAC{i}mV").stateChanged.connect(partial(self.getDAC, i)) + + self.view.comboBoxADCVpp.currentIndexChanged.connect(self.setADCVpp) + self.view.spinBoxHighVoltage.editingFinished.connect(self.setHighVoltage) + self.view.checkBoxHighVoltage.stateChanged.connect(self.setHighVoltage) + + def refresh(self): + self.updateDACNames() + for i in range(Defines.dac.count): + self.getDACTristate(i) + self.getDAC(i) + + self.getADCVpp() + self.getHighVoltage() + + def updateDACNames(self): + for i, name in enumerate(self.det.getDacNames()): + getattr(self.view, f"checkBoxDAC{i}").setText(name) + + def getDACTristate(self, i): + checkBox = getattr(self.view, f"checkBoxDAC{i}") + dac = getattr(dacIndex, f"DAC_{i}") + checkBox.stateChanged.disconnect() + if (self.det.getDAC(dac)[0]) == -100: + checkBox.setChecked(False) + else: + checkBox.setChecked(True) + checkBox.stateChanged.connect(partial(self.setDACTristate, i)) + + def setDACTristate(self, i): + checkBox = getattr(self.view, f"checkBoxDAC{i}") + if not checkBox.isChecked(): + self.setDAC(i) + self.getDAC(i) + + def getDAC(self, i): + checkBox = getattr(self.view, f"checkBoxDAC{i}") + checkBoxmV = getattr(self.view, f"checkBoxDAC{i}mV") + spinBox = getattr(self.view, f"spinBoxDAC{i}") + label = getattr(self.view, f"labelDAC{i}") + dac = getattr(dacIndex, f"DAC_{i}") + + checkBox.stateChanged.disconnect() + checkBoxmV.stateChanged.disconnect() + spinBox.editingFinished.disconnect() + + # do not uncheck automatically + if self.det.getDAC(dac)[0] != -100: + checkBox.setChecked(True) + + if checkBox.isChecked(): + spinBox.setEnabled(True) + checkBoxmV.setEnabled(True) + else: + spinBox.setDisabled(True) + checkBoxmV.setDisabled(True) + + in_mv = checkBoxmV.isChecked() and checkBox.isChecked() + dacValue = self.det.getDAC(dac, in_mv)[0] + unit = "mV" if in_mv else "" + label.setText(f"{dacValue} {unit}") + spinBox.setValue(dacValue) + + checkBox.stateChanged.connect(partial(self.setDACTristate, i)) + checkBoxmV.stateChanged.connect(partial(self.getDAC, i)) + spinBox.editingFinished.connect(partial(self.setDAC, i)) + + def setDAC(self, i): + checkBoxDac = getattr(self.view, f"checkBoxDAC{i}") + checkBoxmV = getattr(self.view, f"checkBoxDAC{i}mV") + spinBox = getattr(self.view, f"spinBoxDAC{i}") + dac = getattr(dacIndex, f"DAC_{i}") + + value = -100 + if checkBoxDac.isChecked(): + value = spinBox.value() + in_mV = checkBoxDac.isChecked() and checkBoxmV.isChecked() + self.det.setDAC(dac, value, in_mV) + self.getDAC(i) + + def getADCVpp(self): + retval = self.det.adcvpp + self.view.labelADCVpp.setText(f'Mode: {str(retval)}') + + self.view.comboBoxADCVpp.currentIndexChanged.disconnect() + self.view.comboBoxADCVpp.setCurrentIndex(retval) + self.view.comboBoxADCVpp.currentIndexChanged.connect(self.setADCVpp) + + def setADCVpp(self): + self.det.adcvpp = self.view.comboBoxADCVpp.currentIndex() + self.getADCVpp() + + def getHighVoltage(self): + retval = self.det.highvoltage + self.view.labelHighVoltage.setText(str(retval)) + + self.view.spinBoxHighVoltage.editingFinished.disconnect() + self.view.checkBoxHighVoltage.stateChanged.disconnect() + + self.view.spinBoxHighVoltage.setValue(retval) + if retval: + self.view.checkBoxHighVoltage.setChecked(True) + if self.view.checkBoxHighVoltage.isChecked(): + self.view.spinBoxHighVoltage.setEnabled(True) + + self.view.spinBoxHighVoltage.editingFinished.connect(self.setHighVoltage) + self.view.checkBoxHighVoltage.stateChanged.connect(self.setHighVoltage) + + def setHighVoltage(self): + value = 0 + if self.view.checkBoxHighVoltage.isChecked(): + value = self.view.spinBoxHighVoltage.value() + try: + self.det.highvoltage = value + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "High Voltage Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + self.getHighVoltage() + + def saveParameters(self) -> list: + """ + save parameters for the current tab + @return: list of commands + """ + commands = [] + for i in range(Defines.dac.count): + # if checkbox disabled put -100 in dac units + enabled = getattr(self.view, f"checkBoxDAC{i}").isChecked() + if not enabled: + commands.append(f"dac {i} -100") + # else put the value in dac or mV units + else: + value = getattr(self.view, f"spinBoxDAC{i}").value() + inMV = getattr(self.view, f"checkBoxDAC{i}mV").isChecked() + unit = " mV" if inMV else "" + commands.append(f"dac {i} {value}{unit}") + + commands.append(f"adcvpp {self.view.comboBoxADCVpp.currentText()} mV") + commands.append(f"highvoltage {self.view.spinBoxHighVoltage.value()}") + return commands diff --git a/pyctbgui/pyctbgui/services/Pattern.py b/pyctbgui/pyctbgui/services/Pattern.py new file mode 100644 index 000000000..e7e274ff9 --- /dev/null +++ b/pyctbgui/pyctbgui/services/Pattern.py @@ -0,0 +1,456 @@ +import os +from functools import partial +from pathlib import Path + +from PyQt5 import QtWidgets, uic +import matplotlib.pyplot as plt +from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas +from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar + +from pyctbgui.utils.defines import Defines +from pyctbgui.utils.plotPattern import PlotPattern + + +class PatternTab(QtWidgets.QWidget): + + def __init__(self, parent): + super().__init__(parent) + uic.loadUi(Path(__file__).parent.parent / 'ui' / "pattern.ui", parent) + self.view = parent + self.mainWindow = None + self.det = None + self.plotTab = None + + def setup_ui(self): + # Pattern Tab + self.plotTab = self.mainWindow.plotTab + + for i in range(len(Defines.Colors)): + self.view.comboBoxPatColor.addItem(Defines.Colors[i]) + self.view.comboBoxPatWaitColor.addItem(Defines.Colors[i]) + self.view.comboBoxPatLoopColor.addItem(Defines.Colors[i]) + for i in range(len(Defines.LineStyles)): + self.view.comboBoxPatWaitLineStyle.addItem(Defines.LineStyles[i]) + self.view.comboBoxPatLoopLineStyle.addItem(Defines.LineStyles[i]) + self.updateDefaultPatViewerParameters() + self.view.comboBoxPatColorSelect.setCurrentIndex(0) + self.view.comboBoxPatWait.setCurrentIndex(0) + self.view.comboBoxPatLoop.setCurrentIndex(0) + self.view.spinBoxPatClockSpacing.setValue(self.clock_vertical_lines_spacing) + self.view.checkBoxPatShowClockNumber.setChecked(self.show_clocks_number) + self.view.doubleSpinBoxLineWidth.setValue(self.line_width) + self.view.lineEditPatternFile.setText(self.det.patfname[0]) + # rest gets updated after connecting to slots + # pattern viewer plot area + self.figure, self.ax = plt.subplots() + self.canvas = FigureCanvas(self.figure) + self.toolbar = NavigationToolbar(self.canvas, self.view) + self.mainWindow.gridLayoutPatternViewer.addWidget(self.toolbar) + self.mainWindow.gridLayoutPatternViewer.addWidget(self.canvas) + self.figure.clear() + + def connect_ui(self): + # For Pattern Tab + self.view.lineEditStartAddress.editingFinished.connect(self.setPatLimitAddress) + self.view.lineEditStopAddress.editingFinished.connect(self.setPatLimitAddress) + for i in range(Defines.pattern.loops_count): + getattr(self.view, + f"lineEditLoop{i}Start").editingFinished.connect(partial(self.setPatLoopStartStopAddress, i)) + getattr(self.view, + f"lineEditLoop{i}Stop").editingFinished.connect(partial(self.setPatLoopStartStopAddress, i)) + getattr(self.view, f"lineEditLoop{i}Wait").editingFinished.connect(partial(self.setPatLoopWaitAddress, i)) + getattr(self.view, + f"spinBoxLoop{i}Repetition").editingFinished.connect(partial(self.setPatLoopRepetition, i)) + getattr(self.view, f"spinBoxLoop{i}WaitTime").editingFinished.connect(partial(self.setPatLoopWaitTime, i)) + self.view.pushButtonCompiler.clicked.connect(self.setCompiler) + self.view.pushButtonUncompiled.clicked.connect(self.setUncompiledPatternFile) + self.view.pushButtonPatternFile.clicked.connect(self.setPatternFile) + self.view.pushButtonLoadPattern.clicked.connect(self.loadPattern) + + self.view.comboBoxPatColorSelect.currentIndexChanged.connect(self.getPatViewerColors) + self.view.comboBoxPatWait.currentIndexChanged.connect(self.getPatViewerWaitParameters) + self.view.comboBoxPatLoop.currentIndexChanged.connect(self.getPatViewerLoopParameters) + + self.view.comboBoxPatColor.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.comboBoxPatWaitColor.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.comboBoxPatLoopColor.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.comboBoxPatWaitLineStyle.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.comboBoxPatLoopLineStyle.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxWaitAlpha.editingFinished.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxLoopAlpha.editingFinished.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxWaitAlphaRect.editingFinished.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxLoopAlphaRect.editingFinished.connect(self.updatePatViewerParameters) + self.view.spinBoxPatClockSpacing.editingFinished.connect(self.updatePatViewerParameters) + self.view.checkBoxPatShowClockNumber.stateChanged.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxLineWidth.editingFinished.connect(self.updatePatViewerParameters) + self.view.pushButtonViewPattern.clicked.connect(self.viewPattern) + + def refresh(self): + self.getPatLimitAddress() + for i in range(Defines.pattern.loops_count): + self.getPatLoopStartStopAddress(i) + self.getPatLoopWaitAddress(i) + self.getPatLoopRepetition(i) + self.getPatLoopWaitTime(i) + + # Pattern Tab functions + + def getPatLimitAddress(self): + retval = self.det.patlimits + self.view.lineEditStartAddress.editingFinished.disconnect() + self.view.lineEditStopAddress.editingFinished.disconnect() + self.view.lineEditStartAddress.setText("0x{:04x}".format(retval[0])) + self.view.lineEditStopAddress.setText("0x{:04x}".format(retval[1])) + self.view.lineEditStartAddress.editingFinished.connect(self.setPatLimitAddress) + self.view.lineEditStopAddress.editingFinished.connect(self.setPatLimitAddress) + + def setPatLimitAddress(self): + self.view.lineEditStartAddress.editingFinished.disconnect() + self.view.lineEditStopAddress.editingFinished.disconnect() + try: + start = int(self.view.lineEditStartAddress.text(), 16) + stop = int(self.view.lineEditStopAddress.text(), 16) + self.det.patlimits = [start, stop] + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Pattern Limit Address Fail", str(e), + QtWidgets.QMessageBox.Ok) + pass + # TODO: handling double event exceptions + self.view.lineEditStartAddress.editingFinished.connect(self.setPatLimitAddress) + self.view.lineEditStopAddress.editingFinished.connect(self.setPatLimitAddress) + self.getPatLimitAddress() + + def getPatLoopStartStopAddress(self, level): + retval = self.det.patloop[level] + lineEditStart = getattr(self.view, f"lineEditLoop{level}Start") + lineEditStop = getattr(self.view, f"lineEditLoop{level}Stop") + lineEditStart.editingFinished.disconnect() + lineEditStop.editingFinished.disconnect() + lineEditStart.setText("0x{:04x}".format(retval[0])) + lineEditStop.setText("0x{:04x}".format(retval[1])) + lineEditStart.editingFinished.connect(partial(self.setPatLoopStartStopAddress, level)) + lineEditStop.editingFinished.connect(partial(self.setPatLoopStartStopAddress, level)) + + def setPatLoopStartStopAddress(self, level): + lineEditStart = getattr(self.view, f"lineEditLoop{level}Start") + lineEditStop = getattr(self.view, f"lineEditLoop{level}Stop") + lineEditStart.editingFinished.disconnect() + lineEditStop.editingFinished.disconnect() + try: + start = int(lineEditStart.text(), 16) + stop = int(lineEditStop.text(), 16) + self.det.patloop[level] = [start, stop] + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Pattern Loop Start Stop Address Fail", str(e), + QtWidgets.QMessageBox.Ok) + pass + # TODO: handling double event exceptions + lineEditStart.editingFinished.connect(partial(self.setPatLoopStartStopAddress, level)) + lineEditStop.editingFinished.connect(partial(self.setPatLoopStartStopAddress, level)) + self.getPatLoopStartStopAddress(level) + + def getPatLoopWaitAddress(self, level): + retval = self.det.patwait[level] + lineEdit = getattr(self.view, f"lineEditLoop{level}Wait") + lineEdit.editingFinished.disconnect() + lineEdit.setText("0x{:04x}".format(retval)) + lineEdit.editingFinished.connect(partial(self.setPatLoopWaitAddress, level)) + + def setPatLoopWaitAddress(self, level): + lineEdit = getattr(self.view, f"lineEditLoop{level}Wait") + lineEdit.editingFinished.disconnect() + try: + addr = int(lineEdit.text(), 16) + self.det.patwait[level] = addr + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Pattern Wait Address Fail", str(e), + QtWidgets.QMessageBox.Ok) + pass + # TODO: handling double event exceptions + lineEdit.editingFinished.connect(partial(self.setPatLoopWaitAddress, level)) + self.getPatLoopWaitAddress(level) + + def getPatLoopRepetition(self, level): + retval = self.det.patnloop[level] + spinBox = getattr(self.view, f"spinBoxLoop{level}Repetition") + spinBox.editingFinished.disconnect() + spinBox.setValue(retval) + spinBox.editingFinished.connect(partial(self.setPatLoopRepetition, level)) + + def setPatLoopRepetition(self, level): + spinBox = getattr(self.view, f"spinBoxLoop{level}Repetition") + self.det.patnloop[level] = spinBox.value() + self.getPatLoopRepetition(level) + + def getPatLoopWaitTime(self, level): + retval = self.det.patwaittime[level] + spinBox = getattr(self.view, f"spinBoxLoop{level}WaitTime") + spinBox.editingFinished.disconnect() + spinBox.setValue(retval) + spinBox.editingFinished.connect(partial(self.setPatLoopWaitTime, level)) + + def setPatLoopWaitTime(self, level): + spinBox = getattr(self.view, f"spinBoxLoop{level}WaitTime") + self.det.patwaittime[level] = spinBox.value() + self.getPatLoopWaitTime(level) + + def setCompiler(self): + response = QtWidgets.QFileDialog.getOpenFileName( + parent=self.mainWindow, + caption="Select a compiler file", + directory=str(Path.cwd()), + # filter='README (*.md *.ui)' + ) + if response[0]: + self.view.lineEditCompiler.setText(response[0]) + + def setUncompiledPatternFile(self): + filt = 'Pattern code(*.py *.c)' + folder = Path(self.det.patfname[0]).parent + if not folder: + folder = Path.cwd() + response = QtWidgets.QFileDialog.getOpenFileName(parent=self.mainWindow, + caption="Select an uncompiled pattern file", + directory=str(folder), + filter=filt) + if response[0]: + self.view.lineEditUncompiled.setText(response[0]) + + def setPatternFile(self): + filt = 'Pattern file(*.pyat *.pat)' + folder = Path(self.det.patfname[0]).parent + if not folder: + folder = Path.cwd() + response = QtWidgets.QFileDialog.getOpenFileName(parent=self.mainWindow, + caption="Select a compiled pattern file", + directory=str(folder), + filter=filt) + if response[0]: + self.view.lineEditPatternFile.setText(response[0]) + + def compilePattern(self): + compilerFile = self.view.lineEditCompiler.text() + if not compilerFile: + QtWidgets.QMessageBox.warning(self.mainWindow, "Compile Fail", "No compiler selected. Please select one.", + QtWidgets.QMessageBox.Ok) + return "" + + pattern_file = self.view.lineEditUncompiled.text() + + # if old compile file exists, backup and remove to ensure old copy not loaded + oldFile = Path(pattern_file + 'at') + if oldFile.is_file(): + print("Moving old compiled pattern file to _bck") + exit_status = os.system('mv ' + str(oldFile) + ' ' + str(oldFile) + '_bkup') + if exit_status != 0: + retval = QtWidgets.QMessageBox.question( + self.mainWindow, "Backup Fail", + "Could not make a backup of old compiled code. Proceed anyway to compile and overwrite?", + QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No) + if retval == QtWidgets.QMessageBox.No: + return "" + + compileCommand = compilerFile + ' ' + pattern_file + print(compileCommand) + print("Compiling pattern code to .pat file") + exit_status = os.system(compileCommand) + if exit_status != 0: + QtWidgets.QMessageBox.warning(self.mainWindow, "Compile Fail", "Could not compile pattern.", + QtWidgets.QMessageBox.Ok) + return "" + pattern_file += 'at' + + return pattern_file + + def getCompiledPatFname(self): + if self.view.checkBoxCompile.isChecked(): + pattern_file = self.compilePattern() + # pat name from pattern field + else: + pattern_file = self.view.lineEditPatternFile.text() + if not pattern_file: + QtWidgets.QMessageBox.warning(self.mainWindow, "Pattern Fail", + "No pattern file selected. Please select one.", QtWidgets.QMessageBox.Ok) + return "" + return pattern_file + + def loadPattern(self): + pattern_file = self.getCompiledPatFname() + if not pattern_file: + return + # load pattern + self.det.pattern = pattern_file + self.view.lineEditPatternFile.setText(self.det.patfname[0]) + + def getPatViewerColors(self): + colorLevel = self.view.comboBoxPatColorSelect.currentIndex() + color = self.colors_plot[colorLevel] + self.view.comboBoxPatColor.currentIndexChanged.disconnect() + self.view.comboBoxPatColor.setCurrentIndex(Defines.Colors.index(color)) + self.view.comboBoxPatColor.currentIndexChanged.connect(self.updatePatViewerParameters) + + def getPatViewerWaitParameters(self): + waitLevel = self.view.comboBoxPatWait.currentIndex() + color = self.colors_wait[waitLevel] + line_style = self.linestyles_wait[waitLevel] + alpha = self.alpha_wait[waitLevel] + alpha_rect = self.alpha_wait_rect[waitLevel] + + self.view.comboBoxPatWaitColor.currentIndexChanged.disconnect() + self.view.comboBoxPatWaitLineStyle.currentIndexChanged.disconnect() + self.view.doubleSpinBoxWaitAlpha.editingFinished.disconnect() + self.view.doubleSpinBoxWaitAlphaRect.editingFinished.disconnect() + + self.view.comboBoxPatWaitColor.setCurrentIndex(Defines.Colors.index(color)) + self.view.comboBoxPatWaitLineStyle.setCurrentIndex(Defines.LineStyles.index(line_style)) + self.view.doubleSpinBoxWaitAlpha.setValue(alpha) + self.view.doubleSpinBoxWaitAlphaRect.setValue(alpha_rect) + + self.view.comboBoxPatWaitColor.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.comboBoxPatWaitLineStyle.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxWaitAlpha.editingFinished.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxWaitAlphaRect.editingFinished.connect(self.updatePatViewerParameters) + + def getPatViewerLoopParameters(self): + loopLevel = self.view.comboBoxPatLoop.currentIndex() + color = self.colors_loop[loopLevel] + line_style = self.linestyles_loop[loopLevel] + alpha = self.alpha_loop[loopLevel] + alpha_rect = self.alpha_loop_rect[loopLevel] + + self.view.comboBoxPatLoopColor.currentIndexChanged.disconnect() + self.view.comboBoxPatLoopLineStyle.currentIndexChanged.disconnect() + self.view.doubleSpinBoxLoopAlpha.editingFinished.disconnect() + self.view.doubleSpinBoxLoopAlphaRect.editingFinished.disconnect() + + self.view.comboBoxPatLoopColor.setCurrentIndex(Defines.Colors.index(color)) + self.view.comboBoxPatLoopLineStyle.setCurrentIndex(Defines.LineStyles.index(line_style)) + self.view.doubleSpinBoxLoopAlpha.setValue(alpha) + self.view.doubleSpinBoxLoopAlphaRect.setValue(alpha_rect) + + self.view.comboBoxPatLoopColor.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.comboBoxPatLoopLineStyle.currentIndexChanged.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxLoopAlpha.editingFinished.connect(self.updatePatViewerParameters) + self.view.doubleSpinBoxLoopAlphaRect.editingFinished.connect(self.updatePatViewerParameters) + + # only at start up + def updateDefaultPatViewerParameters(self): + self.colors_plot = Defines.Colors_plot.copy() + self.colors_wait = Defines.Colors_wait.copy() + self.linestyles_wait = Defines.Linestyles_wait.copy() + self.alpha_wait = Defines.Alpha_wait.copy() + self.alpha_wait_rect = Defines.Alpha_wait_rect.copy() + self.colors_loop = Defines.Colors_loop.copy() + self.linestyles_loop = Defines.Linestyles_loop.copy() + self.alpha_loop = Defines.Alpha_loop.copy() + self.alpha_loop_rect = Defines.Alpha_loop_rect.copy() + self.clock_vertical_lines_spacing = Defines.Clock_vertical_lines_spacing + self.show_clocks_number = Defines.Show_clocks_number + self.line_width = Defines.Line_width + + # print('default') + # self.printPatViewerParameters() + + def updatePatViewerParameters(self): + colorLevel = self.view.comboBoxPatColorSelect.currentIndex() + color = self.view.comboBoxPatColor.currentIndex() + # self.colors_plot[colorLevel] = f'tab:{Defines.Colors[color].lower()}' + self.colors_plot[colorLevel] = Defines.Colors[color] + + waitLevel = self.view.comboBoxPatWait.currentIndex() + color = self.view.comboBoxPatWaitColor.currentIndex() + line_style = self.view.comboBoxPatWaitLineStyle.currentIndex() + alpha = self.view.doubleSpinBoxWaitAlpha.value() + alpha_rect = self.view.doubleSpinBoxWaitAlphaRect.value() + + self.colors_wait[waitLevel] = Defines.Colors[color] + self.linestyles_wait[waitLevel] = Defines.LineStyles[line_style] + self.alpha_wait[waitLevel] = alpha + self.alpha_wait_rect[waitLevel] = alpha_rect + + loopLevel = self.view.comboBoxPatLoop.currentIndex() + color = self.view.comboBoxPatLoopColor.currentIndex() + line_style = self.view.comboBoxPatLoopLineStyle.currentIndex() + alpha = self.view.doubleSpinBoxLoopAlpha.value() + alpha_rect = self.view.doubleSpinBoxLoopAlphaRect.value() + + self.colors_loop[loopLevel] = Defines.Colors[color] + self.linestyles_loop[loopLevel] = Defines.LineStyles[line_style] + self.alpha_loop[loopLevel] = alpha + self.alpha_loop_rect[loopLevel] = alpha_rect + + self.clock_vertical_lines_spacing = self.view.spinBoxPatClockSpacing.value() + self.show_clocks_number = self.view.checkBoxPatShowClockNumber.isChecked() + self.line_width = self.view.doubleSpinBoxLineWidth.value() + + # for debugging + # self.printPatViewerParameters() + + def printPatViewerParameters(self): + print('Pattern Viewer Parameters:') + print(f'\tcolor1: {self.colors_plot[0]}, color2: {self.colors_plot[1]}') + print(f"\twait color: {self.colors_wait}") + print(f"\twait linestyles: {self.linestyles_wait}") + print(f"\twait alpha: {self.alpha_wait}") + print(f"\twait alpha rect: {self.alpha_wait_rect}") + print(f"\tloop color: {self.colors_loop}") + print(f"\tloop linestyles: {self.linestyles_loop}") + print(f"\tloop alpha: {self.alpha_loop}") + print(f"\tloop alpha rect: {self.alpha_loop_rect}") + print(f'\tclock vertical lines spacing: {self.clock_vertical_lines_spacing}') + print(f'\tshow clocks number: {self.show_clocks_number}') + print(f'\tline width: {self.line_width}') + print('\n') + + def viewPattern(self): + self.plotTab.showPatternViewer(True) + pattern_file = self.getCompiledPatFname() + if not pattern_file: + return + + signalNames = self.det.getSignalNames() + p = PlotPattern( + pattern_file, + signalNames, + self.colors_plot, + self.colors_wait, + self.linestyles_wait, + self.alpha_wait, + self.alpha_wait_rect, + self.colors_loop, + self.linestyles_loop, + self.alpha_loop, + self.alpha_loop_rect, + self.clock_vertical_lines_spacing, + self.show_clocks_number, + self.line_width, + ) + + plt.close(self.figure) + self.mainWindow.gridLayoutPatternViewer.removeWidget(self.canvas) + self.canvas.close() + self.mainWindow.gridLayoutPatternViewer.removeWidget(self.toolbar) + self.toolbar.close() + + try: + self.figure = p.patternPlot() + self.canvas = FigureCanvas(self.figure) + self.toolbar = NavigationToolbar(self.canvas, self.view) + self.mainWindow.gridLayoutPatternViewer.addWidget(self.toolbar) + self.mainWindow.gridLayoutPatternViewer.addWidget(self.canvas) + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Pattern Viewer Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + + def saveParameters(self) -> list[str]: + commands = [] + for i in range(Defines.pattern.loops_count): + commands.append(f"patnloop {i} {getattr(self.view, f'spinBoxLoop{i}Repetition').text()}") + commands.append(f"patloop {i} {getattr(self.view, f'lineEditLoop{i}Start').text()}, " + f"{getattr(self.view, f'lineEditLoop{i}Stop').text()}") + + commands.append(f"patwait {i} {getattr(self.view, f'lineEditLoop{i}Wait').text()}") + commands.append(f"patwaittime {i} {getattr(self.view, f'spinBoxLoop{i}WaitTime').text()}") + commands.append(f"patlimits {self.view.lineEditStartAddress.text()}, {self.view.lineEditStopAddress.text()}") + # commands.append(f"patfname {self.view.lineEditPatternFile.text()}") + return commands diff --git a/pyctbgui/pyctbgui/services/Plot.py b/pyctbgui/pyctbgui/services/Plot.py new file mode 100644 index 000000000..0dfedd205 --- /dev/null +++ b/pyctbgui/pyctbgui/services/Plot.py @@ -0,0 +1,519 @@ +import logging +from functools import partial +import random +from pathlib import Path + +import numpy as np +from PyQt5 import QtWidgets, QtGui, uic + +import pyqtgraph as pg +from pyctbgui.utils import recordOrApplyPedestal +from pyqtgraph import PlotWidget + +from pyctbgui.utils.defines import Defines + + +class PlotTab(QtWidgets.QWidget): + + def __init__(self, parent): + super().__init__(parent) + self.frame_min: float = 0.0 + self.frame_max: float = 0.0 + uic.loadUi(Path(__file__).parent.parent / 'ui' / "plot.ui", parent) + self.view = parent + self.mainWindow = None + self.det = None + self.signalsTab = None + self.transceiverTab = None + self.acquisitionTab = None + self.adcTab = None + self.cmin: float = 0.0 + self.cmax: float = 0.0 + self.colorRangeMode: Defines.colorRange = Defines.colorRange.all + self.ignoreHistogramSignal: bool = False + self.imagePlots: list[PlotWidget] = [] + # list of callback functions to notify tabs when we should hide their legend + # follows the observer design pattern + self.hideLegendObservers = [] + self.pedestalRecord: bool = False + self.pedestalApply: bool = True + self.__acqFrames = None + self.logger = logging.getLogger('PlotTab') + + def setup_ui(self): + self.signalsTab = self.mainWindow.signalsTab + self.transceiverTab = self.mainWindow.transceiverTab + self.acquisitionTab = self.mainWindow.acquisitionTab + self.adcTab = self.mainWindow.adcTab + self.initializeColorMaps() + + self.imagePlots = ( + self.mainWindow.plotAnalogImage, + self.mainWindow.plotDigitalImage, + self.mainWindow.plotTransceiverImage, + ) + + def connect_ui(self): + self.view.radioButtonNoPlot.clicked.connect(self.plotOptions) + self.view.radioButtonWaveform.clicked.connect(self.plotOptions) + self.view.radioButtonDistribution.clicked.connect(self.plotOptions) + self.view.radioButtonImage.clicked.connect(self.plotOptions) + self.view.comboBoxPlot.currentIndexChanged.connect(self.setPixelMap) + self.view.comboBoxColorMap.currentIndexChanged.connect(self.setColorMap) + self.view.comboBoxZMQHWM.currentIndexChanged.connect(self.setZMQHWM) + self.view.spinBoxSerialOffset.editingFinished.connect(self.setSerialOffset) + self.view.spinBoxNCount.editingFinished.connect(self.setNCounter) + self.view.spinBoxDynamicRange.editingFinished.connect(self.setDynamicRange) + self.view.spinBoxImageX.editingFinished.connect(self.setImageX) + self.view.spinBoxImageY.editingFinished.connect(self.setImageY) + + self.view.radioButtonPedestalRecord.toggled.connect(self.togglePedestalRecord) + self.view.radioButtonPedestalApply.toggled.connect(self.togglePedestalApply) + self.view.pushButtonPedestalReset.clicked.connect(self.resetPedestal) + self.view.pushButtonSavePedestal.clicked.connect(self.savePedestal) + self.view.pushButtonLoadPedestal.clicked.connect(self.loadPedestal) + + self.view.checkBoxRaw.stateChanged.connect(self.setRawData) + self.view.spinBoxRawMin.editingFinished.connect(self.setRawData) + self.view.spinBoxRawMax.editingFinished.connect(self.setRawData) + self.view.checkBoxPedestal.stateChanged.connect(self.setPedestalSubtract) + self.view.spinBoxPedestalMin.editingFinished.connect(self.setPedestalSubtract) + self.view.spinBoxPedestalMax.editingFinished.connect(self.setPedestalSubtract) + self.view.spinBoxFit.editingFinished.connect(self.setFitADC) + self.view.spinBoxPlot.editingFinished.connect(self.setPlotBit) + self.view.pushButtonReferesh.clicked.connect(self.acquisitionTab.refresh) + # color range widgets + self.view.cminSpinBox.editingFinished.connect(self.setCmin) + self.view.cmaxSpinBox.editingFinished.connect(self.setCmax) + self.view.radioButtonAutomatic.clicked.connect(partial(self.setColorRangeMode, Defines.colorRange.all)) + self.view.radioButtonFixed.clicked.connect(partial(self.setColorRangeMode, Defines.colorRange.fixed)) + self.view.radioButtonCenter.clicked.connect(partial(self.setColorRangeMode, Defines.colorRange.center)) + + for plot in self.imagePlots: + plot.scene.sigMouseMoved.connect(partial(self.showPlotValues, plot)) + plot.getHistogramWidget().item.sigLevelChangeFinished.connect(partial(self.handleHistogramChange, plot)) + + self.view.checkBoxShowLegend.stateChanged.connect(self.toggleLegend) + + def refresh(self): + self.getZMQHWM() + + def initializeColorMaps(self): + self.view.comboBoxColorMap.addItems(Defines.Color_map) + self.view.comboBoxColorMap.setCurrentIndex(Defines.Color_map.index(Defines.Default_Color_Map)) + self.setColorMap() + + def savePedestal(self): + """ + slot function to save pedestal values + """ + response = QtWidgets.QFileDialog.getSaveFileName(self.view, "Save Pedestal", str(self.det.fpath)) + recordOrApplyPedestal.savePedestal(Path(response[0])) + self.logger.info(f'saved Pedestal in {response[0]}') + + def loadPedestal(self): + """ + slot function to load pedestal values + """ + response = QtWidgets.QFileDialog.getOpenFileName(self.view, "Load Pedestal", str(self.det.fpath)) + if response[0] == '': + return + recordOrApplyPedestal.reset(self) + try: + recordOrApplyPedestal.loadPedestal(Path(response[0])) + except (IsADirectoryError, ValueError, EOFError): + QtWidgets.QMessageBox.warning( + self.view, + "Loading Pedestal Failed", + "Loading Pedestal failed make sure the file is in the valid .npy format", + QtWidgets.QMessageBox.Ok, + ) + self.logger.exception("Exception when loading pedestal") + else: + self.logger.info(f'loaded Pedestal from {response[0]}') + self.updateLabelPedestalFrames(True) + + def togglePedestalRecord(self): + """ + slot function for pedestal record radio button + toggle pedestal record variable and disables the frames spinboxes in acquisition tab or plot tab depenging on + the mode + """ + self.pedestalRecord = not self.pedestalRecord + + def togglePedestalApply(self): + """ + slot function for pedestal apply radio button + """ + self.pedestalApply = not self.pedestalApply + + def resetPedestal(self): + """ + slot function for resetting the pedestal + """ + recordOrApplyPedestal.reset(self) + + def updateLabelPedestalFrames(self, loadedPedestal=False): + """ + updates labelPedestalFrames to the length of savedFrames + """ + if loadedPedestal: + self.view.labelPedestalFrames.setText('using loaded pedestal file') + else: + self.view.labelPedestalFrames.setText(f'recorded frames: {recordOrApplyPedestal.getFramesCount()}') + + def subscribeToggleLegend(self, fn_cbk): + """ + subscribe to the event of toggling the hide legend checkbox by subscribing + with a callback function + """ + self.hideLegendObservers.append(fn_cbk) + + def toggleLegend(self): + """ + notify subscribers for the showLegend checkbox event by executing their callbacks + """ + self.mainWindow.showLegend = not self.mainWindow.showLegend + for notify_function in self.hideLegendObservers: + notify_function() + + def setCmin(self, value=None): + """ + slot for setting cmin from cminSpinBox + also used as a normal function + """ + if value is None: + self.cmin = self.view.cminSpinBox.value() + else: + self.cmin = value + self.updateColorRangeUI() + + def setCmax(self, value=None): + """ + slot for setting cmax from cmaxSpinBox + also used as a normal function + """ + if value is None: + self.cmax = self.view.cmaxSpinBox.value() + else: + self.cmax = value + self.updateColorRangeUI() + + def setColorRangeMode(self, mode): + """ + slot for setting the color range mode (all,fixed,3-97%) + """ + self.colorRangeMode = mode + + # disable or enable cmin/cmax spinboxes + enableSpinBoxes = mode == Defines.colorRange.fixed + self.view.cminSpinBox.setEnabled(enableSpinBoxes) + self.view.cmaxSpinBox.setEnabled(enableSpinBoxes) + self.updateColorRange() + self.updateColorRangeUI() + + def handleHistogramChange(self, plot): + """ + slot called after changing the color bar + This is called even when pyqtgraph sets the image without any user intervention + the class attribute ignore_histogram_signal is set to False before setting the image + so that we can distinguish between the signal originates from pyqt or from the user + """ + if not self.ignoreHistogramSignal: + self.cmin, self.cmax = plot.getHistogramWidget().item.getLevels() + self.setCmin(self.cmin) + self.setCmax(self.cmax) + + self.ignoreHistogramSignal = False + # self.setColorRangeMode(Defines.colorRange.fixed) + + def setFrameLimits(self, frame): + """ + function called from AcquisitionTab::read_zmq to get the maximum and minimum + values of the decoded frame and save them in frame_min/frame_max + """ + self.frame_min = np.min(frame) + self.frame_max = np.max(frame) + self.updateColorRange() + + def updateColorRange(self): + """ + for mode: + - all: sets cmin and cmax to the maximums/minimum values of the frame + - 3-97%: limits cmax and cmin so that we ignore 3% from each end of the whole range + - fixed: this function does not change cmin and cmax + """ + + if self.colorRangeMode == Defines.colorRange.all: + self.cmin = self.frame_min + self.cmax = self.frame_max + elif self.colorRangeMode == Defines.colorRange.center: + self.cmin = self.frame_min + 0.03 * (self.frame_max - self.frame_min) + self.cmax = self.frame_max - 0.03 * (self.frame_max - self.frame_min) + + self.updateColorRangeUI() + + def updateColorRangeUI(self): + """ + updates UI views should be called after every change to cmin or cmax + """ + for plot in self.imagePlots: + plot.getHistogramWidget().item.setLevels(min=self.cmin, max=self.cmax) + self.view.cminSpinBox.setValue(self.cmin) + self.view.cmaxSpinBox.setValue(self.cmax) + + def setColorMap(self): + cm = pg.colormap.getFromMatplotlib(self.view.comboBoxColorMap.currentText()) + # print(f'color map:{self.comboBoxColorMap.currentText()}') + self.mainWindow.plotAnalogImage.setColorMap(cm) + self.mainWindow.plotDigitalImage.setColorMap(cm) + self.mainWindow.plotTransceiverImage.setColorMap(cm) + + def getZMQHWM(self): + + self.view.comboBoxZMQHWM.currentIndexChanged.disconnect() + + rx_zmq_hwm = self.det.getRxZmqHwm()[0] + # ensure same value in client zmq + self.det.setClientZmqHwm(rx_zmq_hwm) + + # high readout, low HWM + if -1 < rx_zmq_hwm < 25: + self.view.comboBoxZMQHWM.setCurrentIndex(1) + # low readout, high HWM + else: + self.view.comboBoxZMQHWM.setCurrentIndex(0) + self.view.comboBoxZMQHWM.currentIndexChanged.connect(self.setZMQHWM) + + def setZMQHWM(self): + val = self.view.comboBoxZMQHWM.currentIndex() + # low readout, high HWM + if val == 0: + self.det.setRxZmqHwm(Defines.Zmq_hwm_low_speed) + self.det.setClientZmqHwm(Defines.Zmq_hwm_low_speed) + # high readout, low HWM + else: + self.det.setRxZmqHwm(Defines.Zmq_hwm_high_speed) + self.det.setClientZmqHwm(Defines.Zmq_hwm_high_speed) + + self.getZMQHWM() + + def addSelectedAnalogPlots(self, i): + enable = getattr(self.adcTab.view, f"checkBoxADC{i}Plot").isChecked() + if enable: + self.mainWindow.analogPlots[i].show() + if not enable: + self.mainWindow.analogPlots[i].hide() + + def addAllSelectedAnalogPlots(self): + for i in range(Defines.adc.count): + self.addSelectedAnalogPlots(i) + + def removeAllAnalogPlots(self): + for i in range(Defines.adc.count): + self.mainWindow.analogPlots[i].hide() + + cm = pg.colormap.get('CET-L9') # prepare a linear color map + self.mainWindow.plotDigitalImage.setColorMap(cm) + + def addSelectedDigitalPlots(self, i): + enable = getattr(self.signalsTab.view, f"checkBoxBIT{i}Plot").isChecked() + if enable: + self.mainWindow.digitalPlots[i].show() + if not enable: + self.mainWindow.digitalPlots[i].hide() + + def addAllSelectedDigitalPlots(self): + for i in range(Defines.signals.count): + self.addSelectedDigitalPlots(i) + + def removeAllDigitalPlots(self): + for i in range(Defines.signals.count): + self.mainWindow.digitalPlots[i].hide() + + def addSelectedTransceiverPlots(self, i): + enable = getattr(self.transceiverTab.view, f"checkBoxTransceiver{i}Plot").isChecked() + if enable: + self.mainWindow.transceiverPlots[i].show() + if not enable: + self.mainWindow.transceiverPlots[i].hide() + + def addAllSelectedTransceiverPlots(self): + for i in range(Defines.transceiver.count): + self.addSelectedTransceiverPlots(i) + + def removeAllTransceiverPlots(self): + for i in range(Defines.transceiver.count): + self.mainWindow.transceiverPlots[i].hide() + + def showPlot(self): + self.mainWindow.plotAnalogWaveform.hide() + self.mainWindow.plotDigitalWaveform.hide() + self.mainWindow.plotTransceiverWaveform.hide() + self.mainWindow.plotAnalogImage.hide() + self.mainWindow.plotDigitalImage.hide() + self.mainWindow.plotTransceiverImage.hide() + self.view.labelDigitalWaveformOption.setDisabled(True) + self.view.radioButtonOverlay.setDisabled(True) + self.view.radioButtonStripe.setDisabled(True) + + if self.mainWindow.romode.value in [0, 2]: + if self.view.radioButtonWaveform.isChecked(): + self.mainWindow.plotAnalogWaveform.show() + elif self.view.radioButtonImage.isChecked(): + self.mainWindow.plotAnalogImage.show() + if self.mainWindow.romode.value in [1, 2, 4]: + if self.view.radioButtonWaveform.isChecked(): + self.mainWindow.plotDigitalWaveform.show() + elif self.view.radioButtonImage.isChecked(): + self.mainWindow.plotDigitalImage.show() + self.view.labelDigitalWaveformOption.setEnabled(True) + self.view.radioButtonOverlay.setEnabled(True) + self.view.radioButtonStripe.setEnabled(True) + + if self.mainWindow.romode.value in [3, 4]: + if self.view.radioButtonWaveform.isChecked(): + self.mainWindow.plotTransceiverWaveform.show() + elif self.view.radioButtonImage.isChecked(): + self.mainWindow.plotTransceiverImage.show() + + def plotOptions(self): + + self.mainWindow.framePatternViewer.hide() + self.showPlot() + + # disable plotting + self.mainWindow.read_timer.stop() + + if self.view.radioButtonWaveform.isChecked(): + self.mainWindow.plotAnalogWaveform.setLabel( + 'left', "Output [ADC]") + self.mainWindow.plotAnalogWaveform.setLabel( + 'bottom', "Analog Sample [#]") + self.mainWindow.plotDigitalWaveform.setLabel( + 'left', "Digital Bit") + self.mainWindow.plotDigitalWaveform.setLabel( + 'bottom', "Digital Sample [#]") + self.mainWindow.plotTransceiverWaveform.setLabel( + 'left', "Transceiver Bit") + self.mainWindow.plotTransceiverWaveform.setLabel( + 'bottom', "Transceiver Sample [#]") + + self.view.stackedWidgetPlotType.setCurrentIndex(0) + + elif self.view.radioButtonImage.isChecked(): + self.view.stackedWidgetPlotType.setCurrentIndex(2) + self.setPixelMap() + + if self.view.radioButtonNoPlot.isChecked(): + self.view.labelPlotOptions.hide() + self.view.stackedWidgetPlotType.hide() + # enable plotting + else: + self.view.labelPlotOptions.show() + self.view.stackedWidgetPlotType.show() + self.mainWindow.read_timer.start(Defines.Time_Plot_Refresh_ms) + + def setPixelMap(self): + if self.view.comboBoxPlot.currentText() == "Matterhorn": + self.mainWindow.nTransceiverRows = Defines.Matterhorn.nRows + self.mainWindow.nTransceiverCols = Defines.Matterhorn.nCols + elif self.view.comboBoxPlot.currentText() == "Moench04": + self.mainWindow.nAnalogRows = Defines.Moench04.nRows + self.mainWindow.nAnalogCols = Defines.Moench04.nCols + + def showPatternViewer(self, enable): + if enable: + self.mainWindow.framePatternViewer.show() + self.mainWindow.framePlot.hide() + elif self.mainWindow.framePatternViewer.isVisible(): + self.mainWindow.framePatternViewer.hide() + self.mainWindow.framePlot.show() + self.showPlot() + + def setSerialOffset(self): + print("plot options - Not implemented yet") + # TODO: + + def setNCounter(self): + print("plot options - Not implemented yet") + # TODO: + + def setDynamicRange(self): + print("plot options - Not implemented yet") + # TODO: + + def setImageX(self): + print("plot options - Not implemented yet") + # TODO: + + def setImageY(self): + print("plot options - Not implemented yet") + # TODO: + + def setRawData(self): + print("plot options - Not implemented yet") + # TODO: raw data, min, max + + def setPedestalSubtract(self): + print("plot options - Not implemented yet") + # TODO: pedestal, min, max + + def setFitADC(self): + print("plot options - Not implemented yet") + # TODO: + + def setPlotBit(self): + print("plot options - Not implemented yet") + # TODO: + + def getRandomColor(self): + ''' + Returns a random color range (except white) in format string eg. "#aabbcc" + ''' + randomColor = random.randrange(0, 0xffffaa, 0xaa) + return "#{:06x}".format(randomColor) + + def getActiveColor(self, button): + return button.palette().color(QtGui.QPalette.Window) + + def setActiveColor(self, button, str_color): + button.setStyleSheet(":enabled {background-color: %s" % str_color + "} :disabled {background-color: grey}") + + def showPalette(self, button): + color = QtWidgets.QColorDialog.getColor() + if color.isValid(): + self.setActiveColor(button, color.name()) + # get the RGB Values + # print(color.getRgb()) + + def showPlotValues(self, sender, pos): + x = sender.getImageItem().mapFromScene(pos).x() + y = sender.getImageItem().mapFromScene(pos).y() + val = 0 + nMaxY = self.mainWindow.nAnalogRows + nMaxX = self.mainWindow.nAnalogCols + frame = self.mainWindow.analog_frame + if sender == self.mainWindow.plotDigitalImage: + nMaxY = self.mainWindow.nDigitalRows + nMaxX = self.mainWindow.nDigitalCols + frame = self.mainWindow.digital_frame + elif sender == self.mainWindow.plotTransceiverImage: + nMaxY = self.mainWindow.nTransceiverRows + nMaxX = self.mainWindow.nTransceiverCols + frame = self.mainWindow.transceiver_frame + if 0 <= x < nMaxX and 0 <= y < nMaxY and not np.array_equal(frame, []): + val = frame[int(x), int(y)] + message = f'[{x:.2f}, {y:.2f}] = {val:.2f}' + sender.setToolTip(message) + # print(message) + else: + sender.setToolTip('') + + def saveParameters(self): + commands = [] + if self.view.comboBoxZMQHWM.currentIndex() == 0: + commands.append(f"zmqhwm {Defines.Zmq_hwm_low_speed}") + else: + commands.append(f"zmqhwm {Defines.Zmq_hwm_high_speed}") + return commands diff --git a/pyctbgui/pyctbgui/services/PowerSupplies.py b/pyctbgui/pyctbgui/services/PowerSupplies.py new file mode 100644 index 000000000..ec8d2f5dd --- /dev/null +++ b/pyctbgui/pyctbgui/services/PowerSupplies.py @@ -0,0 +1,123 @@ +from functools import partial +from pathlib import Path + +from PyQt5 import QtWidgets, uic +from pyctbgui.utils.defines import Defines + +from slsdet import dacIndex + + +class PowerSuppliesTab(QtWidgets.QWidget): + + def __init__(self, parent): + super().__init__(parent) + uic.loadUi(Path(__file__).parent.parent / 'ui' / "powerSupplies.ui", parent) + self.view = parent + + def refresh(self): + self.updateVoltageNames() + for i in Defines.powerSupplies: + self.getVoltage(i) + self.getCurrent(i) + + def connect_ui(self): + for i in Defines.powerSupplies: + spinBox = getattr(self.view, f"spinBoxV{i}") + checkBox = getattr(self.view, f"checkBoxV{i}") + spinBox.editingFinished.connect(partial(self.setVoltage, i)) + checkBox.stateChanged.connect(partial(self.setVoltage, i)) + self.view.pushButtonPowerOff.clicked.connect(self.powerOff) + + def setup_ui(self): + for i in Defines.powerSupplies: + dac = getattr(dacIndex, f"V_POWER_{i}") + spinBox = getattr(self.view, f"spinBoxV{i}") + checkBox = getattr(self.view, f"checkBoxV{i}") + retval = self.det.getPower(dac)[0] + spinBox.setValue(retval) + if retval == 0: + checkBox.setChecked(False) + spinBox.setDisabled(True) + + def updateVoltageNames(self): + retval = self.det.getPowerNames() + getattr(self.view, "checkBoxVA").setText(retval[0]) + getattr(self.view, "checkBoxVB").setText(retval[1]) + getattr(self.view, "checkBoxVC").setText(retval[2]) + getattr(self.view, "checkBoxVD").setText(retval[3]) + getattr(self.view, "checkBoxVIO").setText(retval[4]) + + def getVoltage(self, i): + spinBox = getattr(self.view, f"spinBoxV{i}") + checkBox = getattr(self.view, f"checkBoxV{i}") + voltageIndex = getattr(dacIndex, f"V_POWER_{i}") + label = getattr(self.view, f"labelV{i}") + + spinBox.editingFinished.disconnect() + checkBox.stateChanged.disconnect() + + retval = self.det.getMeasuredPower(voltageIndex)[0] + # spinBox.setValue(retval) + if retval > 1: + checkBox.setChecked(True) + if checkBox.isChecked(): + spinBox.setEnabled(True) + else: + spinBox.setDisabled(True) + label.setText(f'{str(retval)} mV') + + spinBox.editingFinished.connect(partial(self.setVoltage, i)) + checkBox.stateChanged.connect(partial(self.setVoltage, i)) + + self.getVChip() + + # TODO: handle multiple events when pressing enter (twice) + + def setVoltage(self, i): + checkBox = getattr(self.view, f"checkBoxV{i}") + spinBox = getattr(self.view, f"spinBoxV{i}") + voltageIndex = getattr(dacIndex, f"V_POWER_{i}") + spinBox.editingFinished.disconnect() + + value = 0 + if checkBox.isChecked(): + value = spinBox.value() + try: + self.det.setPower(voltageIndex, value) + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Voltage Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + + # TODO: (properly) disconnecting and connecting to handle multiple events (out of focus and pressing enter). + spinBox.editingFinished.connect(partial(self.setVoltage, i)) + self.getVoltage(i) + self.getCurrent(i) + + def getCurrent(self, i): + label = getattr(self.view, f"labelI{i}") + currentIndex = getattr(dacIndex, f"I_POWER_{i}") + retval = self.det.getMeasuredCurrent(currentIndex)[0] + label.setText(f'{str(retval)} mA') + + def getVChip(self): + self.view.spinBoxVChip.setValue(self.det.getPower(dacIndex.V_POWER_CHIP)[0]) + + def powerOff(self): + for i in Defines.powerSupplies: + # set all voltages to 0 + checkBox = getattr(self.view, f"checkBoxV{i}") + checkBox.stateChanged.disconnect() + checkBox.setChecked(False) + checkBox.stateChanged.connect(partial(self.setVoltage, i)) + self.setVoltage(i) + + def saveParameters(self) -> list: + commands = [] + for i in Defines.powerSupplies: + enabled = getattr(self.view, f"checkBoxV{i}").isChecked() + if enabled: + value = getattr(self.view, f"spinBoxV{i}").value() + commands.append(f"v_{i.lower()} {value}") + else: + commands.append(f"v_{i.lower()} 0") + return commands diff --git a/pyctbgui/pyctbgui/services/Signals.py b/pyctbgui/pyctbgui/services/Signals.py new file mode 100644 index 000000000..a06b9a412 --- /dev/null +++ b/pyctbgui/pyctbgui/services/Signals.py @@ -0,0 +1,373 @@ +from functools import partial +from pathlib import Path + +import numpy as np +from PyQt5 import QtWidgets, uic +import pyqtgraph as pg +from pyqtgraph import LegendItem + +from pyctbgui.utils.bit_utils import bit_is_set, manipulate_bit +from pyctbgui.utils.defines import Defines +from pyctbgui.utils.recordOrApplyPedestal import recordOrApplyPedestal + + +class SignalsTab(QtWidgets.QWidget): + + def __init__(self, parent): + super().__init__(parent) + uic.loadUi(Path(__file__).parent.parent / 'ui' / "signals.ui", parent) + self.view = parent + self.mainWindow = None + self.det = None + self.plotTab = None + self.legend: LegendItem | None = None + self.rx_dbitoffset = None + self.rx_dbitlist = None + + def refresh(self): + self.updateSignalNames() + self.updateDigitalBitEnable() + self.updateIOOut() + self.getDBitOffset() + + def connect_ui(self): + for i in range(Defines.signals.count): + getattr(self.view, f"checkBoxBIT{i}DB").stateChanged.connect(partial(self.setDigitalBitEnable, i)) + getattr(self.view, f"checkBoxBIT{i}Out").stateChanged.connect(partial(self.setIOOut, i)) + getattr(self.view, f"checkBoxBIT{i}Plot").stateChanged.connect(partial(self.setEnableBitPlot, i)) + getattr(self.view, f"pushButtonBIT{i}").clicked.connect(partial(self.selectBitColor, i)) + self.view.checkBoxBIT0_31DB.stateChanged.connect( + partial(self.setDigitalBitEnableRange, 0, Defines.signals.half)) + self.view.checkBoxBIT32_63DB.stateChanged.connect( + partial(self.setDigitalBitEnableRange, Defines.signals.half, Defines.signals.count)) + self.view.checkBoxBIT0_31Plot.stateChanged.connect(partial(self.setEnableBitPlotRange, 0, + Defines.signals.half)) + self.view.checkBoxBIT32_63Plot.stateChanged.connect( + partial(self.setEnableBitPlotRange, Defines.signals.half, Defines.signals.count)) + self.view.checkBoxBIT0_31Out.stateChanged.connect(partial(self.setIOOutRange, 0, Defines.signals.half)) + self.view.checkBoxBIT32_63Out.stateChanged.connect( + partial(self.setIOOutRange, Defines.signals.half, Defines.signals.count)) + self.view.lineEditPatIOCtrl.editingFinished.connect(self.setIOOutReg) + self.view.spinBoxDBitOffset.editingFinished.connect(self.setDbitOffset) + + def setup_ui(self): + self.plotTab = self.mainWindow.plotTab + + for i in range(Defines.signals.count): + self.setDBitButtonColor(i, self.plotTab.getRandomColor()) + + self.initializeAllDigitalPlots() + + self.legend = self.mainWindow.plotDigitalWaveform.getPlotItem().legend + self.legend.clear() + # subscribe to toggle legend + self.plotTab.subscribeToggleLegend(self.updateLegend) + + def getEnabledPlots(self): + """ + return plots that are shown (checkBoxTransceiver{i}Plot is checked) + """ + enabledPlots = [] + self.legend.clear() + for i in range(Defines.signals.count): + if getattr(self.view, f'checkBoxBIT{i}Plot').isChecked(): + plotName = getattr(self.view, f"labelBIT{i}").text() + enabledPlots.append((self.mainWindow.digitalPlots[i], plotName)) + return enabledPlots + + def updateLegend(self): + """ + update the legend for the signals waveform plot + should be called after checking or unchecking plot checkbox + """ + if not self.mainWindow.showLegend: + self.legend.clear() + else: + for plot, name in self.getEnabledPlots(): + self.legend.addItem(plot, name) + + @recordOrApplyPedestal + def _processWaveformData(self, data, aSamples, dSamples, rx_dbitlist, isPlottedArray, rx_dbitoffset, romode, + nADCEnabled): + """ + transform raw waveform data into a processed numpy array + @param data: raw waveform data + """ + dbitoffset = rx_dbitoffset + if romode == 2: + dbitoffset += nADCEnabled * 2 * aSamples + digital_array = np.array(np.frombuffer(data, offset=dbitoffset, dtype=np.uint8)) + nbitsPerDBit = dSamples + if nbitsPerDBit % 8 != 0: + nbitsPerDBit += (8 - (dSamples % 8)) + offset = 0 + arr = [] + for i in rx_dbitlist: + # where numbits * numsamples is not a multiple of 8 + if offset % 8 != 0: + offset += (8 - (offset % 8)) + if not isPlottedArray[i]: + offset += nbitsPerDBit + return None + waveform = np.zeros(dSamples) + for iSample in range(dSamples): + # all samples for digital bit together from slsReceiver + index = int(offset / 8) + iBit = offset % 8 + bit = (digital_array[index] >> iBit) & 1 + waveform[iSample] = bit + offset += 1 + arr.append(waveform) + + return np.array(arr) + + def processWaveformData(self, data, aSamples, dSamples): + """ + view function + plots processed waveform data + data: raw waveform data + dsamples: digital samples + asamples: analog samples + """ + waveforms = {} + isPlottedArray = {i: getattr(self.view, f"checkBoxBIT{i}Plot").isChecked() for i in self.rx_dbitlist} + + digital_array = self._processWaveformData(data, aSamples, dSamples, self.rx_dbitlist, isPlottedArray, + self.rx_dbitoffset, self.mainWindow.romode.value, + self.mainWindow.nADCEnabled) + + irow = 0 + for idx, i in enumerate(self.rx_dbitlist): + # bits enabled but not plotting + waveform = digital_array[idx] + if waveform is None: + continue + self.mainWindow.digitalPlots[i].setData(waveform) + plotName = getattr(self.view, f"labelBIT{i}").text() + waveforms[plotName] = waveform + # TODO: left axis does not show 0 to 1, but keeps increasing + if self.plotTab.view.radioButtonStripe.isChecked(): + self.mainWindow.digitalPlots[i].setY(irow * 2) + irow += 1 + else: + self.mainWindow.digitalPlots[i].setY(0) + return waveforms + + def initializeAllDigitalPlots(self): + self.mainWindow.plotDigitalWaveform = pg.plot() + self.mainWindow.plotDigitalWaveform.addLegend(colCount=Defines.colCount) + self.mainWindow.verticalLayoutPlot.addWidget(self.mainWindow.plotDigitalWaveform, 3) + self.mainWindow.digitalPlots = {} + waveform = np.zeros(1000) + for i in range(Defines.signals.count): + pen = pg.mkPen(color=self.getDBitButtonColor(i), width=1) + legendName = getattr(self.view, f"labelBIT{i}").text() + self.mainWindow.digitalPlots[i] = self.mainWindow.plotDigitalWaveform.plot(waveform, + pen=pen, + name=legendName, + stepMode="left") + self.mainWindow.digitalPlots[i].hide() + + self.mainWindow.plotDigitalImage = pg.ImageView() + self.mainWindow.nDigitalRows = 0 + self.mainWindow.nDigitalCols = 0 + self.mainWindow.digital_frame = np.zeros((self.mainWindow.nDigitalRows, self.mainWindow.nDigitalCols)) + self.mainWindow.plotDigitalImage.setImage(self.mainWindow.digital_frame) + self.mainWindow.verticalLayoutPlot.addWidget(self.mainWindow.plotDigitalImage, 4) + + def updateSignalNames(self): + for i, name in enumerate(self.det.getSignalNames()): + getattr(self.view, f"labelBIT{i}").setText(name) + + def getDigitalBitEnable(self, i, dbitList): + checkBox = getattr(self.view, f"checkBoxBIT{i}DB") + checkBox.stateChanged.disconnect() + checkBox.setChecked(i in list(dbitList)) + checkBox.stateChanged.connect(partial(self.setDigitalBitEnable, i)) + + def updateDigitalBitEnable(self): + retval = self.det.rx_dbitlist + self.rx_dbitlist = list(retval) + self.mainWindow.nDBitEnabled = len(list(retval)) + for i in range(Defines.signals.count): + self.getDigitalBitEnable(i, retval) + self.getEnableBitPlot(i) + self.getEnableBitColor(i) + self.plotTab.addSelectedDigitalPlots(i) + self.getDigitalBitEnableRange(retval) + self.getEnableBitPlotRange() + + def setDigitalBitEnable(self, i): + bitList = self.det.rx_dbitlist + checkBox = getattr(self.view, f"checkBoxBIT{i}DB") + if checkBox.isChecked(): + bitList.append(i) + else: + bitList.remove(i) + self.det.rx_dbitlist = bitList + + self.updateDigitalBitEnable() + + def getDigitalBitEnableRange(self, dbitList): + self.view.checkBoxBIT0_31DB.stateChanged.disconnect() + self.view.checkBoxBIT32_63DB.stateChanged.disconnect() + self.view.checkBoxBIT0_31DB.setChecked(all(x in list(dbitList) for x in range(Defines.signals.half))) + self.view.checkBoxBIT32_63DB.setChecked( + all(x in list(dbitList) for x in range(Defines.signals.half, Defines.signals.count))) + self.view.checkBoxBIT0_31DB.stateChanged.connect( + partial(self.setDigitalBitEnableRange, 0, Defines.signals.half)) + self.view.checkBoxBIT32_63DB.stateChanged.connect( + partial(self.setDigitalBitEnableRange, Defines.signals.half, Defines.signals.count)) + + def setDigitalBitEnableRange(self, start_nr, end_nr): + bitList = self.det.rx_dbitlist + checkBox = getattr(self.view, f"checkBoxBIT{start_nr}_{end_nr - 1}DB") + for i in range(start_nr, end_nr): + if checkBox.isChecked(): + if i not in list(bitList): + bitList.append(i) + else: + if i in list(bitList): + bitList.remove(i) + self.det.rx_dbitlist = bitList + + self.updateDigitalBitEnable() + + def getEnableBitPlot(self, i): + checkBox = getattr(self.view, f"checkBoxBIT{i}DB") + checkBoxPlot = getattr(self.view, f"checkBoxBIT{i}Plot") + checkBoxPlot.setEnabled(checkBox.isChecked()) + + def setEnableBitPlot(self, i): + pushButton = getattr(self.view, f"pushButtonBIT{i}") + checkBox = getattr(self.view, f"checkBoxBIT{i}Plot") + pushButton.setEnabled(checkBox.isChecked()) + + self.getEnableBitPlotRange() + self.plotTab.addSelectedDigitalPlots(i) + self.updateLegend() + + def getEnableBitPlotRange(self): + self.view.checkBoxBIT0_31Plot.stateChanged.disconnect() + self.view.checkBoxBIT32_63Plot.stateChanged.disconnect() + self.view.checkBoxBIT0_31Plot.setEnabled( + all(getattr(self.view, f"checkBoxBIT{i}Plot").isEnabled() for i in range(Defines.signals.half))) + self.view.checkBoxBIT32_63Plot.setEnabled( + all( + getattr(self.view, f"checkBoxBIT{i}Plot").isEnabled() + for i in range(Defines.signals.half, Defines.signals.count))) + self.view.checkBoxBIT0_31Plot.setChecked( + all(getattr(self.view, f"checkBoxBIT{i}Plot").isChecked() for i in range(Defines.signals.half))) + self.view.checkBoxBIT32_63Plot.setChecked( + all( + getattr(self.view, f"checkBoxBIT{i}Plot").isChecked() + for i in range(Defines.signals.half, Defines.signals.count))) + self.view.checkBoxBIT0_31Plot.stateChanged.connect(partial(self.setEnableBitPlotRange, 0, + Defines.signals.half)) + self.view.checkBoxBIT32_63Plot.stateChanged.connect( + partial(self.setEnableBitPlotRange, Defines.signals.half, Defines.signals.count)) + + def setEnableBitPlotRange(self, start_nr, end_nr): + checkBox = getattr(self.view, f"checkBoxBIT{start_nr}_{end_nr - 1}Plot") + enable = checkBox.isChecked() + for i in range(start_nr, end_nr): + checkBox = getattr(self.view, f"checkBoxBIT{i}Plot") + checkBox.setChecked(enable) + self.plotTab.addAllSelectedDigitalPlots() + + def getEnableBitColor(self, i): + checkBox = getattr(self.view, f"checkBoxBIT{i}Plot") + pushButton = getattr(self.view, f"pushButtonBIT{i}") + pushButton.setEnabled(checkBox.isEnabled() and checkBox.isChecked()) + + def selectBitColor(self, i): + pushButton = getattr(self.view, f"pushButtonBIT{i}") + self.plotTab.showPalette(pushButton) + pen = pg.mkPen(color=self.getDBitButtonColor(i), width=1) + self.mainWindow.digitalPlots[i].setPen(pen) + + def getDBitButtonColor(self, i): + pushButton = getattr(self.view, f"pushButtonBIT{i}") + return self.plotTab.getActiveColor(pushButton) + + def setDBitButtonColor(self, i, color): + pushButton = getattr(self.view, f"pushButtonBIT{i}") + return self.plotTab.setActiveColor(pushButton, color) + + def getIOOutReg(self): + retval = self.det.patioctrl + self.view.lineEditPatIOCtrl.editingFinished.disconnect() + self.view.lineEditPatIOCtrl.setText("0x{:016x}".format(retval)) + self.view.lineEditPatIOCtrl.editingFinished.connect(self.setIOOutReg) + return retval + + def setIOOutReg(self): + self.view.lineEditPatIOCtrl.editingFinished.disconnect() + try: + self.det.patioctrl = int(self.view.lineEditPatIOCtrl.text(), 16) + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "IO Out Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + # TODO: handling double event exceptions + self.view.lineEditPatIOCtrl.editingFinished.connect(self.setIOOutReg) + self.updateIOOut() + + def updateCheckBoxIOOut(self, i, out): + checkBox = getattr(self.view, f"checkBoxBIT{i}Out") + checkBox.stateChanged.disconnect() + checkBox.setChecked(bit_is_set(out, i)) + checkBox.stateChanged.connect(partial(self.setIOOut, i)) + + def updateIOOut(self): + retval = self.getIOOutReg() + for i in range(Defines.signals.count): + self.updateCheckBoxIOOut(i, retval) + self.getIOoutRange(retval) + + def setIOOut(self, i): + out = self.det.patioctrl + checkBox = getattr(self.view, f"checkBoxBIT{i}Out") + mask = manipulate_bit(checkBox.isChecked(), out, i) + self.det.patioctrl = mask + + retval = self.getIOOutReg() + self.updateCheckBoxIOOut(i, retval) + self.getIOoutRange(retval) + + def getIOoutRange(self, out): + self.view.checkBoxBIT0_31Out.stateChanged.disconnect() + self.view.checkBoxBIT32_63Out.stateChanged.disconnect() + self.view.checkBoxBIT0_31Out.setChecked((out & Defines.signals.BIT0_31_MASK) == Defines.signals.BIT0_31_MASK) + self.view.checkBoxBIT32_63Out.setChecked((out + & Defines.signals.BIT32_63_MASK) == Defines.signals.BIT32_63_MASK) + self.view.checkBoxBIT0_31Out.stateChanged.connect(partial(self.setIOOutRange, 0, Defines.signals.half)) + self.view.checkBoxBIT32_63Out.stateChanged.connect( + partial(self.setIOOutRange, Defines.signals.half, Defines.signals.count)) + + def setIOOutRange(self, start_nr, end_nr): + out = self.det.patioctrl + checkBox = getattr(self.view, f"checkBoxBIT{start_nr}_{end_nr - 1}Out") + mask = getattr(Defines.signals, f"BIT{start_nr}_{end_nr - 1}_MASK") + if checkBox.isChecked(): + self.det.patioctrl = out | mask + else: + self.det.patioctrl = out & ~mask + self.updateIOOut() + + def getDBitOffset(self): + self.view.spinBoxDBitOffset.editingFinished.disconnect() + self.rx_dbitoffset = self.det.rx_dbitoffset + self.view.spinBoxDBitOffset.setValue(self.rx_dbitoffset) + self.view.spinBoxDBitOffset.editingFinished.connect(self.setDbitOffset) + + def setDbitOffset(self): + self.det.rx_dbitoffset = self.view.spinBoxDBitOffset.value() + + def saveParameters(self) -> list: + commands = [] + dblist = [str(i) for i in range(Defines.signals.count) if getattr(self.view, f"checkBoxBIT{i}DB").isChecked()] + if len(dblist) > 0: + commands.append(f"rx_dbitlist {', '.join(dblist)}") + commands.append(f"rx_dbitoffset {self.view.spinBoxDBitOffset.value()}") + commands.append(f"patioctrl {self.view.lineEditPatIOCtrl.text()}") + return commands diff --git a/pyctbgui/pyctbgui/services/SlowADCs.py b/pyctbgui/pyctbgui/services/SlowADCs.py new file mode 100644 index 000000000..4b73b18f0 --- /dev/null +++ b/pyctbgui/pyctbgui/services/SlowADCs.py @@ -0,0 +1,45 @@ +from functools import partial +from pathlib import Path + +from PyQt5 import uic, QtWidgets + +from pyctbgui.utils.defines import Defines +from slsdet import dacIndex + + +class SlowAdcTab(QtWidgets.QWidget): + + def __init__(self, parent): + super().__init__(parent) + uic.loadUi(Path(__file__).parent.parent / 'ui' / "slowAdcs.ui", parent) + self.view = parent + self.mainWindow = None + self.det = None + + def setup_ui(self): + pass + + def connect_ui(self): + for i in range(Defines.slowAdc.count): + getattr(self.view, f"pushButtonSlowAdc{i}").clicked.connect(partial(self.updateSlowAdc, i)) + self.view.pushButtonTemp.clicked.connect(self.updateTemperature) + + def refresh(self): + self.updateSlowAdcNames() + for i in range(Defines.slowAdc.count): + self.updateSlowAdc(i) + self.updateTemperature() + + def updateSlowAdcNames(self): + for i, name in enumerate(self.mainWindow.det.getSlowADCNames()): + getattr(self.view, f"labelSlowAdc{i}").setText(name) + + def updateSlowAdc(self, i): + slowADCIndex = getattr(dacIndex, f"SLOW_ADC{i}") + label = getattr(self.view, f"labelSlowAdcValue{i}") + slowadc = (self.det.getSlowADC(slowADCIndex))[0] / 1000 + label.setText(f'{slowadc:.2f} mV') + + def updateTemperature(self): + slowadc = self.det.getTemperature(dacIndex.SLOW_ADC_TEMP) + self.view.labelTempValue.setText(f'{str(slowadc[0])} °C') diff --git a/pyctbgui/pyctbgui/services/Transceiver.py b/pyctbgui/pyctbgui/services/Transceiver.py new file mode 100644 index 000000000..98c8fc541 --- /dev/null +++ b/pyctbgui/pyctbgui/services/Transceiver.py @@ -0,0 +1,273 @@ +from functools import partial +from pathlib import Path + +import numpy as np +from PyQt5 import QtWidgets, uic +import pyqtgraph as pg +from pyqtgraph import LegendItem + +from pyctbgui.utils import decoder +from pyctbgui.utils.defines import Defines + +from pyctbgui.utils.bit_utils import bit_is_set, manipulate_bit +import pyctbgui.utils.pixelmap as pm +from pyctbgui.utils.recordOrApplyPedestal import recordOrApplyPedestal + + +class TransceiverTab(QtWidgets.QWidget): + + def __init__(self, parent): + super().__init__(parent) + uic.loadUi(Path(__file__).parent.parent / 'ui' / "transceiver.ui", parent) + self.view = parent + self.mainWindow = None + self.det = None + self.plotTab = None + self.legend: LegendItem | None = None + self.acquisitionTab = None + + def setup_ui(self): + self.plotTab = self.mainWindow.plotTab + self.acquisitionTab = self.mainWindow.acquisitionTab + for i in range(Defines.transceiver.count): + self.setTransceiverButtonColor(i, self.plotTab.getRandomColor()) + self.initializeAllTransceiverPlots() + + self.legend = self.mainWindow.plotTransceiverWaveform.getPlotItem().legend + self.legend.clear() + + # subscribe to toggle legend + self.plotTab.subscribeToggleLegend(self.updateLegend) + + def connect_ui(self): + for i in range(Defines.transceiver.count): + getattr(self.view, f"checkBoxTransceiver{i}").stateChanged.connect(partial(self.setTransceiverEnable, i)) + getattr(self.view, + f"checkBoxTransceiver{i}Plot").stateChanged.connect(partial(self.setTransceiverEnablePlot, i)) + getattr(self.view, f"pushButtonTransceiver{i}").clicked.connect(partial(self.selectTransceiverColor, i)) + self.view.lineEditTransceiverMask.editingFinished.connect(self.setTransceiverEnableReg) + + def refresh(self): + self.updateTransceiverEnable() + + def getEnabledPlots(self): + """ + return plots that are shown (checkBoxTransceiver{i}Plot is checked) + """ + enabledPlots = [] + self.legend.clear() + for i in range(Defines.transceiver.count): + if getattr(self.view, f'checkBoxTransceiver{i}Plot').isChecked(): + plotName = getattr(self.view, f"labelTransceiver{i}").text() + enabledPlots.append((self.mainWindow.transceiverPlots[i], plotName)) + return enabledPlots + + def updateLegend(self): + """ + update the legend for the transceiver waveform plot + should be called after checking or unchecking plot checkbox + """ + if not self.mainWindow.showLegend: + self.legend.clear() + else: + for plot, name in self.getEnabledPlots(): + self.legend.addItem(plot, name) + + @recordOrApplyPedestal + def _processWaveformData(self, data, dSamples, romode, nDBitEnabled, nTransceiverEnabled): + """ + model function + processes raw receiver waveform data + @param data: raw receiver waveform data + @param dSamples: digital samples + @param romode: readout mode value + @param nDBitEnabled: number of digital bits enabled + @param nTransceiverEnabled: number of transceivers enabled + @return: processed transceiver data + """ + transceiverOffset = 0 + if romode == 4: + nbitsPerDBit = dSamples + if dSamples % 8 != 0: + nbitsPerDBit += (8 - (dSamples % 8)) + transceiverOffset += nDBitEnabled * (nbitsPerDBit // 8) + trans_array = np.array(np.frombuffer(data, offset=transceiverOffset, dtype=np.uint16)) + return trans_array.reshape(-1, nTransceiverEnabled) + + def processWaveformData(self, data, dSamples): + """ + plots raw waveform data + data: raw waveform data + dsamples: digital samples + tsamples: transceiver samples + """ + waveforms = {} + trans_array = self._processWaveformData(data, dSamples, self.mainWindow.romode.value, + self.mainWindow.nDBitEnabled, self.nTransceiverEnabled) + idx = 0 + for i in range(Defines.transceiver.count): + checkBoxPlot = getattr(self.view, f"checkBoxTransceiver{i}Plot") + checkBoxEn = getattr(self.view, f"checkBoxTransceiver{i}") + if checkBoxEn.isChecked() and checkBoxPlot.isChecked(): + waveform = trans_array[:, idx] + idx += 1 + self.mainWindow.transceiverPlots[i].setData(waveform) + plotName = getattr(self.view, f"labelTransceiver{i}").text() + waveforms[plotName] = waveform + return waveforms + + @recordOrApplyPedestal + def _processImageData(self, data, dSamples, romode, nDBitEnabled): + """ + processes raw image data + @param data: + @param dSamples: + @param romode: + @param nDBitEnabled: + @return: + """ + transceiverOffset = 0 + if romode == 4: + nbitsPerDBit = dSamples + if dSamples % 8 != 0: + nbitsPerDBit += (8 - (dSamples % 8)) + transceiverOffset += nDBitEnabled * (nbitsPerDBit // 8) + trans_array = np.array(np.frombuffer(data, offset=transceiverOffset, dtype=np.uint16)) + return decoder.decode(trans_array, pm.matterhorn_transceiver()) + + def processImageData(self, data, dSamples): + """ + view function + plots transceiver image + dSamples: digital samples + data: raw image data + """ + # get zoom state + viewBox = self.mainWindow.plotTransceiverImage.getView() + state = viewBox.getState() + try: + self.mainWindow.transceiver_frame = self._processImageData(data, dSamples, self.mainWindow.romode.value, + self.mainWindow.nDBitEnabled) + self.plotTab.ignoreHistogramSignal = True + self.mainWindow.plotTransceiverImage.setImage(self.mainWindow.transceiver_frame) + except Exception: + self.mainWindow.statusbar.setStyleSheet("color:red") + message = f'Warning: Invalid size for Transceiver Image. Expected' \ + f' {self.mainWindow.nTransceiverRows * self.mainWindow.nTransceiverCols} size,' \ + f' got {self.mainWindow.transceiver_frame.size} instead.' + self.acquisitionTab.updateCurrentFrame('Invalid Image') + self.mainWindow.statusbar.showMessage(message) + print(message) + + self.plotTab.setFrameLimits(self.mainWindow.transceiver_frame) + + # keep the zoomed in state (not 1st image) + if self.mainWindow.firstTransceiverImage: + self.mainWindow.firstTransceiverImage = False + else: + viewBox.setState(state) + return self.mainWindow.transceiver_frame + + def initializeAllTransceiverPlots(self): + self.mainWindow.plotTransceiverWaveform = pg.plot() + self.mainWindow.plotTransceiverWaveform.addLegend(colCount=Defines.colCount) + self.mainWindow.verticalLayoutPlot.addWidget(self.mainWindow.plotTransceiverWaveform, 5) + self.mainWindow.transceiverPlots = {} + waveform = np.zeros(1000) + for i in range(Defines.transceiver.count): + pen = pg.mkPen(color=self.getTransceiverButtonColor(i), width=1) + legendName = getattr(self.view, f"labelTransceiver{i}").text() + self.mainWindow.transceiverPlots[i] = self.mainWindow.plotTransceiverWaveform.plot(waveform, + pen=pen, + name=legendName) + self.mainWindow.transceiverPlots[i].hide() + + self.mainWindow.plotTransceiverImage = pg.ImageView() + self.mainWindow.nTransceiverRows = 0 + self.mainWindow.nTransceiverCols = 0 + self.mainWindow.transceiver_frame = np.zeros( + (self.mainWindow.nTransceiverRows, self.mainWindow.nTransceiverCols)) + self.mainWindow.plotTransceiverImage.setImage(self.mainWindow.transceiver_frame) + self.mainWindow.verticalLayoutPlot.addWidget(self.mainWindow.plotTransceiverImage, 6) + + cm = pg.colormap.get('CET-L9') # prepare a linear color map + self.mainWindow.plotTransceiverImage.setColorMap(cm) + + def getTransceiverEnableReg(self): + retval = self.det.transceiverenable + self.view.lineEditTransceiverMask.editingFinished.disconnect() + self.view.lineEditTransceiverMask.setText("0x{:08x}".format(retval)) + self.view.lineEditTransceiverMask.editingFinished.connect(self.setTransceiverEnableReg) + return retval + + def setTransceiverEnableReg(self): + self.view.lineEditTransceiverMask.editingFinished.disconnect() + try: + mask = int(self.view.lineEditTransceiverMask.text(), 16) + self.det.transceiverenable = mask + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Transceiver Enable Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + # TODO: handling double event exceptions + self.view.lineEditTransceiverMask.editingFinished.connect(self.setTransceiverEnableReg) + self.updateTransceiverEnable() + + def getTransceiverEnable(self, i, mask): + checkBox = getattr(self.view, f"checkBoxTransceiver{i}") + checkBox.stateChanged.disconnect() + checkBox.setChecked(bit_is_set(mask, i)) + checkBox.stateChanged.connect(partial(self.setTransceiverEnable, i)) + + def updateTransceiverEnable(self): + retval = self.getTransceiverEnableReg() + self.nTransceiverEnabled = bin(retval).count('1') + for i in range(4): + self.getTransceiverEnable(i, retval) + self.getTransceiverEnablePlot(i) + self.getTransceiverEnableColor(i) + self.plotTab.addSelectedTransceiverPlots(i) + + def setTransceiverEnable(self, i): + checkBox = getattr(self.view, f"checkBoxTransceiver{i}") + try: + enableMask = manipulate_bit(checkBox.isChecked(), self.det.transceiverenable, i) + self.det.transceiverenable = enableMask + except Exception as e: + QtWidgets.QMessageBox.warning(self.mainWindow, "Transceiver Enable Fail", str(e), QtWidgets.QMessageBox.Ok) + pass + + self.updateTransceiverEnable() + + def getTransceiverEnablePlot(self, i): + checkBox = getattr(self.view, f"checkBoxTransceiver{i}") + checkBoxPlot = getattr(self.view, f"checkBoxTransceiver{i}Plot") + checkBoxPlot.setEnabled(checkBox.isChecked()) + + def setTransceiverEnablePlot(self, i): + pushButton = getattr(self.view, f"pushButtonTransceiver{i}") + checkBox = getattr(self.view, f"checkBoxTransceiver{i}Plot") + pushButton.setEnabled(checkBox.isChecked()) + self.plotTab.addSelectedTransceiverPlots(i) + self.updateLegend() + + def getTransceiverEnableColor(self, i): + checkBox = getattr(self.view, f"checkBoxTransceiver{i}Plot") + pushButton = getattr(self.view, f"pushButtonTransceiver{i}") + pushButton.setEnabled(checkBox.isEnabled() and checkBox.isChecked()) + + def selectTransceiverColor(self, i): + pushButton = getattr(self.view, f"pushButtonTransceiver{i}") + self.plotTab.showPalette(pushButton) + pen = pg.mkPen(color=self.getTransceiverButtonColor(i), width=1) + self.mainWindow.transceiverPlots[i].setPen(pen) + + def getTransceiverButtonColor(self, i): + pushButton = getattr(self.view, f"pushButtonTransceiver{i}") + return self.plotTab.getActiveColor(pushButton) + + def setTransceiverButtonColor(self, i, color): + pushButton = getattr(self.view, f"pushButtonTransceiver{i}") + return self.plotTab.setActiveColor(pushButton, color) + + def saveParameters(self): + return ["transceiverenable {}".format(self.view.lineEditTransceiverMask.text())] diff --git a/pyctbgui/pyctbgui/services/__init__.py b/pyctbgui/pyctbgui/services/__init__.py new file mode 100644 index 000000000..9f3e43434 --- /dev/null +++ b/pyctbgui/pyctbgui/services/__init__.py @@ -0,0 +1,9 @@ +from .ADC import AdcTab +from .Acquisition import AcquisitionTab +from .DACs import DacTab +from .Pattern import PatternTab +from .Plot import PlotTab +from .PowerSupplies import PowerSuppliesTab +from .Signals import SignalsTab +from .SlowADCs import SlowAdcTab +from .Transceiver import TransceiverTab diff --git a/pyctbgui/pyctbgui/ui/CtbGui.ui b/pyctbgui/pyctbgui/ui/CtbGui.ui new file mode 100644 index 000000000..3d96407aa --- /dev/null +++ b/pyctbgui/pyctbgui/ui/CtbGui.ui @@ -0,0 +1,779 @@ + + + MainWindow + + + + 0 + 0 + 1444 + 943 + + + + Chip Test Board + + + false + + + + + 870 + 890 + + + + + 870 + 890 + + + + + 9 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 50 + 0 + + + + QFrame::Plain + + + true + + + + + 0 + 0 + 870 + 879 + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + QFrame::NoFrame + + + QFrame::Plain + + + 0 + + + + 0 + + + 9 + + + 0 + + + 0 + + + + + + 870 + 870 + + + + + 870 + 870 + + + + 0 + + + + DACs + + + + + 0 + 0 + 851 + 841 + + + + + 711 + 791 + + + + + + + Power Supplies + + + + + -1 + -1 + 841 + 821 + + + + + + + Slow ADCs + + + + + 0 + 0 + 871 + 821 + + + + + 871 + 571 + + + + + + + Signals + + + + + 0 + 0 + 831 + 821 + + + + + 831 + 821 + + + + + + + Transceivers + + + + + 9 + 19 + 841 + 341 + + + + + 841 + 181 + + + + + + + ADCs + + + + + -1 + -1 + 841 + 821 + + + + + + + Pattern + + + + + 0 + 0 + 851 + 831 + + + + + + + Acquisition + + + + + -10 + 0 + 860 + 800 + + + + + 860 + 800 + + + + + + + Plot + + + + + 0 + 0 + 860 + 800 + + + + + 860 + 800 + + + + + + + + + + + + + + + + + + + 0 + 0 + 1444 + 25 + + + + + File + + + + + + + + Help + + + + + + + + + + + + 0 + 0 + + + + + 568 + 214 + + + + + 524287 + 524287 + + + + QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable + + + Qt::RightDockWidgetArea + + + 2 + + + + + + + + 16777215 + 100 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 70 + 0 + + + + + 70 + 16777215 + + + + 0 + + + + + + + + 100 + 0 + + + + 24 + + + + + + + + 0 + 36 + + + + + 100 + 16777215 + + + + + + + + + 85 + 170 + 127 + + + + + + + 85 + 170 + 127 + + + + + + + 85 + 170 + 127 + + + + + + + + + 85 + 170 + 127 + + + + + + + 85 + 170 + 127 + + + + + + + 85 + 170 + 127 + + + + + + + + + 85 + 170 + 127 + + + + + + + 85 + 170 + 127 + + + + + + + 85 + 170 + 127 + + + + + + + + Shift + Enter is the keyboard shortcut to start/stop acquisition from any tab + + + QPushButton {background-color: rgb(85, 170, 127);} +QPushButton:checked{background-color: red;} + + + Start + + + true + + + + + + + + 110 + 0 + + + + IDLE + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 70 + 16777215 + + + + Acquired: + + + + + + + + 70 + 0 + + + + + 70 + 16777215 + + + + 0 + + + + + + + + 0 + 0 + + + + + 100 + 16777215 + + + + Measurement: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + # + + + + + + + + + + + + + + Load Parameters + + + + + Save + + + + + Exit + + + + + Info + + + + + Keyboard Shortcuts + + + + + Save Parameters + + + + + + PowerSuppliesTab + QWidget +
pyctbgui.services.PowerSupplies
+ 1 +
+ + DacTab + QWidget +
pyctbgui.services.DACs
+ 1 +
+ + SlowAdcTab + QWidget +
pyctbgui.services.SlowADCs
+ 1 +
+ + SignalsTab + QWidget +
pyctbgui.services.Signals
+ 1 +
+ + TransceiverTab + QWidget +
pyctbgui.services.Transceiver
+ 1 +
+ + AdcTab + QWidget +
pyctbgui.services.ADC
+ 1 +
+ + PatternTab + QWidget +
pyctbgui.services.Pattern
+ 1 +
+ + AcquisitionTab + QWidget +
pyctbgui.services.Acquisition
+ 1 +
+ + PlotTab + QWidget +
pyctbgui.services.Plot
+ 1 +
+
+ + + + actionExit + triggered() + MainWindow + close() + + + -1 + -1 + + + 753 + 496 + + + + +
diff --git a/pyctbgui/pyctbgui/ui/Dacs.ui b/pyctbgui/pyctbgui/ui/Dacs.ui new file mode 100644 index 000000000..940f93c7d --- /dev/null +++ b/pyctbgui/pyctbgui/ui/Dacs.ui @@ -0,0 +1,1198 @@ + + + Form + + + + 0 + 0 + 870 + 791 + + + + + 870 + 791 + + + + + 2000 + 2000 + + + + + 711 + 791 + + + + Form + + + + + 20 + 10 + 711 + 791 + + + + + 711 + 791 + + + + + 1000 + 1000 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + 11 + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 1 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 7 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 8 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 15 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 2 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + 0 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + 0 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 14 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + 0 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 16 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 0 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + 0 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 6 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 0 + + + 4096 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 9 + + + + + + + 0 + + + + + + + mV + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + 0 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + V + + + + + + + 0 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 5 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 13 + + + + + + + 0 + + + + + + + 0 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 17 + + + + + + + 0 + + + + + + + High Voltage + + + + + + + Qt::LeftToRight + + + + 1000 + + + + + 1140 + + + + + 1330 + + + + + 1600 + + + + + 2000 + + + + + + + + 0 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + ADC_VPP + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 11 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + 0 + + + + + + + 0 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + 0 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only enter values between 60-200 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 200 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 3 + + + + + + + 0 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 10 + + + + + + + 0 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 4 + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + Only accepts value range (0 - 4096). Only modifying this or pressing enter will set DAC. + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 4096 + + + + + + + Checking or unchecking this will only get DAC values on the right (with this condition).<br> +Only pressing enter on spinbox will set DAC (with this condition). + + + mV + + + + + + + false + + + Unchecking will set DAC in tristate (sends -100).<br> +Checking sends nothing to DAC + + + DAC 12 + + + + + + + 0 + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/MainWindow.py b/pyctbgui/pyctbgui/ui/MainWindow.py new file mode 100644 index 000000000..acd07c6f7 --- /dev/null +++ b/pyctbgui/pyctbgui/ui/MainWindow.py @@ -0,0 +1,369 @@ +import logging + +from PyQt5 import QtWidgets, QtCore, uic +import argparse +import signal +import pyqtgraph as pg +from pathlib import Path +from functools import partial + +from slsdet import Detector, dacIndex + +from pyctbgui.services import TransceiverTab, DacTab, AdcTab, AcquisitionTab, SignalsTab, PatternTab, \ + SlowAdcTab, PlotTab, PowerSuppliesTab +from pyctbgui.utils import alias_utility +from pyctbgui.utils.defines import Defines + + +class MainWindow(QtWidgets.QMainWindow): + signalShortcutAcquire = QtCore.pyqtSignal() + signalShortcutTabUp = QtCore.pyqtSignal() + signalShortcutTabDown = QtCore.pyqtSignal() + + def __init__(self, *args, **kwargs): + parser = argparse.ArgumentParser() + parser.add_argument('-a', '--alias', help="Alias file complete path") + arglist, __ = parser.parse_known_args() + self.alias_file = arglist.alias + + pg.setConfigOption("background", (247, 247, 247)) + pg.setConfigOption("foreground", "k") + pg.setConfigOption('leftButtonPan', False) + + super().__init__(*args, **kwargs) + + uic.loadUi(Path(__file__).parent / "CtbGui.ui", self) + logging.basicConfig(encoding='utf-8', level=logging.INFO) + + self.logger = logging.getLogger(__name__) + self.det = None + self.showLegend = True + self.settings = None + try: + self.det = Detector() + # ensure detector is up + self.det.detectorserverversion[0] + except Exception as e: + QtWidgets.QMessageBox.critical(self, "Connect Fail", str(e) + "Exiting Gui...", QtWidgets.QMessageBox.Ok) + raise + + # get Tab Classes + self.plotTab: PlotTab = self.widgetPlot + self.slowAdcTab: SlowAdcTab = self.widgetSlowAdcs + self.dacTab: DacTab = self.widgetDacs + self.powerSuppliesTab: PowerSuppliesTab = self.widgetPowerSupplies + self.signalsTab: SignalsTab = self.widgetSignals + self.transceiverTab: TransceiverTab = self.widgetTransceiver + self.adcTab: AdcTab = self.widgetAdc + self.patternTab: PatternTab = self.widgetPattern + self.acquisitionTab: AcquisitionTab = self.widgetAcquisition + + self.tabs_list = [ + self.dacTab, self.powerSuppliesTab, self.slowAdcTab, self.signalsTab, self.transceiverTab, self.adcTab, + self.patternTab, self.acquisitionTab, self.plotTab + ] + + self.setup_ui() + self.acquisitionTab.setup_zmq() + self.tabWidget.setCurrentIndex(Defines.Acquisition_Tab_Index) + self.tabWidget.currentChanged.connect(self.refresh_tab) + self.connect_ui() + + for tab in self.tabs_list: + tab.refresh() + + # also refreshes timer to start plotting + self.plotTab.plotOptions() + self.plotTab.showPlot() + + self.patternTab.getPatViewerColors() + self.patternTab.getPatViewerWaitParameters() + self.patternTab.getPatViewerLoopParameters() + self.patternTab.updatePatViewerParameters() + self.plotTab.showPatternViewer(False) + + if self.alias_file is not None: + self.loadAliasFile() + + self.signalShortcutAcquire.connect(self.pushButtonStart.click) + self.signalShortcutTabUp.connect(partial(self.changeTabIndex, True)) + self.signalShortcutTabDown.connect(partial(self.changeTabIndex, False)) + # to catch the ctrl + c to abort + signal.signal(signal.SIGINT, signal.SIG_DFL) + self.firstAnalogImage = True + self.firstDigitalImage = True + self.firstTransceiverImage = True + + self.updateSettingValues() + + def updateSettingMainWindow(self): + self.settings.beginGroup("mainwindow") + # window size + width = self.settings.value('window_width') + height = self.settings.value('window_height') + if width is not None and height is not None: + self.resize(int(width), int(height)) + # print(f'Main window resized to {width}x{height}') + + # window position + pos = self.settings.value('window_pos') + if type(pos) is QtCore.QPoint: + # print(f'Moved main window to {pos}') + self.move(pos) + self.settings.endGroup() + + def saveSettingMainWindow(self): + self.settings.beginGroup("mainwindow") + self.settings.setValue('window_width', self.rect().width()) + self.settings.setValue('window_height', self.rect().height()) + self.settings.setValue('window_pos', self.pos()) + self.settings.endGroup() + + def updateSettingDockWidget(self): + self.settings.beginGroup("dockwidget") + + # is docked + if self.settings.contains('window_width') and self.settings.contains('window_height'): + # window size + width = self.settings.value('window_width') + height = self.settings.value('window_height') + if width is not None and height is not None: + # print(f'Plot window - Floating ({width}x{height})') + self.dockWidget.setFloating(True) + self.dockWidget.resize(int(width), int(height)) + # window position + pos = self.settings.value('window_pos') + if type(pos) is QtCore.QPoint: + # print(f'Moved plot window to {pos}') + self.dockWidget.move(pos) + self.settings.endGroup() + + def saveSettingDockWidget(self): + self.settings.beginGroup("dockwidget") + if self.dockWidget.isFloating(): + self.settings.setValue('window_width', self.dockWidget.rect().width()) + self.settings.setValue('window_height', self.dockWidget.rect().height()) + self.settings.setValue('window_pos', self.dockWidget.pos()) + else: + self.settings.remove('window_width') + self.settings.remove('window_height') + self.settings.remove('window_pos') + self.settings.endGroup() + + def savePlotTypeAndDetector(self): + self.settings.setValue('isImage', self.plotTab.view.radioButtonImage.isChecked()) + self.settings.setValue('detector', self.plotTab.view.comboBoxPlot.currentText()) + + def updatePlotTypeAndDetector(self): + # load plot type from qsettings + isImage = self.settings.value('isImage', True, type=bool) + self.plotTab.view.radioButtonImage.setChecked(isImage) + self.plotTab.plotOptions() + # load detector from qsettings + if isImage: + self.plotTab.view.comboBoxPlot.setCurrentText(self.settings.value('detector', 'Matterhorn')) + + def updateSettingValues(self): + self.settings = QtCore.QSettings('slsdetectorgroup', 'pyctbgui') + self.updateSettingMainWindow() + self.updateSettingDockWidget() + self.updatePlotTypeAndDetector() + + def saveSettings(self): + # store in ~/.config/slsdetectorgroup/pyctbgui.conf + self.saveSettingMainWindow() + self.saveSettingDockWidget() + self.savePlotTypeAndDetector() + + def closeEvent(self, event): + self.saveSettings() + + def loadAliasFile(self): + print(f'Loading Alias file: {self.alias_file}') + try: + bit_names, bit_plots, bit_colors, adc_names, adc_plots, adc_colors, dac_names, slowadc_names, \ + voltage_names, pat_file_name = alias_utility.read_alias_file(self.alias_file) + except Exception as e: + QtWidgets.QMessageBox.warning(self, "Alias File Fail", + str(e) + "
" + self.alias_file, QtWidgets.QMessageBox.Ok) + return + + for i in range(Defines.signals.count): + if bit_names[i]: + self.det.setSignalName(i, bit_names[i]) + if bit_plots[i]: + getattr(self.signalsTab.view, f"checkBoxBIT{i}DB").setChecked(bit_plots[i]) + getattr(self.signalsTab.view, f"checkBoxBIT{i}Plot").setChecked(bit_plots[i]) + if bit_colors[i]: + self.signalsTab.setDBitButtonColor(i, bit_colors[i]) + + for i in range(Defines.adc.count): + if adc_names[i]: + self.det.setAdcName(i, adc_names[i]) + if adc_plots[i]: + getattr(self.adcTab.view, f"checkBoxADC{i}En").setChecked(adc_plots[i]) + getattr(self.adcTab.view, f"checkBoxADC{i}Plot").setChecked(adc_plots[i]) + if adc_colors[i]: + self.adcTab.setADCButtonColor(i, adc_colors[i]) + + for i in range(Defines.dac.count): + if dac_names[i]: + iDac = getattr(dacIndex, f"DAC_{i}") + self.det.setDacName(iDac, dac_names[i]) + + for i in range(Defines.slowAdc.count): + slowadc_index = self.det.getSlowADCList() + if slowadc_names[i]: + self.det.setSlowADCName(slowadc_index[i], slowadc_names[i]) + + for i in range(len(Defines.powerSupplies)): + voltage_index = self.det.getVoltageList() + if voltage_names[i]: + self.det.setVoltageName(voltage_index[i], voltage_names[i]) + + if pat_file_name: + self.lineEditPatternFile.setText(pat_file_name) + + self.signalsTab.updateSignalNames() + self.adcTab.updateADCNames() + self.slowAdcTab.updateSlowAdcNames() + self.dacTab.updateDACNames() + self.powerSuppliesTab.updateVoltageNames() + + # For Action options function + # TODO Only add the components of action option+ functions + # Function to show info + def showInfo(self): + msg = QtWidgets.QMessageBox() + msg.setWindowTitle("About") + msg.setText("This Gui is for Chip Test Boards.\n Current Phase: Development") + msg.exec_() + + def showKeyBoardShortcuts(self): + msg = QtWidgets.QMessageBox() + msg.setWindowTitle("Keyboard Shortcuts") + msg.setText( + "Start Acquisition (from any tab): Shift + Return
Move Tab Right : Ctrl + '+'
Move Tab Left :" + " Ctrl + '-'
") + msg.exec_() + + def loadParameters(self): + response = QtWidgets.QFileDialog.getOpenFileName( + parent=self, + caption="Select a parameter file to open", + directory=str(Path.cwd()), + # filter='README (*.md *.ui)' + ) + if response[0] == '': + return + try: + self.det.parameters = (response[0]) + for tab in self.tabs_list: + tab.refresh() + QtWidgets.QMessageBox.information(self, "Load Parameter Success", "Parameters loaded successfully", + QtWidgets.QMessageBox.Ok) + except (RuntimeError, FileNotFoundError) as e: + self.logger.exception(e) + QtWidgets.QMessageBox.warning(self, "Load Parameter Fail", str(e), QtWidgets.QMessageBox.Ok) + + def refresh_tab(self, tab_index): + match tab_index: + case 0: + self.dacTab.refresh() + case 1: + self.powerSuppliesTab.refresh() + case 2: + self.slowAdcTab.refresh() + case 3: + self.transceiverTab.refresh() + case 4: + self.signalsTab.refresh() + case 5: + self.adcTab.refresh() + case 6: + self.patternTab.refresh() + case 7: + self.acquisitionTab.refresh() + case 8: + self.plotTab.refresh() + + def setup_ui(self): + # To check detector status + self.statusTimer = QtCore.QTimer() + self.statusTimer.timeout.connect(self.acquisitionTab.checkEndofAcquisition) + + # To auto trigger the read + self.read_timer = QtCore.QTimer() + self.read_timer.timeout.connect(self.acquisitionTab.read_zmq) + + for tab in self.tabs_list: + tab.mainWindow = self + tab.det = self.det + + for tab in self.tabs_list: + tab.setup_ui() + + def keyPressEvent(self, event): + if event.modifiers() & QtCore.Qt.ShiftModifier: + if event.key() == QtCore.Qt.Key_Return: + self.signalShortcutAcquire.emit() + if event.modifiers() & QtCore.Qt.ControlModifier: + if event.key() == QtCore.Qt.Key_Plus: + self.signalShortcutTabUp.emit() + if event.key() == QtCore.Qt.Key_Minus: + self.signalShortcutTabDown.emit() + + def changeTabIndex(self, up): + ind = self.tabWidget.currentIndex() + if up: + ind += 1 + if ind == Defines.Max_Tabs: + ind = 0 + else: + ind -= 1 + if ind == -1: + ind = Defines.Max_Tabs - 1 + self.tabWidget.setCurrentIndex(ind) + + def connect_ui(self): + # Show info + self.actionInfo.triggered.connect(self.showInfo) + self.actionKeyboardShortcuts.triggered.connect(self.showKeyBoardShortcuts) + self.actionLoadParameters.triggered.connect(self.loadParameters) + self.pushButtonStart.clicked.connect(self.acquisitionTab.toggleAcquire) + self.actionSaveParameters.triggered.connect(self.saveParameters) + + for tab in self.tabs_list: + tab.connect_ui() + + def saveParameters(self): + response = QtWidgets.QFileDialog.getSaveFileName(self, "Save Parameters", str(self.det.fpath)) + if response[0] == '': + return + + # save DACs + commands = self.dacTab.saveParameters() + # save signals + commands.extend(self.signalsTab.saveParameters()) + # save transceiver + commands.extend(self.transceiverTab.saveParameters()) + # save ADCs + commands.extend(self.adcTab.saveParameters()) + # save pattern + commands.extend(self.patternTab.saveParameters()) + # save acquisition + commands.extend(self.acquisitionTab.saveParameters()) + # save power supplies + commands.extend(self.powerSuppliesTab.saveParameters()) + # save plot + commands.extend(self.plotTab.saveParameters()) + + try: + with open(response[0], 'w') as fp: + fp.write('\n'.join(commands)) + except Exception as e: + self.logger.exception(e) + QtWidgets.QMessageBox.warning(self, "Save Parameter Fail", str(e), QtWidgets.QMessageBox.Ok) + + QtWidgets.QMessageBox.information(self, "Save Parameter Success", "Parameters saved successfully", + QtWidgets.QMessageBox.Ok) diff --git a/pyctbgui/pyctbgui/ui/__init__.py b/pyctbgui/pyctbgui/ui/__init__.py new file mode 100644 index 000000000..0a3f5ca61 --- /dev/null +++ b/pyctbgui/pyctbgui/ui/__init__.py @@ -0,0 +1 @@ +from .MainWindow import MainWindow \ No newline at end of file diff --git a/pyctbgui/pyctbgui/ui/acquisition.ui b/pyctbgui/pyctbgui/ui/acquisition.ui new file mode 100644 index 000000000..5b9fa58fd --- /dev/null +++ b/pyctbgui/pyctbgui/ui/acquisition.ui @@ -0,0 +1,927 @@ + + + Form + + + + 0 + 0 + 870 + 823 + + + + + 870 + 800 + + + + Form + + + + + 10 + 10 + 841 + 71 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 0 + 0 + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + QAbstractSpinBox::UpDownArrows + + + 1000 + + + 0 + + + + + + + Read Out Mode: + + + + + + + + 0 + 32 + + + + + 16777215 + 32 + + + + + Analog + + + + + Digital + + + + + Analog and Digital + + + + + Transceiver + + + + + Digital and Transceiver + + + + + + + + Run Clock Frequency (MHz): + + + + + + + + + 10 + 90 + 841 + 51 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 0 + 0 + + + + + 125 + 32 + + + + + 125 + 32 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 100000 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 200 + 0 + + + + Transceiver Samples: + + + + + + + + + 10 + 150 + 841 + 201 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 200 + 0 + + + + DBIT Clock Frequency (MHz): + + + + + + + + 0 + 0 + + + + + 200 + 0 + + + + ADC Clock Frequency (MHz): + + + + + + + + 0 + 0 + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 9999 + + + + + + + DBIT Pipeline: + + + + + + + + 0 + 0 + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1000 + + + + + + + + 0 + 0 + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + ADC Pipeline: + + + + + + + ADC Clock Phase (a.u.): + + + + + + + DBIT Clock Phase (a.u.): + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 10 + 20 + + + + + + + + + 0 + 0 + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1000 + + + + + + + + 0 + 0 + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 9999 + + + + + + + Analog Samples: + + + + + + + + 0 + 0 + + + + + 125 + 32 + + + + + 125 + 32 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 100000 + + + + + + + Digital Samples: + + + + + + + + 0 + 0 + + + + + 125 + 32 + + + + + 125 + 32 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 100000 + + + 1 + + + + + + + + + 10 + 370 + 841 + 181 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 11 + + + + QFrame::Sunken + + + 1 + + + Output Settings + + + + + + + File name: + + + + + + + + 0 + 31 + + + + + 16777215 + 31 + + + + background-color: rgb(200, 219, 230); + + + File Name + + + + + + + Index: + + + + + + + + 0 + 31 + + + + + 200 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + Raw + + + + + + + + 0 + 36 + + + + background-color: rgb(199, 213, 207); + + + Browse + + + + + + + + 0 + 31 + + + + + 16777215 + 31 + + + + background-color: rgb(200, 219, 230); + + + File Path + + + + + + + File path: + + + + + + + Numpy + + + + + + + Save format: + + + + + + + + + 10 + 570 + 841 + 141 + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + Number of frames: + + + + + + + + 0 + 0 + + + + + 120 + 32 + + + + + 16777215 + 32 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 999999999 + + + 999999999 + + + + + + + + 0 + 0 + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Period (s): + + + + + + + + 0 + 0 + + + + + 120 + 32 + + + + + 150 + 32 + + + + 4 + + + 99999.990000000005239 + + + + + + + + 0 + 31 + + + + + s + + + + + ms + + + + + μs + + + + + ns + + + + + + + + + 0 + 0 + + + + Number of triggers: + + + + + + + + 0 + 0 + + + + + 120 + 32 + + + + + 16777215 + 32 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 999999999 + + + + + + + Number of measurements: + + + + + + + + 120 + 32 + + + + + 16777215 + 32 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1 + + + 999999999 + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/adc.ui b/pyctbgui/pyctbgui/ui/adc.ui new file mode 100644 index 000000000..c1fabe266 --- /dev/null +++ b/pyctbgui/pyctbgui/ui/adc.ui @@ -0,0 +1,4212 @@ + + + Form + + + + 0 + 0 + 841 + 470 + + + + + 841 + 461 + + + + Form + + + + + 0 + 10 + 841 + 461 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC17 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC29 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC22 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC31 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC30 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC2 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC5 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC26 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC28 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC18 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 80 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC 16-31 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC4 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 80 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC 0-15 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC11 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC21 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC12 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC16 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC9 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC19 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC3 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC13 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC20 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC10 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC6 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC23 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC24 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC25 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC1 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC7 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC8 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 10 + + + + Inversion mask: + + + + + + + + 150 + 32 + + + + + 150 + 32 + + + + + Monospace + 10 + + + + background-color: rgb(255, 255, 255); + + + 0xFFFFFFFF + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 10 + + + + Enable mask: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 150 + 32 + + + + + 150 + 32 + + + + + Monospace + 10 + + + + background-color: rgb(255, 255, 255); + + + 0xFFFFFFFF + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC0 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC14 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC27 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Inv + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + ADC15 + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/pattern.ui b/pyctbgui/pyctbgui/ui/pattern.ui new file mode 100644 index 000000000..0c642a83a --- /dev/null +++ b/pyctbgui/pyctbgui/ui/pattern.ui @@ -0,0 +1,2733 @@ + + + Form + + + + 0 + 0 + 870 + 800 + + + + + 870 + 800 + + + + Form + + + + + 0 + 10 + 471 + 311 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Loop 3 + + + + + + + + 110 + 31 + + + + + 110 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + 0 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 110 + 31 + + + + + 110 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 110 + 31 + + + + + 110 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Loop 4 + + + + + + + + 110 + 31 + + + + + 110 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + Stop Address + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Loop 5 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Loop 2 + + + + + + + Repetitions + + + Qt::AlignCenter + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + Start Address + + + Qt::AlignCenter + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Loop 1 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 110 + 31 + + + + + 110 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Loop 0 + + + + + + + + 110 + 31 + + + + + 110 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Limits: + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + + 490 + 10 + 361 + 271 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Wait 0 + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Wait 5 + + + + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Wait 3 + + + + + + + Time + + + Qt::AlignCenter + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Wait 4 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Wait 1 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + Address + + + Qt::AlignCenter + + + + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 80 + 31 + + + + + 80 + 31 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 36 + 31 + 49 + + + + + + + + + 146 + 149 + 149 + + + + + + + + + Monospace + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 125 + 31 + + + + + 125 + 31 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 999999999 + + + + + + + + 0 + 0 + + + + + 50 + 16777215 + + + + Wait 2 + + + + + + + + + 10 + 330 + 841 + 141 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 0 + 36 + + + + + 16777215 + 31 + + + + background-color: rgb(199, 213, 207); + + + Browse + + + + + + + background-color: rgb(200, 219, 230); + + + python + + + Compiler + + + + + + + + 0 + 36 + + + + + 16777215 + 31 + + + + background-color: rgb(199, 213, 207); + + + Browse + + + + + + + Pattern: + + + + + + + background-color: rgb(200, 219, 230); + + + Pattern File + + + + + + + background-color: rgb(200, 219, 230); + + + Uncompiled Pattern File + + + + + + + + 0 + 36 + + + + + 16777215 + 31 + + + + background-color: rgb(199, 213, 207); + + + Browse + + + + + + + Uncompiled Pattern: + + + + + + + Compiler: + + + + + + + + + 10 + 480 + 841 + 211 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 0 + 0 + + + + + 30 + 16777215 + + + + : + + + + + + + + 100 + 20 + + + + + 9 + + + + Alpha + + + Qt::AlignCenter + + + + + + + + 100 + 20 + + + + + 9 + + + + Alpha rect + + + Qt::AlignCenter + + + + + + + + 80 + 20 + + + + + 9 + + + + Color + + + Qt::AlignCenter + + + + + + + + 100 + 20 + + + + Viewer + + + + + + + + 0 + 31 + + + + + 120 + 32 + + + + Alpha + + + 1.000000000000000 + + + 0.010000000000000 + + + + + + + + 100 + 32 + + + + + 120 + 32 + + + + + Loop 0 + + + + + Loop 1 + + + + + Loop 2 + + + + + Loop 3 + + + + + Loop 4 + + + + + Loop 5 + + + + + + + + + 0 + 0 + + + + + 30 + 16777215 + + + + : + + + + + + + + 0 + 31 + + + + + 120 + 32 + + + + Alpha + + + 1.000000000000000 + + + 0.010000000000000 + + + + + + + + 100 + 32 + + + + + 120 + 32 + + + + + Wait 0 + + + + + Wait 1 + + + + + Wait 2 + + + + + Wait 3 + + + + + Wait 4 + + + + + Wait 5 + + + + + + + + + 70 + 32 + + + + + 120 + 32 + + + + Line Style + + + + + + + + 120 + 32 + + + + Alpha Rect + + + 1.000000000000000 + + + 0.010000000000000 + + + + + + + + 80 + 32 + + + + + 120 + 32 + + + + + + + + + 70 + 32 + + + + + 120 + 32 + + + + Line Style + + + + + + + + 120 + 32 + + + + Alpha Rect + + + 1.000000000000000 + + + 0.010000000000000 + + + + + + + + 70 + 20 + + + + + 9 + + + + Line style + + + Qt::AlignCenter + + + + + + + + 80 + 32 + + + + + 120 + 32 + + + + + + + + + 100 + 32 + + + + + 120 + 32 + + + + + Plot color 1 + + + + + Plot color 2 + + + + + + + + + 80 + 32 + + + + + 120 + 32 + + + + + + + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Clock spacing: + + + + + + + + 70 + 32 + + + + + 16777215 + 32 + + + + 999 + + + 999 + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 40 + 0 + + + + + + + + Clocks Number + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 70 + 0 + + + + + 70 + 16777215 + + + + Line width + + + + + + + + 0 + 32 + + + + + 120 + 32 + + + + Alpha Rect + + + + + + + + + + + 10 + 720 + 841 + 51 + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 200 + 0 + + + + + + + + Compile + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 15 + 20 + + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Load Pattern + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 15 + 20 + + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + View Pattern + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/plot.ui b/pyctbgui/pyctbgui/ui/plot.ui new file mode 100644 index 000000000..b01bc3e71 --- /dev/null +++ b/pyctbgui/pyctbgui/ui/plot.ui @@ -0,0 +1,1055 @@ + + + Form + + + + 0 + 0 + 860 + 800 + + + + + 860 + 800 + + + + Form + + + + + 10 + 50 + 841 + 141 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + true + + + Type: + + + + + + + false + + + Distribution + + + buttonGroup + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 2 + + + + + + + Digital plot: + + + + + + + Overlay + + + buttonGroup_2 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + show legend + + + true + + + + + + + Stripe + + + true + + + buttonGroup_2 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + true + + + + 0 + 31 + + + + Image decoder + + + + Matterhorn + + + + + Moench04 + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + true + + + + 120 + 31 + + + + Color map of the image + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + Decoder: + + + + + + + Color Map: + + + + + + + + + + + Options: + + + + + + + true + + + No Plot + + + false + + + buttonGroup + + + + + + + true + + + + 0 + 31 + + + + <html><head/><body><p>If set to high readout, zmq HWM is set to 2 and buffer size to 1MB to drop zmq packets to catch up.</p><p>If set to low readout (default), zmq HWM is set to zmq default (1000) and buffer size to os default to not drop any zmq packets.</p></body></html> + + + + Low - drop no zmq packet + + + + + High - drop zmq packets to catch up + + + + + + + + <html><head/><body><p>If set to high readout, zmq HWM is set to 2 and buffer size to 1MB to drop zmq packets to catch up.</p><p>If set to low readout (default), zmq HWM is set to zmq default (1000) and buffer size to os default to not drop any zmq packets.</p></body></html> + + + Readout speed: + + + + + + + true + + + Image + + + buttonGroup + + + + + + + true + + + Waveform + + + true + + + buttonGroup + + + + + + + + + 0 + 480 + 841 + 311 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + false + + + Fit Panel ADC: + + + + + + + false + + + Max: + + + + + + + false + + + Values + + + + + + + false + + + Dynamic Range: + + + + + + + false + + + Y: + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Min: + + + + + + + false + + + X: + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Image Pixels: + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Y + + + + + + + false + + + Min: + + + + + + + false + + + X + + + + + + + false + + + Max: + + + + + + + false + + + Serial offset: + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Plot Bit: + + + + + + + false + + + Raw Data + + + + + + + + 0 + 31 + + + + background-color: rgb(199, 213, 207); + + + Referesh + + + + + + + false + + + Pedestal Subtract + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + false + + + N Counters: + + + + + + + + + 10 + 219 + 841 + 81 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + -7 + 841 + 111 + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + Color Range: + + + + + + + + + 0 + 0 + 121 + 91 + + + + + + + + 16777215 + 15 + + + + All + + + true + + + buttonGroup_4 + + + + + + + true + + + + 16777215 + 15 + + + + 3-97% + + + buttonGroup_4 + + + + + + + + 16777215 + 15 + + + + Fixed + + + buttonGroup_4 + + + + + + + + + + + + 50 + 16777215 + + + + min: + + + + + + + false + + + -1000.000000000000000 + + + 100000.000000000000000 + + + + + + + + 50 + 16777215 + + + + max: + + + + + + + false + + + 100000.000000000000000 + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + + + 10 + 330 + 841 + 101 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + 0 + 0 + 841 + 51 + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + true + + + Pedestal: + + + + + + + + 250 + 0 + + + + recorded frames: 0 + + + + + + + true + + + Record + + + true + + + false + + + buttonGroup_3 + + + + + + + true + + + Apply + + + true + + + buttonGroup_3 + + + + + + + true + + + + 0 + 31 + + + + background-color: rgb(199, 213, 207); + + + Reset + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + + -1 + 49 + 841 + 51 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 120 + 31 + + + + background-color: rgb(199, 213, 207); + + + Load Pedestal + + + + + + + + 120 + 31 + + + + background-color: rgb(199, 213, 207); + + + Save Pedestal + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 40 + 20 + + + + + + + + + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/powerSupplies.ui b/pyctbgui/pyctbgui/ui/powerSupplies.ui new file mode 100644 index 000000000..d8739957c --- /dev/null +++ b/pyctbgui/pyctbgui/ui/powerSupplies.ui @@ -0,0 +1,483 @@ + + + Form + + + + 0 + 0 + 827 + 375 + + + + Form + + + + + 0 + 0 + 841 + 381 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 0 + 32 + + + + + 150 + 32 + + + + Only accepts value range (636 - 2468) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + mV + + + 2468 + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 0 + 32 + + + + + 150 + 32 + + + + Only accepts value range (636 - 2468) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + mV + + + 0 + + + 2468 + + + 0 + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + true + + + + 0 + 36 + + + + + 150 + 16777215 + + + + QPushButton{background-color: red;} +QPushButton:disabled{background-color: grey;} + + + Power off + + + false + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 100 + 16777215 + + + + VC + + + + + + + + 0 + 32 + + + + + 150 + 32 + + + + Only accepts value range (1200 - 2468) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + mV + + + 2468 + + + + + + + + 0 + 32 + + + + + 150 + 32 + + + + Only accepts value range (1200 - 2468) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + mV + + + 2468 + + + + + + + + 100 + 16777215 + + + + VB + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 100 + 16777215 + + + + VA + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 100 + 16777215 + + + + VD + + + + + + + + 100 + 16777215 + + + + VCHIP + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 0 + 32 + + + + + 150 + 32 + + + + Only accepts value range (636 - 2468) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + mV + + + 2468 + + + + + + + + 100 + 16777215 + + + + VIO + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 80 + 20 + + + + + + + + + 100 + 16777215 + + + + 0 + + + + + + + + 0 + 32 + + + + + 150 + 32 + + + + Only accepts value range (636 - 2468) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + mV + + + 2468 + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 80 + 20 + + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/signals.ui b/pyctbgui/pyctbgui/ui/signals.ui new file mode 100644 index 000000000..231c0b92f --- /dev/null +++ b/pyctbgui/pyctbgui/ui/signals.ui @@ -0,0 +1,6189 @@ + + + Form + + + + 0 + 0 + 831 + 821 + + + + + 831 + 821 + + + + Form + + + + + 0 + 0 + 831 + 821 + + + + + 831 + 821 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 28 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + true + + + + 16777215 + 16 + + + + + + + + + + false + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 26 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 2 + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 20 + + + + + + + + 0 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 23 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 8 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 43 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 22 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 44 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 19 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 60 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 7 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 18 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 16 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 59 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 29 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 41 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 4 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 58 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 9 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 17 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 6 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 1 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 35 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 51 + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 21 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 13 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 0 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 47 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 24 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 57 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 63 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 80 + 0 + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 32-63 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + true + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 36 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 48 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 3 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 37 + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 5 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 34 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 46 + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT3 1 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 32 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 50 + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 14 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 40 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + true + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 42 + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 25 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 39 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 0 + 0 + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 55 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 10 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 53 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 49 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 30 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 52 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 62 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 27 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 80 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 0-31 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 56 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 11 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 61 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 10 + + + + Out + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 15 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 50 + 0 + + + + + 16777215 + 16 + + + + + 10 + + + + BIT 12 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 38 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Plot + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 54 + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 45 + + + + + + + + 16777215 + 16 + + + + + + + false + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + Out + + + + + + + + 16777215 + 16 + + + + + 9 + + + + DB List + + + + + + + + 16777215 + 16 + + + + + 9 + + + + BIT 33 + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 10 + + + + DBit Offset: + + + + + + + + 0 + 0 + + + + + 200 + 32 + + + + + 200 + 32 + + + + + Monospace + 10 + + + + 0xFFFFFFFFFFFFFFFF + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 150 + 32 + + + + + 150 + 32 + + + + + 10 + + + + background-color: rgb(255, 255, 255); + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 50 + 0 + + + + + 10 + + + + IO Control Register: + + + + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/slowAdcs.ui b/pyctbgui/pyctbgui/ui/slowAdcs.ui new file mode 100644 index 000000000..546a30e53 --- /dev/null +++ b/pyctbgui/pyctbgui/ui/slowAdcs.ui @@ -0,0 +1,472 @@ + + + Form + + + + 0 + 0 + 841 + 571 + + + + + 841 + 571 + + + + Form + + + + + 0 + 0 + 841 + 571 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + SENSE 0: + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + + Cantarell + + + + background-color: rgb(199, 213, 207); + + + Update + + + + ../../../../.designer../../../../.designer + + + false + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + SENSE 4: + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + SENSE 5: + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + SENSE 6: + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + SENSE 1: + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + SENSE 2: + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + SENSE 3: + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + SENSE 7: + + + + + + + *** + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + Temperature + + + + + + + + 150 + 36 + + + + + 16777215 + 36 + + + + background-color: rgb(199, 213, 207); + + + Update + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + + diff --git a/pyctbgui/pyctbgui/ui/transceiver.ui b/pyctbgui/pyctbgui/ui/transceiver.ui new file mode 100644 index 000000000..7d1548028 --- /dev/null +++ b/pyctbgui/pyctbgui/ui/transceiver.ui @@ -0,0 +1,542 @@ + + + Form + + + + 0 + 0 + 841 + 239 + + + + + 841 + 181 + + + + Form + + + + + 10 + 20 + 841 + 181 + + + + + 841 + 181 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 150 + 32 + + + + + 150 + 32 + + + + + Monospace + 10 + + + + background-color: rgb(255, 255, 255); + + + 0xFFFF + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + false + + + + + + + + 10 + + + + Enable mask: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 80 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Transceiver 0 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Transceiver 2 + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Transceiver 1 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Transceiver 3 + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + Plot + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + En + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 10 + + + + + + + false + + + + + + + + + diff --git a/pyctbgui/pyctbgui/utils/__init__.py b/pyctbgui/pyctbgui/utils/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pyctbgui/pyctbgui/utils/alias_utility.py b/pyctbgui/pyctbgui/utils/alias_utility.py new file mode 100644 index 000000000..af5cbbe36 --- /dev/null +++ b/pyctbgui/pyctbgui/utils/alias_utility.py @@ -0,0 +1,101 @@ +from pathlib import Path + + +def read_alias_file(alias_file): + with open(alias_file) as fp: + lines_alias = fp.readlines() + return parse_alias_lines(lines_alias) + + +def parse_alias_lines(lines_alias): + bit_names = [None] * 64 + bit_plots = [None] * 64 + bit_colors = [None] * 64 + adc_names = [None] * 32 + adc_plots = [None] * 32 + adc_colors = [None] * 32 + dac_names = [None] * 18 + sense_names = [None] * 8 + power_names = [None] * 5 + pat_file_name = None + + for line_nr, line in enumerate(lines_alias): + ignore_list = ['PATCOMPILER'] + + # skip empty lines + if line == '\n' or len(line) == 0: + continue + # skip comments + if line.startswith('#'): + continue + + cmd, *args = line.split() + + if not args: + raise Exception( + f"Alias file parsing failed: Require atleast one argument in addition to command. ({line_nr}:{line})") + + if cmd.startswith("BIT"): + process_alias_bit_or_adc(cmd, args, bit_names, bit_plots, bit_colors) + + elif cmd.startswith("ADC"): + process_alias_bit_or_adc(cmd, args, adc_names, adc_plots, adc_colors) + + elif cmd.startswith("DAC"): + if len(args) > 1: + raise Exception(f"Too many arguments {len(args)} (expected max: 1) for this type. ({line_nr}:{line})") + i = int(cmd[3:]) + dac_names[i] = args[0] + + elif cmd.startswith("SENSE"): + if len(args) > 1: + raise Exception(f"Too many arguments {len(args)} (expected max: 1) for this type. ({line_nr}:{line})") + i = int(cmd[5:]) + sense_names[i] = args[0] + + elif cmd in ["VA", "VB", "VC", "VD", "VIO"]: + if len(args) > 1: + raise Exception(f"Too many arguments {len(args)} (expected max: 1) for this type. ({line_nr}:{line})") + + match cmd: + case "VA": + i = 0 + case "VB": + i = 1 + case "VC": + i = 2 + case "VD": + i = 3 + case "VIO": + i = 4 + power_names[i] = args[0] + + elif cmd == "PATFILE": + if len(args) > 1: + raise Exception(f"Too many arguments {len(args)} (expected max: 1) for this type. ({line_nr}:{line})") + + pat_file_name = args[0] + path = Path(pat_file_name) + if not path.is_file(): + raise Exception("Pattern file provided in alias file does not exist.

Pattern file:" + + pat_file_name) + elif cmd in ignore_list: + pass + + else: + raise Exception(f"Command: {cmd} not supported. Line {line_nr}:{line}") + + return bit_names, bit_plots, bit_colors, adc_names, adc_plots, adc_colors, dac_names, sense_names, power_names,\ + pat_file_name + + +def process_alias_bit_or_adc(cmd, args, names, plots, colors): + n_args = len(args) + i = int(cmd[3:]) + names[i] = args[0] + if n_args > 1: + plots[i] = bool(int(args[1])) + if n_args > 2: + colors[i] = args[2] + if n_args > 3: + raise Exception(f"Too many arguments {args} (expected max: 3) for this type in line.") diff --git a/pyctbgui/pyctbgui/utils/bit_utils.py b/pyctbgui/pyctbgui/utils/bit_utils.py new file mode 100644 index 000000000..335c9d3e9 --- /dev/null +++ b/pyctbgui/pyctbgui/utils/bit_utils.py @@ -0,0 +1,16 @@ +def set_bit(value, bit_nr): + return value | 1 << bit_nr + + +def remove_bit(value, bit_nr): + return value & ~(1 << bit_nr) + + +def bit_is_set(value, bit_nr): + return (value >> bit_nr) & 1 == 1 + + +def manipulate_bit(is_set, value, bit_nr): + if is_set: + return set_bit(value, bit_nr) + return remove_bit(value, bit_nr) diff --git a/pyctbgui/pyctbgui/utils/decoder.py b/pyctbgui/pyctbgui/utils/decoder.py new file mode 100644 index 000000000..6197f811c --- /dev/null +++ b/pyctbgui/pyctbgui/utils/decoder.py @@ -0,0 +1,51 @@ +from pyctbgui.utils.defines import Defines +from pyctbgui._decoder import * #bring in the function from the compiled extension +import numpy as np +""" +Python implementation, keep as a reference. Change name and replace +with C version to swap it out in the GUI +""" + + +def moench04(analog_buffer): + nAnalogCols = Defines.Moench04.nCols + nAnalogRows = Defines.Moench04.nRows + adcNumbers = Defines.Moench04.adcNumbers + nPixelsPerSC = Defines.Moench04.nPixelsPerSuperColumn + scWidth = Defines.Moench04.superColumnWidth + + analog_frame = np.zeros((nAnalogCols, nAnalogRows), dtype=analog_buffer.dtype) + + for iPixel in range(nPixelsPerSC): + for iSC, iAdc in enumerate(adcNumbers): + col = ((iAdc % 16) * scWidth) + (iPixel % scWidth) + if iSC < 16: + row = 199 - int(iPixel / scWidth) + else: + row = 200 + int(iPixel / scWidth) + index_min = iPixel * 32 + iSC + pixel_value = analog_buffer[index_min] + analog_frame[row, col] = pixel_value + + return analog_frame + + +def matterhorn(trans_buffer): + nTransceiverRows = Defines.Matterhorn.nRows + nTransceiverCols = Defines.Matterhorn.nCols + + transceiver_frame = np.zeros((nTransceiverCols, nTransceiverRows), dtype=trans_buffer.dtype) + + offset = 0 + nSamples = Defines.Matterhorn.nPixelsPerTransceiver + for row in range(Defines.Matterhorn.nRows): + for col in range(Defines.Matterhorn.nHalfCols): + #print(f'row:{row} col:{col} offset: {offset}') + for iTrans in range(Defines.Matterhorn.nTransceivers): + transceiver_frame[iTrans * Defines.Matterhorn.nHalfCols + col, + row] = trans_buffer[offset + nSamples * iTrans] + offset += 1 + if (col + 1) % nSamples == 0: + offset += nSamples + + return transceiver_frame diff --git a/pyctbgui/pyctbgui/utils/defines.py b/pyctbgui/pyctbgui/utils/defines.py new file mode 100644 index 000000000..51c6ac1cb --- /dev/null +++ b/pyctbgui/pyctbgui/utils/defines.py @@ -0,0 +1,111 @@ +from enum import Enum + + +class Defines: + Time_Wait_For_Packets_ms = 0.5 + Time_Status_Refresh_ms = 100 + Time_Plot_Refresh_ms = 20 + + Zmq_hwm_high_speed = 2 + Zmq_hwm_low_speed = -1 + + Acquisition_Tab_Index = 7 + Max_Tabs = 9 + + class adc: + tabIndex = 5 + count = 32 + half = 16 + BIT0_15_MASK = 0x0000FFFF + BIT16_31_MASK = 0xFFFF0000 + + class dac: + tabIndex = 0 + count = 18 + + class signals: + tabIndex = 3 + count = 64 + half = 32 + BIT0_31_MASK = 0x00000000FFFFFFFF + BIT32_63_MASK = 0xFFFFFFFF00000000 + + class pattern: + tabIndex = 6 + loops_count = 6 + + class transceiver: + count = 4 + tabIndex = 4 + + class slowAdc: + tabIndex = 2 + count = 8 + + colCount = 4 + + powerSupplies = ('A', 'B', 'C', 'D', 'IO') + + class ImageIndex(Enum): + Matterhorn = 0 + Moench04 = 1 + + class Matterhorn: + nRows = 48 + nHalfCols = 24 + nCols = 48 + nTransceivers = 2 + tranceiverEnable = 0x3 + nPixelsPerTransceiver = 4 + + class Moench04: + nRows = 400 + nCols = 400 + adcNumbers = [ + 9, 8, 11, 10, 13, 12, 15, 14, 1, 0, 3, 2, 5, 4, 7, 6, 23, 22, 21, 20, 19, 18, 17, 16, 31, 30, 29, 28, 27, + 26, 25, 24 + ] + nPixelsPerSuperColumn = 5000 + superColumnWidth = 25 + + Color_map = [ + 'viridis', 'plasma', 'inferno', 'magma', 'cividis', 'binary', 'gist_yarg', 'gist_gray', 'gray', 'bone', 'pink', + 'spring', 'summer', 'autumn', 'winter', 'cool', 'Wistia', 'hot', 'afmhot', 'gist_heat', 'copper', + 'gist_rainbow', 'rainbow', 'jet', 'turbo' + ] + Default_Color_Map = 'viridis' + + # pattern viewer defines + + # pattern plot + Colors_plot = ['Blue', 'Orange'] + + # Wait colors and line styles (6 needed from 0 to 5) + # Colors_wait = ['b', 'g', 'r', 'c', 'm', 'y'] + Colors_wait = ['Blue', 'Green', 'Red', 'Cyan', 'Magenta', 'Yellow'] + Linestyles_wait = ['--', '--', '--', '--', '--', '--'] + Alpha_wait = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5] + Alpha_wait_rect = [0.2, 0.2, 0.2, 0.2, 0.2, 0.2] + + # Loop colors and line styles (6 needed from 0 to 5) + Colors_loop = ['Green', 'Red', 'Purple', 'Brown', 'Pink', 'Grey'] + Linestyles_loop = ['-.', '-.', '-.', '-.', '-.', '-.'] + Alpha_loop = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5] + Alpha_loop_rect = [0.2, 0.2, 0.2, 0.2, 0.2, 0.2] + + # Display the count of clocks + Clock_vertical_lines_spacing = 50 + Show_clocks_number = True + Line_width = 2.0 + + Colors = [ + 'Blue', 'Orange', 'Green', 'Red', 'Purple', 'Brown', 'Pink', 'Gray', 'Olive', 'Cyan', 'Magenta', 'Yellow', + 'Black', 'White' + ] + + LineStyles = ['-', '--', '-.', ':'] + + class colorRange(Enum): + all = 0 + center = 1 + fixed = 2 diff --git a/pyctbgui/pyctbgui/utils/numpyWriter/__init__.py b/pyctbgui/pyctbgui/utils/numpyWriter/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pyctbgui/pyctbgui/utils/numpyWriter/npy_writer.py b/pyctbgui/pyctbgui/utils/numpyWriter/npy_writer.py new file mode 100644 index 000000000..7eea8ec67 --- /dev/null +++ b/pyctbgui/pyctbgui/utils/numpyWriter/npy_writer.py @@ -0,0 +1,224 @@ +""" +Wrapper to be able to append frames to a numpy file + +numpy header v1 + +- 6bytes \x93NUMPY +- 1 byte major version number \x01 +- 1 byte minor version number \x00 +- 2 bytes (unsigned short) HEADER_LEN length of header to follow +- Header as an ASCII dict terminated by \n padded with space \x20 to make sure +we get len(magic string) + 2 + len(length) + HEADER_LEN divisible with 64 +Allocate enough space to allow for the data to grow +""" + +import ast +import os +import zipfile +from pathlib import Path + +import numpy as np + + +class NumpyFileManager: + """ + class used to read and write into .npy files that can't be loaded completely into memory + + for read mode implements numpy like interface and file-like object function + """ + magic_str = np.lib.format.magic(1, 0) + headerLength = np.uint16(128) + FSEEK_FILE_END = 2 + BUFFER_MAX = 500 + + def __init__( + self, + file: str | Path | zipfile.ZipExtFile, + mode: str = 'r', + frameShape: tuple = None, + dtype=None, + ): + """ + initiates a NumpyFileManager class for reading or writing bytes directly to/from a .npy file + @param file: path to the file to open or create + @param frameShape: shape of the frame ex: (5000,) for waveforms or (400,400) for image + @param dtype: type of the numpy array's header + @param mode: file open mode must be in 'rwx' + """ + if mode not in ['r', 'w', 'x', 'r+']: + raise ValueError('file mode should be either r,w,x,r+') + + if isinstance(file, zipfile.ZipExtFile): + if mode != 'r': + raise ValueError('NumpyFileManager only supports read mode for zipfiles') + else: + if mode == 'x' and Path.is_file(Path(file)): + raise FileExistsError(f'file {file} exists while given mode is x') + + self.dtype = np.dtype(dtype) # in case we pass a type like np.float32 + self.frameShape = frameShape + self.frameCount = 0 + self.cursorPosition = self.headerLength + self.mode = mode + + # if newFile frameShape and dtype should be present + if mode == 'w' or mode == 'x': + assert frameShape is not None + assert dtype is not None + # create/clear the file with mode wb+ + self.file = open(file, 'wb+') + self.updateHeader() + + else: + # opens file for read and check if the header of the file corresponds to the given function + # arguments + if isinstance(file, zipfile.ZipExtFile): + self.file = file + else: + mode = 'rb' if self.mode == 'r' else 'rb+' + self.file = open(file, mode) + self.file.seek(10) + headerStr = self.file.read(np.uint16(self.headerLength - 10)).decode("UTF-8") + header_dict = ast.literal_eval(headerStr) + self.frameShape = header_dict['shape'][1:] + if frameShape is not None: + assert frameShape == self.frameShape, \ + f"shape in arguments ({frameShape}) is not the same as the shape of the stored " \ + f"file ({self.frameShape})" + + self.dtype = np.lib.format.descr_to_dtype(header_dict['descr']) + if dtype is not None: + assert dtype == self.dtype, \ + f"dtype in argument ({dtype}) is not the same as the dtype of the stored file ({self.dtype})" + + self.frameCount = header_dict['shape'][0] + + assert not header_dict['fortran_order'], "fortran_order in the stored file is not False" + + self.__frameSize = np.dtype(self.dtype).itemsize * np.prod(self.frameShape) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + + def restoreCursorPosition(func): + """ + decorator function used to restore the file descriptors + cursor position after using read or write functions + """ + + def wrapper(self, *args, **kwargs): + tmp = self.cursorPosition + result = func(self, *args, **kwargs) + self.cursorPosition = tmp + self.file.seek(tmp) + return result + + return wrapper + + @restoreCursorPosition + def updateHeader(self): + """ + updates the header of the .npy file with the class attributes + @note: fortran_order is always set to False + """ + if self.mode == 'r': + return + self.file.seek(0) + header_dict = { + 'descr': np.lib.format.dtype_to_descr(self.dtype), + 'fortran_order': False, + 'shape': (self.frameCount, *self.frameShape) + } + np.lib.format.write_array_header_1_0(self.file, header_dict) + self.flush() + + @restoreCursorPosition + def writeOneFrame(self, frame: np.ndarray): + """ + write one frame without buffering + @param frame: numpy array for a frame + """ + if frame.shape != self.frameShape: + raise ValueError(f"frame shape given {frame.shape} is not the same as the file's shape {self.frameShape}") + if frame.dtype != self.dtype: + raise ValueError(f"frame dtype given {frame.dtype} is not the same as the file's dtype {self.dtype}") + + self.file.seek(0, self.FSEEK_FILE_END) + self.frameCount += 1 + self.file.write(frame.tobytes()) + + def flush(self): + """ + persist data into disk + """ + self.file.flush() + os.fsync(self.file) + + @restoreCursorPosition + def readFrames(self, frameStart: int, frameEnd: int) -> np.ndarray: + """ + read frames from .npy file without loading the whole file to memory with np.load + @param frameStart: number of the frame to start reading from + @param frameEnd: index of the last frame (not inclusive) + @return: np.ndarray of frames of the shape [frameEnd-frameStart,*self.frameShape] + """ + frameCount = frameEnd - frameStart + + if frameStart < 0: + raise NotImplementedError("frameStart must be bigger than 0") + if frameCount < 0: + if frameStart <= 0: + raise NotImplementedError("frameEnd must be bigger than frameStart") + frameCount = 0 + self.file.seek(self.headerLength + frameStart * self.__frameSize) + data = self.file.read(frameCount * self.__frameSize) + return np.frombuffer(data, self.dtype).reshape([-1, *self.frameShape]) + + def read(self, frameCount): + """ + file like interface to read frameCount frames from the already stored position + @param frameCount: number of frames to read + @return: numpy array containing frameCount frames + """ + assert frameCount > 0 + data = self.file.read(frameCount * self.__frameSize) + self.cursorPosition += frameCount * self.__frameSize + return np.frombuffer(data, self.dtype).reshape([-1, *self.frameShape]) + + def seek(self, frameNumber): + """ + file-like interface to move the file's cursor position to the frameNumber + """ + assert frameNumber >= 0 + self.cursorPosition = self.headerLength + frameNumber * self.__frameSize + self.file.seek(self.cursorPosition) + + def close(self): + self.updateHeader() + self.file.close() + + def __getitem__(self, item): + isSlice = False + if isinstance(item, slice): + isSlice = True + if item.step is not None: + raise NotImplementedError("step parameter is not implemented yet") + if isSlice: + return self.readFrames(item.start, item.stop) + frame = self.readFrames(item, item + 1) + if frame.size != 0: + frame = frame.squeeze(0) + return frame + + def __del__(self): + """ + in case the user forgot to close the file + """ + if hasattr(self, 'file') and not self.file.closed: + try: + self.close() + except ImportError: + self.file.close() diff --git a/pyctbgui/pyctbgui/utils/numpyWriter/npz_writer.py b/pyctbgui/pyctbgui/utils/numpyWriter/npz_writer.py new file mode 100644 index 000000000..4f0cf881d --- /dev/null +++ b/pyctbgui/pyctbgui/utils/numpyWriter/npz_writer.py @@ -0,0 +1,91 @@ +from pathlib import Path +import shutil +import zipfile +import io + +import numpy as np +from pyctbgui.utils.numpyWriter.npy_writer import NumpyFileManager + + +class NpzFileWriter: + """ + Write data to npz file incrementally rather than compute all and write + once, as in ``np.save``. This class can be used with ``contextlib.closing`` + to ensure closed after usage. + """ + + def __init__(self, tofile: str, mode='w', compress_file=False): + """ + :param tofile: the ``npz`` file to write + :param mode: must be one of {'x', 'w', 'a'}. See + https://docs.python.org/3/library/zipfile.html for detail + """ + self.__openedFiles = {} + self.compression = zipfile.ZIP_DEFLATED if compress_file else zipfile.ZIP_STORED + self.tofile = tofile + self.mode = mode + self.file = zipfile.ZipFile(self.tofile, mode=self.mode, compression=self.compression) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.close() + + def writeArray(self, key: str, data: np.ndarray | bytes) -> None: + """ + overwrite existing data of name ``key``. + + :param key: the name of data to write + :param data: the data + """ + key += '.npy' + with io.BytesIO() as cbuf: + np.save(cbuf, data) + cbuf.seek(0) + with self.file.open(key, mode='w', force_zip64=True) as outfile: + shutil.copyfileobj(cbuf, outfile) + + def readFrames(self, file: str, frameStart: int, frameEnd: int): + file += '.npy' + with self.file.open(file, mode='r') as outfile: + npw = NumpyFileManager(outfile) + return npw.readFrames(frameStart, frameEnd) + + @staticmethod + def zipNpyFiles(filename: str, + files: list[str | Path], + fileKeys: list[str], + deleteOriginals=False, + compressed=False): + compression = zipfile.ZIP_DEFLATED if compressed else zipfile.ZIP_STORED + + with zipfile.ZipFile(filename, mode='w', compression=compression, allowZip64=True) as zipf: + for idx, file in enumerate(files): + zipf.write(file, arcname=fileKeys[idx] + '.npy') + if deleteOriginals: + for file in files: + Path.unlink(file) + + def __getitem__(self, item: str) -> NumpyFileManager: + """ + returns NumpyFileManager file handling the .npy file under the key item inside of the .npz file + @param item: + @return: + """ + if not isinstance(item, str): + raise TypeError('given item is not of type str') + if item not in self.__openedFiles: + outfile = self.file.open(item + '.npy', mode='r') + self.__openedFiles[item] = NumpyFileManager(outfile) + return self.__openedFiles[item] + + def namelist(self): + return sorted([key[:-4] for key in self.file.namelist()]) + + def close(self): + if hasattr(self, 'file') and self.file is not None: + self.file.close() + + def __del__(self): + self.close() diff --git a/pyctbgui/pyctbgui/utils/numpyWriter/usage.md b/pyctbgui/pyctbgui/utils/numpyWriter/usage.md new file mode 100644 index 000000000..b47bb742c --- /dev/null +++ b/pyctbgui/pyctbgui/utils/numpyWriter/usage.md @@ -0,0 +1,71 @@ +# Using numpyWriter module +## concept +numpyWriter is used to write and load huge numpy arrays that can't be fully loaded in RAM. +It is designed to write frames of a constant shape (defined by user) and incrementally add to .npy and .npz files without accessing all of its contents + +### NumpyFileManager +class to handle writing in .npy files frame by frame. +its positional parameter `file` can be of type: str,pathlib.Path, zipfile.ZipExtFile. This way we can use NumpyFileManager to open files by getting their path or +**in read mode** it can receiver file-like objects to read their data. + +the complexity of initializing from file-like objects is added to be able to read from .npz files which are simply a zip of .npy files. Furthermore now we can save our files .npz files and read from them (even when compressed (⊙_⊙) ) without loading the whole .npy or .npz in memory. + +### NpzFileWriter +class used to handle .npz file functionalities. it can zip existing .npy files, write a whole array in an .npz file without loading the whole .npz in memory, +and read frames from .npy files inside the .npz file + +## Usage + +```python +# create .npy file +npw = NumpyFileManager('file.npy', 'w', (400, 400), np.int32) +npw.addFrame(np.ones([400, 400], dtype=np.int32)) +npw.close() + +# read frames from existing .npy file +npw = NumpyFileManager('file.npy') +# if arr is stored in the .npy file this statement will return arr[50:100] +npw.readFrames(50, 100) + +# Numpy like interface +# NumpyFileManager is also subscriptable +npw[50:100] # returns the array arr[50:100] +npw[0] # returns the array arr[0] + +# File like interface +# the npw class's cursors is initialized on the first frame +npw.read(5) # reads five frames and updates the cursor +npw.seek(99) # updates the cursor to point it to the 99-th frame + +# to ensure that files are written to disk +npw.flush() + +# zip existing .npy files (stored on disk) +# filePaths: the paths to .npy files +# keys: name of the arrays inside of the .npz file +NpzFileWriter.zipNpyFiles('file.npz', filePaths, keys, compressed=True) + +# add numpy arrays incrementally to a .npz file +with NpzFileWriter('tmp.npz', 'w', compress_file=True) as npz: + npz.writeArray('adc', arr1) + npz.writeArray('tx', arr2) + +# read frames from adc.npy inside of tmp.npz +with NpzFileWriter('tmp.npz', 'r') as npz: + frames = npz.readFrames('adc', 5, 8) + +# NpzFileWriter is also subscriptable and returns a NumpyFileManager initialized +# to open the the file with the given key inside the .npz file +npz = NpzFileWriter('tmp.npz', 'r') +npz.writeArray('adc', arr1) + + +npz['adc'] # returns a NumpyFileManager +npz['adc'][50:100] # returns the array from 50 to 100 +# note once a NumpyFileManager instance is created internally NpzFileWriter stores it +# this is done to avoid opening and closing the same file +# also file-like interface can be used +npz['adc'].read(5) # returns arr[:5] +npz['adc'].seek(100) # updates the cursor +npz['adc'].read(2) # returns arr[100:2] +``` \ No newline at end of file diff --git a/pyctbgui/pyctbgui/utils/pixelmap.py b/pyctbgui/pyctbgui/utils/pixelmap.py new file mode 100644 index 000000000..6cfa28a14 --- /dev/null +++ b/pyctbgui/pyctbgui/utils/pixelmap.py @@ -0,0 +1,61 @@ +import numpy as np +# generate pixelmaps for various CTB detectors + + +def moench03(): + out = np.zeros((400, 400), dtype=np.uint32) + adc_numbers = np.array( + (12, 13, 14, 15, 12, 13, 14, 15, 8, 9, 10, 11, 8, 9, 10, 11, 4, 5, 6, 7, 4, 5, 6, 7, 0, 1, 2, 3, 0, 1, 2, 3), + dtype=np.int_) + for n_pixel in range(5000): + for i_sc in range(32): + adc_nr = adc_numbers[i_sc] + col = ((adc_nr * 25) + (n_pixel % 25)) + row = 0 + if (i_sc // 4 % 2 == 0): + row = 199 - (n_pixel // 25) + else: + row = 200 + (n_pixel // 25) + + i_analog = n_pixel * 32 + i_sc + out[row, col] = i_analog + + return out + + +def moench04_analog(): + out = np.zeros((400, 400), dtype=np.uint32) + adc_numbers = np.array((9, 8, 11, 10, 13, 12, 15, 14, 1, 0, 3, 2, 5, 4, 7, 6, 23, 22, 21, 20, 19, 18, 17, 16, 31, + 30, 29, 28, 27, 26, 25, 24), + dtype=np.int_) + + for n_pixel in range(5000): + for i_sc in range(32): + adc_nr = adc_numbers[i_sc] + col = ((adc_nr % 16) * 25) + (n_pixel % 25) + row = 0 + if i_sc < 16: + row = 199 - (n_pixel // 25) + else: + row = 200 + (n_pixel // 25) + + i_analog = n_pixel * 32 + i_sc + out[row, col] = i_analog + + return out + + +def matterhorn_transceiver(): + out = np.zeros((48, 48), dtype=np.uint32) + + offset = 0 + nSamples = 4 + for row in range(48): + for col in range(24): + for iTrans in range(2): + out[iTrans * 24 + col, row] = offset + nSamples * iTrans + offset += 1 + if (col + 1) % nSamples == 0: + offset += nSamples + + return out diff --git a/pyctbgui/pyctbgui/utils/plotPattern.py b/pyctbgui/pyctbgui/utils/plotPattern.py new file mode 100755 index 000000000..443b766e9 --- /dev/null +++ b/pyctbgui/pyctbgui/utils/plotPattern.py @@ -0,0 +1,726 @@ +#!/usr/bin/env python3 +""" +Created on Wed May 24 09:44:53 2017 + +Plot the pattern for New Chip Test Box (.pat) + +Changes: + - 2017-11-21 Adapt it to python-3 + - 2017-09-25 All can be plotted + - 2017-09-22 Can be plotted but the loop and wait not work yet + +@author: Jiaguo Zhang and Julian Heymes +""" + +import matplotlib.pyplot as plt +import numpy as np +from matplotlib.patches import Rectangle + + +class PlotPattern: + + def __init__(self, pattern, signalNames, colors_plot, colors_wait, linestyles_wait, alpha_wait, alpha_wait_rect, + colors_loop, linestyles_loop, alpha_loop, alpha_loop_rect, clock_vertical_lines_spacing, + show_clocks_number, line_width): + self.pattern = pattern + self.signalNames = signalNames + self.verbose = False + # TODO: send alias + + self.colors_plot = colors_plot.copy() + self.colors_wait = colors_wait.copy() + self.linestyles_wait = linestyles_wait.copy() + self.alpha_wait = alpha_wait.copy() + self.alpha_wait_rect = alpha_wait_rect.copy() + self.colors_loop = colors_loop.copy() + self.linestyles_loop = linestyles_loop.copy() + self.alpha_loop = alpha_loop.copy() + self.alpha_loop_rect = alpha_loop_rect.copy() + self.clock_vertical_lines_spacing = clock_vertical_lines_spacing + self.show_clocks_number = show_clocks_number + self.line_width = line_width + + self.colors_plot[0] = f'xkcd:{colors_plot[0].lower()}' + self.colors_plot[1] = f'xkcd:{colors_plot[1].lower()}' + + for i in range(6): + self.colors_wait[i] = f'xkcd:{colors_wait[i].lower()}' + self.colors_loop[i] = f'xkcd:{colors_loop[i].lower()}' + + if self.verbose: + self.printPatViewerParameters() + + def printPatViewerParameters(self): + print('Pattern Viewer Parameters:') + print(f'\tcolor1: {self.colors_plot[0]}, color2: {self.colors_plot[1]}') + print(f"\twait color: {self.colors_wait}") + print(f"\twait linestyles: {self.linestyles_wait}") + print(f"\twait alpha: {self.alpha_wait}") + print(f"\twait alpha rect: {self.alpha_wait_rect}") + print(f"\tloop color: {self.colors_loop}") + print(f"\tloop linestyles: {self.linestyles_loop}") + print(f"\tloop alpha: {self.alpha_loop}") + print(f"\tloop alpha rect: {self.alpha_loop_rect}") + print(f'\tclock vertical lines spacing: {self.clock_vertical_lines_spacing}') + print(f'\tshow clocks number: {self.show_clocks_number}') + print(f'\tline width: {self.line_width}') + print('\n') + + def dec2binary(self, dec_num, width=None): + return np.binary_repr(int(dec_num), width=width) + + def hex2dec(self, string_num): + return str(int(string_num.upper(), 16)) + + def hex2binary(self, string_num, width=None): + return self.dec2binary(self.hex2dec(string_num.upper()), width=width) + + def patternPlot(self): + # Define a hex to binary function + # global definition + # base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F] + self.base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A') + 6)] + + # Load the pattern and get all lines + # Loop all lines + # with open(Folder + "/" + File_pat + ".pat") as f_pat: + with open(self.pattern) as f_pat: + lines_pat = f_pat.readlines() + + # number of lines for pattern file + nlines_pat = len(lines_pat) + # a counter + cnt = 0 + if self.verbose: + print("The total number of lines of pattern:", nlines_pat) + + # Loop all lines of pattern + waittime0 = None + waittime1 = None + waittime2 = None + waittime3 = None + waittime4 = None + waittime5 = None + + nloop0 = None + nloop1 = None + nloop2 = None + nloop3 = None + nloop4 = None + nloop5 = None + + for k in range(nlines_pat): + # content of line + words_line = lines_pat[k].split() + if len(words_line) < 2: + continue + if words_line[0] == "patword": + # print words_line from b0 to b63 + bits = self.hex2binary(words_line[-1], 64)[::-1] + if self.verbose: + print("The bits for line-", k + 1, "is:", bits) + # convert string bits to decimal array + num_bits = np.array(list(map(str, bits)), dtype="uint16") + if cnt == 0: + mat_pat = num_bits + else: + # add bits to matrix + mat_pat = np.concatenate((mat_pat, num_bits), axis=0) + cnt = cnt + 1 + # print("The matrix of pattern:", mat_pat.reshape(int(cnt), int(len(num_bits)))) + + # Look at the io: 0 for sending to ASIC, 1 for reading from ASIC + if words_line[0] == "patioctrl": + # print words_line + if self.verbose: + print(words_line[-1]) + bits = self.hex2binary(words_line[-1], 64)[::-1] + if self.verbose: + print(bits) + # convert string bits to decimal array + self.out_bits = np.array(list(map(str, bits)), dtype="uint16") + + if self.verbose: + print(words_line) + # Deal with waiting point + + # ====== WAIT ====== + if words_line[0] == "patwait" and words_line[1] == "0": + wait0 = int(self.hex2dec(words_line[2])) + if self.verbose: + print("wait 0 at:", wait0) + if words_line[0] == "patwaittime" and words_line[1] == "0": + waittime0 = int(words_line[2]) + if self.verbose: + print("wait 0 for:", waittime0) + + if words_line[0] == "patwait" and words_line[1] == "1": + wait1 = int(self.hex2dec(words_line[2])) + if self.verbose: + print("wait 1 at:", wait1) + if words_line[0] == "patwaittime" and words_line[1] == "1": + waittime1 = int(words_line[2]) + if self.verbose: + print("wait 1 for:", waittime1) + + if words_line[0] == "patwait" and words_line[1] == "2": + wait2 = int(self.hex2dec(words_line[2])) + if self.verbose: + print("wait 2 at:", wait2) + if words_line[0] == "patwaittime" and words_line[1] == "2": + waittime2 = int(words_line[2]) + if self.verbose: + print("wait 2 for:", waittime2) + + if words_line[0] == "patwait" and words_line[1] == "3": + wait3 = int(self.hex2dec(words_line[2])) + if self.verbose: + print("wait 0 at:", wait3) + if words_line[0] == "patwaittime" and words_line[1] == "3": + waittime3 = int(words_line[2]) + if self.verbose: + print("wait 0 for:", waittime3) + + if words_line[0] == "patwait" and words_line[1] == "4": + wait4 = int(self.hex2dec(words_line[2])) + if self.verbose: + print("wait 1 at:", wait4) + if words_line[0] == "patwaittime" and words_line[1] == "4": + waittime4 = int(words_line[2]) + if self.verbose: + print("wait 1 for:", waittime4) + + if words_line[0] == "patwait" and words_line[1] == "5": + wait5 = int(self.hex2dec(words_line[2])) + if self.verbose: + print("wait 2 at:", wait5) + if words_line[0] == "patwaittime" and words_line[1] == "5": + waittime5 = int(words_line[2]) + if self.verbose: + print("wait 2 for:", waittime5) + + # ====== LOOPS ====== + if words_line[0] == "patloop" and words_line[1] == "0": + loop0_start = int(self.hex2dec(words_line[2])) + loop0_end = int(self.hex2dec(words_line[3])) + if self.verbose: + print("loop 0 start:", loop0_start, ", end:", loop0_end) + if words_line[0] == "patnloop" and words_line[1] == "0": + nloop0 = int(words_line[2]) + if self.verbose: + print("loop 0 times:", nloop0) + + if words_line[0] == "patloop" and words_line[1] == "1": + loop1_start = int(self.hex2dec(words_line[2])) + loop1_end = int(self.hex2dec(words_line[3])) + if self.verbose: + print("loop 1 start:", loop1_start, ", end:", loop1_end) + if words_line[0] == "patnloop" and words_line[1] == "1": + nloop1 = int(words_line[2]) + if self.verbose: + print("loop 1 times:", nloop1) + + if words_line[0] == "patloop" and words_line[1] == "2": + loop2_start = int(self.hex2dec(words_line[2])) + loop2_end = int(self.hex2dec(words_line[3])) + if self.verbose: + print("loop 2 start:", loop2_start, ", end:", loop2_end) + if words_line[0] == "patnloop" and words_line[1] == "2": + nloop2 = int(words_line[2]) + if self.verbose: + print("loop 2 times:", nloop2) + + if words_line[0] == "patloop" and words_line[1] == "3": + loop3_start = int(self.hex2dec(words_line[2])) + loop3_end = int(self.hex2dec(words_line[3])) + if self.verbose: + print("loop 3 start:", loop3_start, ", end:", loop3_end) + if words_line[0] == "patnloop" and words_line[1] == "3": + nloop3 = int(words_line[2]) + if self.verbose: + print("loop 3 times:", nloop3) + + if words_line[0] == "patloop" and words_line[1] == "4": + loop4_start = int(self.hex2dec(words_line[2])) + loop4_end = int(self.hex2dec(words_line[3])) + if self.verbose: + print("loop 4 start:", loop4_start, ", end:", loop4_end) + if words_line[0] == "patnloop" and words_line[1] == "4": + nloop4 = int(words_line[2]) + if self.verbose: + print("loop 4 times:", nloop4) + + if words_line[0] == "patloop" and words_line[1] == "5": + loop5_start = int(self.hex2dec(words_line[2])) + loop5_end = int(self.hex2dec(words_line[3])) + if self.verbose: + print("loop 5 start:", loop5_start, ", end:", loop5_end) + if words_line[0] == "patnloop" and words_line[1] == "5": + nloop5 = int(words_line[2]) + if self.verbose: + print("loop 5 times:", nloop5) + + # no patioctrl commands read + if not hasattr(self, 'out_bits'): + raise Exception("No patioctrl command found in pattern file") + # print(self.out_bits) + + # internal counter + avail_index = [] + avail_name = [] + # Remove non-used bits + for i in range(64): + # if self.out_bits[0][i] == 1: + if self.out_bits[i] == 1: + avail_index.append(i) + avail_name.append(self.signalNames[i]) + if self.verbose: + print(avail_index) + print(avail_name) + + # number of effective used bits + nbiteff = len(avail_name) + + # subMat = mat_ext[:,index] + # print(mat_pat.shape) + subMat = mat_pat.reshape(int(cnt), int(len(num_bits)))[0:, avail_index] + # subMat = mat_pat[avail_index] + # timing = np.linspace(0, subMat.shape[0] - 1, subMat.shape[0]) + plt.rcParams['figure.figsize'] = 15, 5 + + # ============= PLOTTING ============= + + plt.rcParams["font.weight"] = "bold" + plt.rcParams["axes.labelweight"] = "bold" + fig, axs = plt.subplots(nbiteff, sharex='all') + plt.subplots_adjust(wspace=0, hspace=0) + # axs[nbiteff - 1].set(xlabel='Timing [clk]') + for idx, i in enumerate(range(nbiteff)): + axs[idx].tick_params(axis='x', labelsize=6) + + axs[idx].plot(subMat.T[i], + "-", + drawstyle="steps-post", + linewidth=self.line_width, + color=self.colors_plot[idx % 2]) + x_additional = range(len(subMat.T[i]) - 1, len(subMat.T[i]) + 2) + additional_stuff = [subMat.T[i][-1]] * 3 + + axs[idx].plot(x_additional, + additional_stuff, + "--", + drawstyle="steps-post", + linewidth=self.line_width, + color=self.colors_plot[idx % 2], + alpha=0.5) + axs[idx].yaxis.set_ticks([0.5], minor=False) + axs[idx].xaxis.set_ticks(np.arange(0, len(subMat.T[i]) + 10, self.clock_vertical_lines_spacing)) + + axs[idx].yaxis.set_ticklabels([avail_name[i]]) + axs[idx].get_yticklabels()[0].set_color(self.colors_plot[idx % 2]) + + axs[idx].grid(1, 'both', 'both', alpha=0.5) + axs[idx].yaxis.grid(which="both", color=self.colors_plot[idx % 2], alpha=0.2) + if idx != nbiteff - 1: + if not self.show_clocks_number: + axs[idx].xaxis.set_ticklabels([]) + axs[idx].set(xlabel=' ', ylim=(-0.2, 1.2)) + else: + axs[idx].set(xlabel='Timing [clk]', ylim=(-0.2, 1.2)) + # axs[idx].set_xlim(left=0) + axs[idx].set_xlim(left=0, right=len(subMat.T[i]) + 1) + axs[idx].spines['top'].set_visible(False) + axs[idx].spines['right'].set_alpha(0.2) + axs[idx].spines['right'].set_visible(True) + axs[idx].spines['bottom'].set_visible(False) + axs[idx].spines['left'].set_visible(False) + + # ===================================================================================================== + # Plot the wait lines + # Wait 0 + if waittime0 is not None: + if waittime0 == 0: + axs[idx].plot([wait0, wait0], [-10, 10], + linestyle=self.linestyles_wait[0], + color=self.colors_wait[0], + alpha=self.alpha_wait[0], + linewidth=self.line_width) + axs[idx].plot([wait0 + 1, wait0 + 1], [-10, 10], + linestyle=self.linestyles_wait[0], + color=self.colors_wait[0], + linewidth=self.line_width, + alpha=self.alpha_wait[0]) + axs[idx].add_patch( + Rectangle((wait0, -10), + 1, + 20, + label="wait 0: skipped" if idx == 0 else "", + facecolor=self.colors_wait[0], + alpha=self.alpha_wait_rect[0], + hatch='\\\\')) + else: + axs[idx].plot([wait0, wait0], [-10, 10], + linestyle=self.linestyles_wait[0], + color=self.colors_wait[0], + label="wait 0: " + str(waittime0) + " clk" if idx == 0 else "", + linewidth=self.line_width, + alpha=self.alpha_wait[0]) + + # Wait 1 + if waittime1 is not None: + if waittime1 == 0: + axs[idx].plot([wait1, wait1], [-10, 10], + linestyle=self.linestyles_wait[1], + color=self.colors_wait[1], + alpha=self.alpha_wait[1], + linewidth=self.line_width) + axs[idx].plot([wait1 + 1, wait1 + 1], [-10, 10], + linestyle=self.linestyles_wait[1], + color=self.colors_wait[1], + linewidth=self.line_width, + alpha=self.alpha_wait[1]) + axs[idx].add_patch( + Rectangle((wait1, -10), + 1, + 20, + label="wait 1: skipped" if idx == 0 else "", + facecolor=self.colors_wait[1], + alpha=self.alpha_wait_rect[1], + hatch='\\\\')) + else: + axs[idx].plot([wait1, wait1], [-10, 10], + linestyle=self.linestyles_wait[1], + color=self.colors_wait[1], + label="wait 1: " + str(waittime1) + " clk" if idx == 0 else "", + linewidth=self.line_width, + alpha=self.alpha_wait[1]) + + # Wait 2 + if waittime2 is not None: + if waittime2 == 0: + axs[idx].plot([wait2, wait2], [-10, 10], + linestyle=self.linestyles_wait[2], + color=self.colors_wait[2], + alpha=self.alpha_wait[2], + linewidth=self.line_width) + axs[idx].plot([wait2 + 1, wait2 + 1], [-10, 10], + linestyle=self.linestyles_wait[2], + color=self.colors_wait[2], + linewidth=self.line_width, + alpha=self.alpha_wait[2]) + axs[idx].add_patch( + Rectangle((wait2, -10), + 1, + 20, + label="wait 2: skipped" if idx == 0 else "", + facecolor=self.colors_wait[2], + alpha=self.alpha_wait_rect[2], + hatch='\\\\')) + else: + axs[idx].plot([wait2, wait2], [-10, 10], + linestyle=self.linestyles_wait[2], + color=self.colors_wait[2], + label="wait 2: " + str(waittime2) + " clk" if idx == 0 else "", + linewidth=self.line_width, + alpha=self.alpha_wait[2]) + + # Wait 3 + if waittime3 is not None: + if waittime3 == 0: + axs[idx].plot([wait3, wait3], [-10, 10], + linestyle=self.linestyles_wait[3], + color=self.colors_wait[3], + alpha=self.alpha_wait[3], + linewidth=self.line_width) + axs[idx].plot([wait3 + 1, wait3 + 1], [-10, 10], + linestyle=self.linestyles_wait[3], + color=self.colors_wait[3], + linewidth=self.line_width, + alpha=self.alpha_wait[3]) + axs[idx].add_patch( + Rectangle((wait3, -10), + 1, + 20, + label="wait 3: skipped" if idx == 0 else "", + facecolor=self.colors_wait[3], + alpha=self.alpha_wait_rect[3], + hatch='\\\\')) + else: + axs[idx].plot([wait3, wait3], [-10, 10], + linestyle=self.linestyles_wait[3], + color=self.colors_wait[3], + label="wait 3: " + str(waittime3) + " clk" if idx == 0 else "", + linewidth=self.line_width, + alpha=self.alpha_wait[3]) + + # Wait 4 + if waittime4 is not None: + if waittime4 == 0: + axs[idx].plot([wait4, wait4], [-10, 10], + linestyle=self.linestyles_wait[4], + color=self.colors_wait[4], + alpha=self.alpha_wait[4], + linewidth=self.line_width) + axs[idx].plot([wait4 + 1, wait4 + 1], [-10, 10], + linestyle=self.linestyles_wait[4], + color=self.colors_wait[4], + linewidth=self.line_width, + alpha=self.alpha_wait[4]) + axs[idx].add_patch( + Rectangle((wait4, -10), + 1, + 20, + label="wait 4: skipped" if idx == 0 else "", + facecolor=self.colors_wait[4], + alpha=self.alpha_wait_rect[4], + hatch='\\\\')) + else: + axs[idx].plot([wait4, wait4], [-10, 10], + linestyle=self.linestyles_wait[4], + color=self.colors_wait[4], + label="wait 4: " + str(waittime4) + " clk" if idx == 0 else "", + linewidth=self.line_width, + alpha=self.alpha_wait[4]) + + # Wait 5 + if waittime5 is not None: + if waittime5 == 0: + axs[idx].plot([wait5, wait5], [-10, 10], + linestyle=self.linestyles_wait[5], + color=self.colors_wait[5], + alpha=self.alpha_wait[5], + linewidth=self.line_width) + axs[idx].plot([wait5 + 1, wait5 + 1], [-10, 10], + linestyle=self.linestyles_wait[5], + color=self.colors_wait[5], + linewidth=self.line_width, + alpha=self.alpha_wait[5]) + axs[idx].add_patch( + Rectangle((wait5, -10), + 1, + 20, + label="wait 5: skipped" if idx == 0 else "", + facecolor=self.colors_wait[5], + alpha=self.alpha_wait_rect[5], + hatch='\\\\')) + else: + axs[idx].plot([wait5, wait5], [-10, 10], + linestyle=self.linestyles_wait[5], + color=self.colors_wait[5], + label="wait 5: " + str(waittime5) + " clk" if idx == 0 else "", + linewidth=self.line_width, + alpha=self.alpha_wait[5]) + + # ===================================================================================================== + # Plot the loop lines + # Loop 0 + if nloop0 is not None: + if nloop0 == 0: + axs[idx].plot([loop0_start, loop0_start], [-10, 10], + linestyle=self.linestyles_loop[0], + color=self.colors_loop[0], + alpha=self.alpha_loop[0], + linewidth=self.line_width) + axs[idx].plot([loop0_end + 1, loop0_end + 1], [-10, 10], + linestyle=self.linestyles_loop[0], + color=self.colors_loop[0], + alpha=self.alpha_loop[0], + linewidth=self.line_width) + axs[idx].add_patch( + Rectangle((loop0_start, -10), + loop0_end + 1 - loop0_start, + 20, + label="loop 0: skipped" if idx == 0 else "", + facecolor=self.colors_loop[0], + alpha=self.alpha_loop_rect[0], + hatch='//')) + else: + axs[idx].plot([loop0_start, loop0_start], [-10, 10], + linestyle=self.linestyles_loop[0], + color=self.colors_loop[0], + alpha=self.alpha_loop[0], + label="loop 0: " + str(nloop0) + " times" if idx == 0 else "", + linewidth=self.line_width) + axs[idx].plot([loop0_end, loop0_end], [-10, 10], + linestyle=self.linestyles_loop[0], + color=self.colors_loop[0], + alpha=self.alpha_loop[0], + linewidth=self.line_width) + + # Loop 1 + if nloop1 is not None: + if nloop1 == 0: + axs[idx].plot([loop1_start, loop1_start], [-10, 10], + linestyle=self.linestyles_loop[1], + color=self.colors_loop[1], + alpha=self.alpha_loop[1], + linewidth=self.line_width) + axs[idx].plot([loop1_end + 1, loop1_end + 1], [-10, 10], + linestyle=self.linestyles_loop[1], + color=self.colors_loop[1], + alpha=self.alpha_loop[1], + linewidth=self.line_width) + axs[idx].add_patch( + Rectangle((loop1_start, -10), + loop1_end + 1 - loop1_start, + 20, + label="loop 1: skipped" if idx == 0 else "", + facecolor=self.colors_loop[1], + alpha=self.alpha_loop_rect[1], + hatch='//')) + else: + axs[idx].plot([loop1_start, loop1_start], [-10, 10], + linestyle=self.linestyles_loop[1], + color=self.colors_loop[1], + alpha=self.alpha_loop[1], + label="loop 1: " + str(nloop1) + " times" if idx == 0 else "", + linewidth=self.line_width) + axs[idx].plot([loop1_end, loop1_end], [-10, 10], + linestyle=self.linestyles_loop[1], + color=self.colors_loop[1], + alpha=self.alpha_loop[1], + linewidth=self.line_width) + + # Loop 2 + if nloop2 is not None: + if nloop2 == 0: + axs[idx].plot([loop2_start, loop2_start], [-10, 10], + linestyle=self.linestyles_loop[2], + color=self.colors_loop[2], + alpha=self.alpha_loop[2], + linewidth=self.line_width) + axs[idx].plot([loop2_end + 1, loop2_end + 1], [-10, 10], + linestyle=self.linestyles_loop[2], + color=self.colors_loop[2], + alpha=self.alpha_loop[2], + linewidth=self.line_width) + axs[idx].add_patch( + Rectangle((loop2_start, -10), + loop2_end + 1 - loop2_start, + 20, + label="loop 2: skipped" if idx == 0 else "", + facecolor=self.colors_loop[2], + alpha=self.alpha_loop_rect[2], + hatch='//')) + else: + axs[idx].plot([loop2_start, loop2_start], [-10, 10], + linestyle=self.linestyles_loop[2], + color=self.colors_loop[2], + alpha=self.alpha_loop[2], + label="loop 2: " + str(nloop2) + " times" if idx == 0 else "", + linewidth=self.line_width) + axs[idx].plot([loop2_end, loop2_end], [-10, 10], + linestyle=self.linestyles_loop[2], + color=self.colors_loop[2], + alpha=self.alpha_loop[2], + linewidth=self.line_width) + + # Loop 3 + if nloop3 is not None: + if nloop3 == 0: + axs[idx].plot([loop3_start, loop3_start], [-10, 10], + linestyle=self.linestyles_loop[3], + color=self.colors_loop[3], + alpha=self.alpha_loop[3], + linewidth=self.line_width) + axs[idx].plot([loop3_end + 1, loop3_end + 1], [-10, 10], + linestyle=self.linestyles_loop[3], + color=self.colors_loop[3], + alpha=self.alpha_loop[3], + linewidth=self.line_width) + axs[idx].add_patch( + Rectangle((loop3_start, -10), + loop3_end + 1 - loop3_start, + 20, + label="loop 3: skipped" if idx == 0 else "", + facecolor=self.colors_loop[3], + alpha=self.alpha_loop_rect[3], + hatch='//')) + else: + axs[idx].plot([loop3_start, loop3_start], [-10, 10], + linestyle=self.linestyles_loop[3], + color=self.colors_loop[3], + alpha=self.alpha_loop[3], + label="loop 3: " + str(nloop3) + " times" if idx == 0 else "", + linewidth=self.line_width) + axs[idx].plot([loop3_end, loop3_end], [-10, 10], + linestyle=self.linestyles_loop[3], + color=self.colors_loop[3], + alpha=self.alpha_loop[3], + linewidth=self.line_width) + + # Loop 4 + if nloop4 is not None: + if nloop4 == 0: + axs[idx].plot([loop4_start, loop4_start], [-10, 10], + linestyle=self.linestyles_loop[4], + color=self.colors_loop[4], + alpha=self.alpha_loop[4], + linewidth=self.line_width) + axs[idx].plot([loop4_end + 1, loop4_end + 1], [-10, 10], + linestyle=self.linestyles_loop[4], + color=self.colors_loop[4], + alpha=self.alpha_loop[4], + linewidth=self.line_width) + axs[idx].add_patch( + Rectangle((loop4_start, -10), + loop4_end + 1 - loop4_start, + 20, + label="loop 4: skipped" if idx == 0 else "", + facecolor=self.colors_loop[4], + alpha=self.alpha_loop_rect[4], + hatch='//')) + else: + axs[idx].plot([loop4_start, loop4_start], [-10, 10], + linestyle=self.linestyles_loop[4], + color=self.colors_loop[4], + alpha=self.alpha_loop[4], + label="loop 4: " + str(nloop4) + " times" if idx == 0 else "", + linewidth=self.line_width) + axs[idx].plot([loop4_end, loop4_end], [-10, 10], + linestyle=self.linestyles_loop[4], + color=self.colors_loop[4], + alpha=self.alpha_loop[4], + linewidth=self.line_width) + + # Loop 5 + if nloop5 is not None: + if nloop5 == 0: + axs[idx].plot([loop5_start, loop5_start], [-10, 10], + linestyle=self.linestyles_loop[5], + color=self.colors_loop[5], + alpha=self.alpha_loop[5], + linewidth=self.line_width) + axs[idx].plot([loop5_end + 1, loop5_end + 1], [-10, 10], + linestyle=self.linestyles_loop[5], + color=self.colors_loop[5], + alpha=self.alpha_loop[5], + linewidth=self.line_width) + axs[idx].add_patch( + Rectangle((loop5_start, -10), + loop5_end + 1 - loop5_start, + 20, + label="loop 5: skipped" if idx == 0 else "", + facecolor=self.colors_loop[5], + alpha=self.alpha_loop_rect[5], + hatch='//')) + else: + axs[idx].plot([loop5_start, loop5_start], [-10, 10], + linestyle=self.linestyles_loop[5], + color=self.colors_loop[5], + alpha=self.alpha_loop[5], + label="loop 5: " + str(nloop5) + " times" if idx == 0 else "", + linewidth=self.line_width) + axs[idx].plot([loop5_end, loop5_end], [-10, 10], + linestyle=self.linestyles_loop[5], + color=self.colors_loop[5], + alpha=self.alpha_loop[5], + linewidth=self.line_width) + + n_cols = np.count_nonzero([ + waittime0 != 0, waittime1 != 0, waittime2 != 0, waittime3 != 0, waittime4 != 0, waittime5 != 0, nloop0 + != 0, nloop1 != 0, nloop2 != 0, nloop3 != 0, nloop4 != 0, nloop5 != 0 + ]) + if n_cols > 0: + fig.legend(loc="upper center", ncol=n_cols) + return fig diff --git a/pyctbgui/pyctbgui/utils/recordOrApplyPedestal.py b/pyctbgui/pyctbgui/utils/recordOrApplyPedestal.py new file mode 100644 index 000000000..235e76d22 --- /dev/null +++ b/pyctbgui/pyctbgui/utils/recordOrApplyPedestal.py @@ -0,0 +1,100 @@ +import logging +from pathlib import Path + +import numpy as np + +__frameCount = 0 +__pedestalSum = np.array(0, np.float64) +__pedestal = np.array(0, np.float32) +__loadedPedestal = False + + +def reset(plotTab): + global __frameCount, __pedestalSum, __pedestal, __loadedPedestal + __frameCount = 0 + __pedestalSum = np.array(0, np.float64) + __pedestal = np.array(0, np.float64) + __loadedPedestal = False + + plotTab.updateLabelPedestalFrames() + + +def getFramesCount(): + return __frameCount + + +def getPedestal(): + return __pedestal + + +def calculatePedestal(): + global __pedestalSum, __pedestal + if __loadedPedestal: + return __pedestal + if __frameCount == 0: + __pedestal = np.array(0, np.float64) + else: + __pedestal = __pedestalSum / __frameCount + return __pedestal + + +def savePedestal(path=Path('/tmp/pedestal')): + pedestal = calculatePedestal() + np.save(path, pedestal) + + +def loadPedestal(path: Path): + global __pedestal, __loadedPedestal + __loadedPedestal = True + __pedestal = np.load(path) + + +__logger = logging.getLogger('recordOrApplyPedestal') + + +def recordOrApplyPedestal(func): + """ + decorator function used to apply pedestal functionalities + @param func: processing function that needs to be wrapped + @return: wrapper function to be called + """ + + def wrapper(obj, *args, **kwargs): + """ + wrapeer that calls func (a raw data _processing function) and calculates or applies a pedestal to it + @param obj: reference to func's class instance (self of its class) + @return: if record mode: return frame untouched, if apply mode: return frame - pedestal + """ + global __frameCount, __pedestal, __pedestalSum + + frame = func(obj, *args, **kwargs) + if not np.array_equal(0, __pedestalSum) and __pedestalSum.shape != frame.shape: + # check if __pedestalSum has same different shape as the frame + __logger.info('pedestal shape mismatch. resetting pedestal...') + reset(obj.plotTab) + + if obj.plotTab.pedestalRecord: + if __loadedPedestal: + # reset loaded pedestal if we acquire in record mode + __logger.warning('resetting loaded pedestal...') + reset(obj.plotTab) + __frameCount += 1 + + __pedestalSum = np.add(__pedestalSum, frame, dtype=np.float64) + + obj.plotTab.updateLabelPedestalFrames() + return frame + if obj.plotTab.pedestalApply: + # apply pedestal + # check if pedestal is calculated + if __loadedPedestal and frame.shape != __pedestal.shape: + __logger.warning('pedestal shape mismatch. resetting pedestal...') + obj.plotTab.mainWindow.statusbar.setStyleSheet("color:red") + obj.plotTab.mainWindow.statusbar.showMessage('pedestal shape mismatch. resetting pedestal...') + reset(obj.plotTab) + + return frame - calculatePedestal() + + return frame + + return wrapper diff --git a/pyctbgui/pyproject.toml b/pyctbgui/pyproject.toml new file mode 100644 index 000000000..08de6be1c --- /dev/null +++ b/pyctbgui/pyproject.toml @@ -0,0 +1,55 @@ +[build-system] +requires = ["setuptools", "numpy"] +build-backend = "setuptools.build_meta" + +[tool.ruff] +line-length = 119 +select = ["E","F","UP","PT","RET","SLF","TID","PTH","NPY"] +# other usefule rules "N" "PL" +# rules to ignore +# PTH123 causes issues with gh actions +ignore = ["UP032","PTH123"] + +# Exclude a variety of commonly ignored directories. +exclude = [ + ".bzr", + ".direnv", + ".eggs", + ".git", + ".git-rewrite", + ".hg", + ".mypy_cache", + ".nox", + ".pants.d", + ".pytype", + ".ruff_cache", + ".svn", + ".tox", + ".venv", + "__pypackages__", + "_build", + "buck-out", + "build", + "dist", + "node_modules", + "venv", +] + +target-version = "py311" + +[tool.ruff.per-file-ignores] +"__init__.py" = ["F401"] +"pyctbgui/utils/decoder.py" = ["F403"] + + +[tool.yapf] +based_on_style = "pep8" +COLUMN_LIMIT = 119 + +[tool.coverage.run] +branch = false + +[tool.coverage.report] +include = [ + "pyctbgui/*" +] diff --git a/pyctbgui/setup.py b/pyctbgui/setup.py new file mode 100644 index 000000000..1bb1e3848 --- /dev/null +++ b/pyctbgui/setup.py @@ -0,0 +1,44 @@ +import setuptools +import numpy as np + +c_ext = setuptools.Extension("pyctbgui._decoder", + sources=["src/decoder.c", "src/pm_decode.c"], + include_dirs=[ + np.get_include(), + "src/", + ], + extra_compile_args=['-std=c99', '-Wall', '-Wextra']) + +c_ext.language = 'c' +setuptools.setup( + name='pyctbgui', + version='2023.8.17', + description='Experimental GUI for the chip test board', + packages=setuptools.find_packages(exclude=[ + 'tests', + ]), + include_package_data=True, + ext_modules=[c_ext], + scripts=[ + 'CtbGui', + ], + python_requires='>=3.10', # using match statement + install_requires=[ + 'numpy', + 'pyzmq', + 'pillow', + 'PyQt5', + 'pyqtgraph', + 'matplotlib', + # 'slsdet', not yet available on pypi, maybe v8 + ], + extras_require={ + 'dev': [ + 'pytest==7.4.0', + 'ruff==0.0.285', + 'yapf==0.40.1', + 'pytest-ruff==0.1.1', + 'pre-commit', + 'pytest-qt', + ], + }) diff --git a/pyctbgui/src/decoder.c b/pyctbgui/src/decoder.c new file mode 100644 index 000000000..2cbb6909b --- /dev/null +++ b/pyctbgui/src/decoder.c @@ -0,0 +1,177 @@ +#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION +#define PY_SSIZE_T_CLEAN +#include +#include + +#include +#include + +#include "pm_decode.h" +#include "thread_utils.h" + +/*Decode various types of CTB data using a pixel map. Works on single frames and +on stacks of frames*/ +static PyObject *decode(PyObject *Py_UNUSED(self), PyObject *args, + PyObject *kwds) { + // Function arguments to be parsed + PyObject *raw_data_obj = NULL; + PyObject *data_obj = NULL; + PyObject *pm_obj = NULL; + size_t n_threads = 1; + + static char *kwlist[] = {"raw_data", "pixel_map", "out", "n_threads", NULL}; + if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO|On", kwlist, &raw_data_obj, + &pm_obj, &data_obj, &n_threads)) { + return NULL; + } + + // Create a handle to the numpy array from the generic python object + PyObject *raw_data = PyArray_FROM_OTF( + raw_data_obj, NPY_UINT16, + NPY_ARRAY_C_CONTIGUOUS | NPY_ARRAY_ENSUREARRAY | NPY_ARRAY_ALIGNED); + if (!raw_data) { + return NULL; + } + + // Handle to the pixel map + PyObject *pixel_map = PyArray_FROM_OTF( + pm_obj, NPY_UINT32, NPY_ARRAY_C_CONTIGUOUS); // Make 64bit? + if (!pixel_map) { + return NULL; + } + if (PyArray_NDIM((PyArrayObject *)pixel_map) != 2) { + PyErr_SetString(PyExc_TypeError, "The pixel map needs to be 2D"); + return NULL; + } + npy_intp n_rows = PyArray_DIM((PyArrayObject *)pixel_map, 0); + npy_intp n_cols = PyArray_DIM((PyArrayObject *)pixel_map, 1); + + // If called with an output array get an handle to it, otherwise allocate + // the output array + PyObject *data_out = NULL; + if (data_obj) { + data_out = + PyArray_FROM_OTF(data_obj, NPY_UINT16, NPY_ARRAY_C_CONTIGUOUS); + } else { + int ndim = PyArray_NDIM((PyArrayObject *)raw_data) + 1; + npy_intp dims_arr[3] = {PyArray_DIM((PyArrayObject *)raw_data, 0), + n_rows, n_cols}; + npy_intp *dims = NULL; + if (ndim == 2) + dims = &dims_arr[1]; + else + dims = &dims_arr[0]; + // Allocate output array + data_out = PyArray_SimpleNew(ndim, dims, NPY_UINT16); + } + + // Check that raw_data has one less dimension than frame + // eg raw_data[n_frames, pixels] frame[nframes, nrows, ncols] + // raw data is an array of values and data_out is 2/3D + int rd_dim = PyArray_NDIM((PyArrayObject *)raw_data); + int f_dim = PyArray_NDIM((PyArrayObject *)data_out); + + if (rd_dim != (f_dim - 1)) { + PyErr_SetString( + PyExc_TypeError, + "Raw data and data needs to have the one less dim"); // eg -1 + return NULL; + } + + uint16_t *src = (uint16_t *)PyArray_DATA((PyArrayObject *)raw_data); + uint16_t *dst = (uint16_t *)PyArray_DATA((PyArrayObject *)data_out); + uint32_t *pm = (uint32_t *)PyArray_DATA((PyArrayObject *)pixel_map); + + // Check sizes + npy_intp rd_size = PyArray_SIZE((PyArrayObject *)raw_data); + npy_intp fr_size = PyArray_SIZE((PyArrayObject *)data_out); + npy_intp pm_size = PyArray_SIZE((PyArrayObject *)pixel_map); + + // TODO! Add exceptions + if (rd_size != fr_size) { + PyErr_SetString(PyExc_TypeError, + "Raw data size and data size needs to match"); + return NULL; + } + + int64_t n_frames = 1; + if (rd_dim == 2) + n_frames = PyArray_DIM((PyArrayObject *)raw_data, 0); + // printf("n_frames: %lu\n", n_frames); + + // do the correct size check + if (rd_size / n_frames != pm_size) { + PyErr_SetString(PyExc_TypeError, + "Pixel map size needs to match with frame size"); + return NULL; + } + + if (n_threads == 1) { + pm_decode(src, dst, pm, n_frames, n_rows * n_cols); + } else { + // Multithreaded processing + pthread_t *threads = malloc(sizeof(pthread_t *) * n_threads); + thread_args *arguments = malloc(sizeof(thread_args) * n_threads); + + size_t frames_per_thread = n_frames / n_threads; + size_t assigned_frames = 0; + for (size_t i = 0; i < n_threads; i++) { + arguments[i].src = src + (i * frames_per_thread * pm_size); + arguments[i].dst = dst + (i * frames_per_thread * pm_size); + arguments[i].pm = pm; + arguments[i].n_frames = + frames_per_thread; // TODO! not matching frames. + arguments[i].n_pixels = n_rows * n_cols; + assigned_frames += frames_per_thread; + } + arguments[n_threads - 1].n_frames += n_frames - assigned_frames; + + for (size_t i = 0; i < n_threads; i++) { + pthread_create(&threads[i], NULL, (void *)thread_pmdecode, + &arguments[i]); + } + for (size_t i = 0; i < n_threads; i++) { + pthread_join(threads[i], NULL); + } + free(threads); + free(arguments); + } + + Py_DECREF(raw_data); + Py_DECREF(pixel_map); + + return data_out; +} + +// Module docstring, shown as a part of help(creader) +static char module_docstring[] = "C functions decode CTB data"; + +// Module methods +static PyMethodDef creader_methods[] = { + {"decode", (PyCFunction)(void (*)(void))decode, + METH_VARARGS | METH_KEYWORDS, "Decode analog data using a pixel map"}, + {NULL, NULL, 0, NULL} /* Sentinel */ +}; + +// Module defenition +static struct PyModuleDef decoder_def = { + PyModuleDef_HEAD_INIT, + "_decoder", + module_docstring, + -1, + creader_methods, // m_methods + NULL, // m_slots + NULL, // m_traverse + NULL, // m_clear + NULL // m_free +}; + +// Initialize module and add classes +PyMODINIT_FUNC PyInit__decoder(void) { + + PyObject *m = PyModule_Create(&decoder_def); + if (m == NULL) + return NULL; + import_array(); // Needed for numpy + return m; +} diff --git a/pyctbgui/src/pm_decode.c b/pyctbgui/src/pm_decode.c new file mode 100644 index 000000000..fc702b22b --- /dev/null +++ b/pyctbgui/src/pm_decode.c @@ -0,0 +1,18 @@ +#include "pm_decode.h" +#include "thread_utils.h" + +void thread_pmdecode(void *args) { + thread_args *a; + a = (thread_args *)args; + pm_decode(a->src, a->dst, a->pm, a->n_frames, a->n_pixels); +} + +void pm_decode(uint16_t *src, uint16_t *dst, uint32_t *pm, size_t n_frames, + size_t n_pixels) { + for (size_t i = 0; i < n_frames; i++) { + for (size_t j = 0; j < n_pixels; j++) { + *dst++ = src[pm[j]]; + } + src += n_pixels; + } +} \ No newline at end of file diff --git a/pyctbgui/src/pm_decode.h b/pyctbgui/src/pm_decode.h new file mode 100644 index 000000000..325e4d46b --- /dev/null +++ b/pyctbgui/src/pm_decode.h @@ -0,0 +1,8 @@ +#pragma once +#include +#include +// Wrapper to be used with pthreads +void thread_pmdecode(void *args); + +void pm_decode(uint16_t *src, uint16_t *dst, uint32_t *pm, size_t n_frames, + size_t n_pixels); \ No newline at end of file diff --git a/pyctbgui/src/thread_utils.h b/pyctbgui/src/thread_utils.h new file mode 100644 index 000000000..6cc3c2381 --- /dev/null +++ b/pyctbgui/src/thread_utils.h @@ -0,0 +1,10 @@ +#pragma once +#include +#include +typedef struct { + uint16_t *src; + uint16_t *dst; + uint32_t *pm; + size_t n_frames; + size_t n_pixels; +} thread_args; \ No newline at end of file diff --git a/pyctbgui/tests/gui/__init__.py b/pyctbgui/tests/gui/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pyctbgui/tests/gui/conftest.py b/pyctbgui/tests/gui/conftest.py new file mode 100644 index 000000000..e60342ab7 --- /dev/null +++ b/pyctbgui/tests/gui/conftest.py @@ -0,0 +1,11 @@ +import pytest + +from pyctbgui.ui import MainWindow + + +@pytest.fixture(scope='package') +def main(): + main = MainWindow() + main.show() + yield main + main.close() diff --git a/pyctbgui/tests/gui/data/matterhorm_image_transceiver.npy b/pyctbgui/tests/gui/data/matterhorm_image_transceiver.npy new file mode 100644 index 000000000..37ccc6c2d Binary files /dev/null and b/pyctbgui/tests/gui/data/matterhorm_image_transceiver.npy differ diff --git a/pyctbgui/tests/gui/data/matterhorn_waveform_transceiver1and2.npz b/pyctbgui/tests/gui/data/matterhorn_waveform_transceiver1and2.npz new file mode 100644 index 000000000..942fbf129 Binary files /dev/null and b/pyctbgui/tests/gui/data/matterhorn_waveform_transceiver1and2.npz differ diff --git a/pyctbgui/tests/gui/data/moench04_image_analog.npy b/pyctbgui/tests/gui/data/moench04_image_analog.npy new file mode 100644 index 000000000..791e6e3da Binary files /dev/null and b/pyctbgui/tests/gui/data/moench04_image_analog.npy differ diff --git a/pyctbgui/tests/gui/data/moench04_waveform_adc.npz b/pyctbgui/tests/gui/data/moench04_waveform_adc.npz new file mode 100644 index 000000000..8f94f2783 Binary files /dev/null and b/pyctbgui/tests/gui/data/moench04_waveform_adc.npz differ diff --git a/pyctbgui/tests/gui/data/pattern.pat b/pyctbgui/tests/gui/data/pattern.pat new file mode 100644 index 000000000..20ba27158 --- /dev/null +++ b/pyctbgui/tests/gui/data/pattern.pat @@ -0,0 +1,232 @@ +patword 0x0000 0x000000006b2e8001 +patword 0x0001 0x000000006b2e8001 +patword 0x0002 0x000000006b2e8001 +patword 0x0003 0x000000006b2e8001 +patword 0x0004 0x000000006b2e8001 +patword 0x0005 0x000000006b2e8001 +patword 0x0006 0x000000006b2e8001 +patword 0x0007 0x000000006b2e8001 +patword 0x0008 0x000000006b2e8001 +patword 0x0009 0x000000006b2e8001 +patword 0x000a 0x000000006b2e8001 +patword 0x000b 0x000000006b2e8001 +patword 0x000c 0x00000000692e8001 +patword 0x000d 0x00000000692e8001 +patword 0x000e 0x00000000692e8001 +patword 0x000f 0x00000000692e8001 +patword 0x0010 0x00000000692e8001 +patword 0x0011 0x00000000692e8001 +patword 0x0012 0x00000000692e8001 +patword 0x0013 0x00000000692e8001 +patword 0x0014 0x00000000692e8001 +patword 0x0015 0x00000000692e8001 +patword 0x0016 0x00000000682e8001 +patword 0x0017 0x00000000682e8001 +patword 0x0018 0x00000000682e8001 +patword 0x0019 0x00000000682e8001 +patword 0x001a 0x00000000482c8001 +patword 0x001b 0x00000000482c8001 +patword 0x001c 0x00000000482c8001 +patword 0x001d 0x00000000482c8001 +patword 0x001e 0x00000000482c8001 +patword 0x001f 0x00000000482c8001 +patword 0x0020 0x00000000482c8001 +patword 0x0021 0x00000000482c8001 +patword 0x0022 0x00000000482c8001 +patword 0x0023 0x00000000482c8001 +patword 0x0024 0x00000000482c8001 +patword 0x0025 0x00000000482c8001 +patword 0x0026 0x00000000482c8001 +patword 0x0027 0x00000000482c8001 +patword 0x0028 0x00000000482c8001 +patword 0x0029 0x00000000482c8001 +patword 0x002a 0x00000000482c8001 +patword 0x002b 0x00000000482c8001 +patword 0x002c 0x00000000482c8001 +patword 0x002d 0x00000000482c8001 +patword 0x002e 0x00000000582c8001 +patword 0x002f 0x00000000582c8001 +patword 0x0030 0x00000000582c8001 +patword 0x0031 0x00000000582c8001 +patword 0x0032 0x00000000582c8001 +patword 0x0033 0x00000000582c8001 +patword 0x0034 0x00000000582c8001 +patword 0x0035 0x00000000582c8001 +patword 0x0036 0x00000000582c8001 +patword 0x0037 0x00000000582c8001 +patword 0x0038 0x00000000582c8001 +patword 0x0039 0x00000000582c8001 +patword 0x003a 0x00000000582c8001 +patword 0x003b 0x00000000582c8001 +patword 0x003c 0x00000000582c8001 +patword 0x003d 0x00000000582c8001 +patword 0x003e 0x00000000582c8001 +patword 0x003f 0x00000000582c8001 +patword 0x0040 0x00000000582c8001 +patword 0x0041 0x00000000582c8001 +patword 0x0042 0x00000000582c9011 +patword 0x0043 0x00000000582c9011 +patword 0x0044 0x00000000582c8001 +patword 0x0045 0x00000000582c8001 +patword 0x0046 0x00000000582c8001 +patword 0x0047 0x00000000582c8001 +patword 0x0048 0x00000000582c8001 +patword 0x0049 0x00000000582c8001 +patword 0x004a 0x00000000582c8001 +patword 0x004b 0x00000000582c8001 +patword 0x004c 0x00000000582c8001 +patword 0x004d 0x00000000582c8001 +patword 0x004e 0x00000000582c8001 +patword 0x004f 0x00000000582c8001 +patword 0x0050 0x00000000582c8001 +patword 0x0051 0x00000000582c8001 +patword 0x0052 0x00000000582c8001 +patword 0x0053 0x00000000582c8001 +patword 0x0054 0x00000000582c8001 +patword 0x0055 0x00000000582c8001 +patword 0x0056 0x00000000582c8001 +patword 0x0057 0x00000000582c8001 +patword 0x0058 0x00000000582c8001 +patword 0x0059 0x00000000582c8001 +patword 0x005a 0x00000000582c8041 +patword 0x005b 0x00000000582c8041 +patword 0x005c 0x00000000582c8141 +patword 0x005d 0x00000000582c8041 +patword 0x005e 0x00000000582c8041 +patword 0x005f 0x00000000582c8041 +patword 0x0060 0x00000000582c8041 +patword 0x0061 0x00000000582c8041 +patword 0x0062 0x00000000582c8041 +patword 0x0063 0x00000000582c8041 +patword 0x0064 0x00000000582c8041 +patword 0x0065 0x00000000582c8041 +patword 0x0066 0x00000000582c8041 +patword 0x0067 0x00000000582c8041 +patword 0x0068 0x00000000582c8041 +patword 0x0069 0x00000000582c8041 +patword 0x006a 0x00000000582c8041 +patword 0x006b 0x00000000582c8041 +patword 0x006c 0x00000000582c8041 +patword 0x006d 0x00000000582c8041 +patword 0x006e 0x00000000582c8041 +patword 0x006f 0x00000000582c8041 +patword 0x0070 0x00000000582c8041 +patword 0x0071 0x00000000582c8041 +patword 0x0072 0x00000000582c8041 +patword 0x0073 0x00000000582c8041 +patword 0x0074 0x00000000d82c8941 +patword 0x0075 0x00000000d82c8041 +patword 0x0076 0x00000000582c8001 +patword 0x0077 0x00000000582c8001 +patword 0x0078 0xc0000000582c8001 +patword 0x0079 0xc0000000582c8801 +patword 0x007a 0xc0000000582c8001 +patword 0x007b 0xc0000000582c8801 +patword 0x007c 0xc0000000582c8001 +patword 0x007d 0xc0000000582c8801 +patword 0x007e 0xc0000000582c8001 +patword 0x007f 0xc0000000582c8801 +patword 0x0080 0xc0000000582c8001 +patword 0x0081 0xc0000000582c8801 +patword 0x0082 0xc0000000582c8001 +patword 0x0083 0xc0000000582c8801 +patword 0x0084 0xc0000000582c8001 +patword 0x0085 0xc0000000582c8801 +patword 0x0086 0xc0000000582c8001 +patword 0x0087 0xc0000000582c8801 +patword 0x0088 0xc0000000582c8001 +patword 0x0089 0xc0000000582c8801 +patword 0x008a 0xc0000000582c8001 +patword 0x008b 0xc0000000582c8801 +patword 0x008c 0xc0000000582c8001 +patword 0x008d 0xc0000000582c8801 +patword 0x008e 0xc0000000582c8001 +patword 0x008f 0xc0000000582c8801 +patword 0x0090 0xc0000000582c8001 +patword 0x0091 0xc0000000582c8901 +patword 0x0092 0xc0000000582c8001 +patword 0x0093 0xc0000000582c8801 +patword 0x0094 0xc0000000582c8001 +patword 0x0095 0xc0000000582c8801 +patword 0x0096 0xc0000000582c8001 +patword 0x0097 0xc0000000582c8801 +patword 0x0098 0xc0000000582c8001 +patword 0x0099 0xc0000000582c8801 +patword 0x009a 0xc0000000582c8001 +patword 0x009b 0xc0000000582c8801 +patword 0x009c 0xc0000000582c8001 +patword 0x009d 0xc0000000582c8801 +patword 0x009e 0xc0000000582c8001 +patword 0x009f 0xc0000000582c8801 +patword 0x00a0 0xc0000000582c8001 +patword 0x00a1 0xc0000000582c8801 +patword 0x00a2 0xc0000000582c8001 +patword 0x00a3 0xc0000000582c8801 +patword 0x00a4 0xc0000000582c8001 +patword 0x00a5 0xc0000000582c8801 +patword 0x00a6 0xc0000000582c8001 +patword 0x00a7 0xc0000000582c8801 +patword 0x00a8 0xc0000000582c8001 +patword 0x00a9 0xc0000000d82c8901 +patword 0x00aa 0xc0000000d82c8001 +patword 0x00ab 0xc0000000582c8801 +patword 0x00ac 0xc0000000582c8001 +patword 0x00ad 0xc0000000582c8801 +patword 0x00ae 0xc0000000582c8001 +patword 0x00af 0xc0000000582c8801 +patword 0x00b0 0xc0000000582c8001 +patword 0x00b1 0xc0000000582c8801 +patword 0x00b2 0xc0000000582c8001 +patword 0x00b3 0xc0000000582c8801 +patword 0x00b4 0xc0000000582c8001 +patword 0x00b5 0xc0000000582c8801 +patword 0x00b6 0xc0000000582c8001 +patword 0x00b7 0xc0000000582c8801 +patword 0x00b8 0xc0000000582c8001 +patword 0x00b9 0xc0000000582c8801 +patword 0x00ba 0xc0000000582c8001 +patword 0x00bb 0xc0000000582c8801 +patword 0x00bc 0xc0000000582c8001 +patword 0x00bd 0xc0000000582c8801 +patword 0x00be 0xc0000000582c8001 +patword 0x00bf 0xc0000000582c8801 +patword 0x00c0 0xc0000000582c8001 +patword 0x00c1 0xc0000000582c8801 +patword 0x00c2 0xc0000000582c8001 +patword 0x00c3 0xc0000000582c8901 +patword 0x00c4 0xc0000000582c8001 +patword 0x00c5 0xc0000000582c8801 +patword 0x00c6 0xc0000000582c8001 +patword 0x00c7 0xc0000000582c8801 +patword 0x00c8 0xc0000000582c8001 +patword 0x00c9 0xc0000000582c8801 +patword 0x00ca 0xc0000000582c8001 +patword 0x00cb 0xc0000000582c8801 +patword 0x00cc 0xc0000000582c8001 +patword 0x00cd 0xc0000000582c8801 +patword 0x00ce 0xc0000000582c8001 +patword 0x00cf 0xc0000000582c8801 +patword 0x00d0 0xc0000000582c8001 +patword 0x00d1 0xc0000000582c8801 +patword 0x00d2 0xc0000000582c8001 +patword 0x00d3 0xc0000000582c8801 +patword 0x00d4 0xc0000000582c8001 +patword 0x00d5 0xc0000000582c8801 +patword 0x00d6 0xc0000000582c8001 +patword 0x00d7 0xc0000000582c8801 +patword 0x00d8 0xc0000000582c8001 +patword 0x00d9 0xc0000000582c8801 +patword 0x00da 0xc0000000582c8001 +patword 0x00db 0x00000000582c8001 +patword 0x00dc 0x00000000582c8001 +patword 0x00dd 0x00000000482c8901 +patword 0x00de 0x00000000482c8001 +patword 0x00df 0x00000000482c8901 +patword 0x00e0 0x00000000482c8001 +patword 0x00e1 0x000000006b2e8001 +patlimits 0x0000 0x00e1 +patioctrl 0x01000000fb7fdd55 +patloop 0 0x00a9 0x00da +patnloop 0 199 +patwait 0 0x0018 +patwaittime 0 800 diff --git a/pyctbgui/tests/gui/data/pattern.png b/pyctbgui/tests/gui/data/pattern.png new file mode 100644 index 000000000..1847bb5a4 Binary files /dev/null and b/pyctbgui/tests/gui/data/pattern.png differ diff --git a/pyctbgui/tests/gui/data/simulator.config b/pyctbgui/tests/gui/data/simulator.config new file mode 100644 index 000000000..bbc5d8475 --- /dev/null +++ b/pyctbgui/tests/gui/data/simulator.config @@ -0,0 +1,9 @@ +hostname localhost +rx_hostname localhost +udp_dstip auto +udp_srcip auto + +romode analog +asamples 5000 +tsamples 288 + diff --git a/pyctbgui/tests/gui/test_analog_moench.py b/pyctbgui/tests/gui/test_analog_moench.py new file mode 100644 index 000000000..faca2efe1 --- /dev/null +++ b/pyctbgui/tests/gui/test_analog_moench.py @@ -0,0 +1,57 @@ +from pathlib import Path + +import numpy as np +from pytestqt.qt_compat import qt_api + +from .utils import setup_gui, defaultParams + + +def test_image_acq(main, qtbot, tmp_path): + """ + tests Analog image acquisition and numpy saving + """ + params = defaultParams() + params.detector = "Moench04" + params.mode = "Analog" + params.enabled = list(range(32)) + + setup_gui(qtbot, main, params, tmp_path=tmp_path) + + qtbot.mouseClick(main.pushButtonStart, qt_api.QtCore.Qt.MouseButton.LeftButton) + + acqIndex = main.acquisitionTab.view.spinBoxAcquisitionIndex.value() - 1 + newPath = main.acquisitionTab.outputDir / f'{main.acquisitionTab.outputFileNamePrefix}_{acqIndex}.npy' + qtbot.wait_until(lambda: newPath.is_file()) + + testArray = np.load(newPath) + dataArray = np.load(Path(__file__).parent / 'data' / 'moench04_image_analog.npy') + + assert testArray.shape == (1, 400, 400) + assert np.array_equal(dataArray, testArray) + + +def test_waveform_acq(main, qtbot, tmp_path): + """ + tests Analog waveform acquisition and numpy saving + """ + params = defaultParams() + params.image = False + params.detector = "Moench04" + params.mode = "Analog" + params.enabled = list(range(32)) + params.plotted = params.enabled + + setup_gui(qtbot, main, params, tmp_path=tmp_path) + + qtbot.mouseClick(main.pushButtonStart, qt_api.QtCore.Qt.MouseButton.LeftButton) + + acqIndex = main.acquisitionTab.view.spinBoxAcquisitionIndex.value() - 1 + newPath = main.acquisitionTab.outputDir / f'{main.acquisitionTab.outputFileNamePrefix}_{acqIndex}.npz' + + qtbot.wait_until(lambda: newPath.is_file()) + testArray = np.load(newPath) + dataArray = np.load(Path(__file__).parent / 'data' / 'moench04_waveform_adc.npz') + files = [f"ADC{i}" for i in params.enabled] + assert testArray.files == files + for i in files: + assert np.array_equal(dataArray[i], testArray[i]) diff --git a/pyctbgui/tests/gui/test_pattern.py b/pyctbgui/tests/gui/test_pattern.py new file mode 100644 index 000000000..688a2fc61 --- /dev/null +++ b/pyctbgui/tests/gui/test_pattern.py @@ -0,0 +1,27 @@ +from pathlib import Path + +from pytestqt.qt_compat import qt_api + +from pyctbgui.utils.defines import Defines +from tests.gui.utils import defaultParams + + +def test_view_pattern(main, qtbot, tmp_path): + """ + Tests pattern file viewing + """ + params = defaultParams() + params.image = False + main.tabWidget.setCurrentIndex(Defines.pattern.tabIndex) + qtbot.keyClicks(main.patternTab.view.lineEditPatternFile, "tests/gui/data/pattern.pat") + qtbot.mouseClick(main.patternTab.view.pushButtonViewPattern, qt_api.QtCore.Qt.MouseButton.LeftButton) + qtbot.wait_until(lambda: main.patternTab.figure is not None) + assert main.patternTab.figure is not None + + # save pattern + main.patternTab.figure.savefig(tmp_path / "pattern.png") + assert Path(tmp_path / "pattern.png").exists() + + # pattern files generated from python3.10 libraries differ from python3.11. this would make this + # test flaky so we skip it for now + # assert filecmp.cmp("tests/gui/data/pattern.png", tmp_path / "pattern.png") diff --git a/pyctbgui/tests/gui/test_pedestal_matterhorn.py b/pyctbgui/tests/gui/test_pedestal_matterhorn.py new file mode 100644 index 000000000..0ed6d3ae1 --- /dev/null +++ b/pyctbgui/tests/gui/test_pedestal_matterhorn.py @@ -0,0 +1,34 @@ +import numpy as np +from pytestqt.qt_compat import qt_api + +from tests.gui.utils import defaultParams, setup_gui + + +def test_pedestal_substraction(main, qtbot, tmp_path): + """ + tests Transceiver image acquisition, numpy saving and pedestal substraction + """ + + # record 10 frames + params = defaultParams() + params.pedestalRecord = True + params.nFrames = 10 + params.numpy = False + setup_gui(qtbot, main, params, tmp_path=tmp_path) + qtbot.mouseClick(main.pushButtonStart, qt_api.QtCore.Qt.MouseButton.LeftButton) + qtbot.wait_until(lambda: main.plotTab.view.labelPedestalFrames.text() == 'recorded frames: 10') + + # apply pedestal and save + params.pedestalRecord = False + params.numpy = True + params.nFrames = 2 + setup_gui(qtbot, main, params, tmp_path=tmp_path) + qtbot.mouseClick(main.pushButtonStart, qt_api.QtCore.Qt.MouseButton.LeftButton) + acqIndex = main.acquisitionTab.view.spinBoxAcquisitionIndex.value() - 1 + newPath = main.acquisitionTab.outputDir / f'{main.acquisitionTab.outputFileNamePrefix}_{acqIndex}.npy' + qtbot.wait_until(lambda: newPath.is_file()) + + testArray = np.load(newPath) + + assert testArray.shape == (2, 48, 48) + assert np.array_equal(testArray, np.zeros((2, 48, 48))) diff --git a/pyctbgui/tests/gui/test_signal_matterhorn.py b/pyctbgui/tests/gui/test_signal_matterhorn.py new file mode 100644 index 000000000..b3daebb2c --- /dev/null +++ b/pyctbgui/tests/gui/test_signal_matterhorn.py @@ -0,0 +1,28 @@ +# from pathlib import Path +# +# import numpy as np +# from pytestqt.qt_compat import qt_api +# +# from .utils import setup_gui, defaultParams +# +# +# def test_waveform_signals(main, qtbot, tmp_path): +# """ +# tests signals waveform acquisition and numpy saving +# """ +# params = defaultParams() +# params.image = False +# params.mode = "Signal" +# params.enabled = list(range(128)) +# params.plotted = params.enabled +# +# setup_gui(qtbot, main, params, tmp_path=tmp_path) +# +# qtbot.mouseClick(main.pushButtonStart, qt_api.QtCore.Qt.MouseButton.LeftButton) +# +# acqIndex = main.acquisitionTab.view.spinBoxAcquisitionIndex.value() - 1 +# newPath = main.acquisitionTab.outputDir / f'{main.acquisitionTab.outputFileNamePrefix}_{acqIndex}.npz' +# +# qtbot.wait_until(lambda: newPath.is_file()) +# testArray = np.load(newPath) +# diff --git a/pyctbgui/tests/gui/test_transceiver_matterhorn.py b/pyctbgui/tests/gui/test_transceiver_matterhorn.py new file mode 100644 index 000000000..20f72be44 --- /dev/null +++ b/pyctbgui/tests/gui/test_transceiver_matterhorn.py @@ -0,0 +1,50 @@ +from pathlib import Path + +import numpy as np +from pytestqt.qt_compat import qt_api + +from .utils import setup_gui, defaultParams + + +def test_image_acq(main, qtbot, tmp_path): + """ + tests Transceiver image acquisition and numpy saving + """ + + setup_gui(qtbot, main, tmp_path=tmp_path) + + qtbot.mouseClick(main.pushButtonStart, qt_api.QtCore.Qt.MouseButton.LeftButton) + + acqIndex = main.acquisitionTab.view.spinBoxAcquisitionIndex.value() - 1 + newPath = main.acquisitionTab.outputDir / f'{main.acquisitionTab.outputFileNamePrefix}_{acqIndex}.npy' + qtbot.wait_until(lambda: newPath.is_file()) + + testArray = np.load(newPath) + dataArray = np.load(Path(__file__).parent / 'data' / 'matterhorm_image_transceiver.npy') + + assert testArray.shape == (1, 48, 48) + assert np.array_equal(dataArray, testArray) + + +def test_waveform_acq(main, qtbot, tmp_path): + """ + tests Transceiver waveform acquisition and numpy saving + """ + params = defaultParams() + params.image = False + params.enabled = [0, 1] + params.plotted = [0, 1] + + setup_gui(qtbot, main, params, tmp_path=tmp_path) + + qtbot.mouseClick(main.pushButtonStart, qt_api.QtCore.Qt.MouseButton.LeftButton) + + acqIndex = main.acquisitionTab.view.spinBoxAcquisitionIndex.value() - 1 + newPath = main.acquisitionTab.outputDir / f'{main.acquisitionTab.outputFileNamePrefix}_{acqIndex}.npz' + + qtbot.wait_until(lambda: newPath.is_file()) + testArray = np.load(newPath) + dataArray = np.load(Path(__file__).parent / 'data' / 'matterhorn_waveform_transceiver1and2.npz') + assert testArray.files == ['Transceiver 0', 'Transceiver 1'] + assert np.array_equal(dataArray['Transceiver 0'], testArray['Transceiver 0']) + assert np.array_equal(dataArray['Transceiver 1'], testArray['Transceiver 1']) diff --git a/pyctbgui/tests/gui/utils.py b/pyctbgui/tests/gui/utils.py new file mode 100644 index 000000000..25264e88a --- /dev/null +++ b/pyctbgui/tests/gui/utils.py @@ -0,0 +1,78 @@ +from pathlib import Path + +from pyctbgui.utils.defines import Defines + + +class defaultParams: + image = True + detector = "Matterhorn" + numpy = True + mode = "Transceiver" + outputDir = "/tmp" + filename = "run" + nFrames = 1 + enabled = [] + plotted = [] + pedestalRecord = True + pattern = False + + +def setup_gui(qtbot, widget, params=defaultParams(), tmp_path=Path('/tmp')): + if params.image: + widget.plotTab.view.radioButtonImage.setChecked(True) + widget.plotTab.view.radioButtonWaveform.setChecked(False) + if params.mode == "Transceiver": + params.enabled = [0, 1] + else: + params.enabled = range(128) + else: + widget.plotTab.view.radioButtonWaveform.setChecked(True) + widget.plotTab.view.radioButtonImage.setChecked(False) + + if params.mode == "Transceiver": + widget.tabWidget.setCurrentIndex(Defines.transceiver.tabIndex) + for i in range(Defines.transceiver.count): + # check or uncheck enable/plot checkboxes + enable = getattr(widget.transceiverTab.view, f"checkBoxTransceiver{i}") + enable.setChecked(i in params.enabled) + enable = getattr(widget.transceiverTab.view, f"checkBoxTransceiver{i}Plot") + enable.setChecked(i in params.plotted) + elif params.mode == "Analog": + widget.tabWidget.setCurrentIndex(Defines.adc.tabIndex) + for i in range(Defines.adc.count): + # check or uncheck enable/plot checkboxes + enable = getattr(widget.adcTab.view, f"checkBoxADC{i}En") + enable.setChecked(i in params.enabled) + enable = getattr(widget.adcTab.view, f"checkBoxADC{i}Plot") + enable.setChecked(i in params.plotted) + + qtbot.wait_until(lambda: widget.plotTab.view.radioButtonImage.isChecked() == params.image) + + qtbot.keyClicks(widget.plotTab.view.comboBoxPlot, params.detector) + qtbot.wait_until(lambda: widget.plotTab.view.comboBoxPlot.currentText() == params.detector) + + widget.acquisitionTab.view.checkBoxFileWriteNumpy.setChecked(params.numpy) + + widget.acquisitionTab.view.comboBoxROMode.setCurrentIndex(-1) + qtbot.keyClicks(widget.acquisitionTab.view.comboBoxROMode, params.mode) + qtbot.wait_until(lambda: widget.acquisitionTab.view.comboBoxROMode.currentText() == params.mode) + + widget.acquisitionTab.view.lineEditFilePath.setText(str(tmp_path)) + widget.acquisitionTab.setFilePath() + + widget.acquisitionTab.view.lineEditFileName.setText(params.filename) + widget.acquisitionTab.setFileName() + + widget.acquisitionTab.view.spinBoxFrames.setValue(params.nFrames) + widget.acquisitionTab.setFrames() + + widget.plotTab.view.radioButtonPedestalRecord.setChecked(params.pedestalRecord) + widget.plotTab.view.radioButtonPedestalApply.setChecked(not params.pedestalRecord) + + qtbot.wait_until(lambda: widget.acquisitionTab.view.spinBoxFrames.value() == params.nFrames) + + assert widget.acquisitionTab.view.comboBoxROMode.currentText() == params.mode + assert widget.plotTab.view.comboBoxPlot.currentText() == params.detector + assert widget.acquisitionTab.writeNumpy == params.numpy + assert widget.acquisitionTab.view.spinBoxFrames.value() == params.nFrames + assert widget.acquisitionTab.outputDir == Path(str(tmp_path)) diff --git a/pyctbgui/tests/unit/data/moench04_start_trigger.alias b/pyctbgui/tests/unit/data/moench04_start_trigger.alias new file mode 100755 index 000000000..ca85551f9 --- /dev/null +++ b/pyctbgui/tests/unit/data/moench04_start_trigger.alias @@ -0,0 +1,129 @@ +BIT0 gHG +BIT1 DGS6 1 +BIT2 pulse +BIT3 DGS7 1 +BIT4 clearSSR +BIT5 DGS8 1 +BIT6 inSSR +BIT7 DGS9 1 +BIT8 clkSSR +BIT9 clk_fb +BIT10 prechargeConnect +BIT11 clk +BIT12 clear +BIT13 shr_out_15 +BIT14 bypassCDS +BIT15 Sto2 +BIT16 ENprechPre +BIT17 Sto0_bot +BIT18 pulseOFF +BIT19 Sto1 +BIT20 BYPASS +BIT21 connCDS +BIT22 Dsg3 +BIT23 OutSSRbot +BIT24 resCDS +BIT25 res +BIT26 shr_out_31 +BIT27 Dsg1 +BIT28 READ +BIT29 Sto0_top +BIT30 resDGS +BIT31 shr_in +BIT48 DGS23 1 +BIT49 DGS31 1 +BIT50 DGS22 1 +BIT51 DGS30 1 +BIT52 DGS21 1 +BIT53 DGS29 1 +BIT54 DGS20 1 +BIT55 DGS28 1 +BIT56 DGS19 1 +BIT57 DGS27 1 +BIT58 DGS18 1 +BIT59 DGS26 1 +BIT60 DGS17 1 +BIT61 DGS25 1 +BIT62 DGS16 1 +BIT63 DGS24 1 + +#BIT62 dbit_ena +#BIT63 adc_ena + +SENSE3 T_boa.(C) +SENSE1 Va+ +SENSE6 Vdd_ps +SENSE4 Vsh +SENSE2 Vcc_int +SENSE0 Vcc_iochip +SENSE7 Vcc1.8A +SENSE5 Vcc1.8D + +DAC0 VprechPre +DAC1 prechargeV +DAC2 vb_sda +DAC3 vbp_colbuf +DAC4 vcasc_SFP +DAC5 ibias_SFP +DAC6 vIpreCDS +DAC7 vin_com_bot +DAC8 vIpre +DAC9 s2dVinTest +DAC10 VPH +DAC11 vIpreDGS +DAC12 vrefDGS +DAC13 empty13 +DAC14 vin_com_top +DAC15 VPL +DAC16 vout_com +DAC17 empty17 + +ADC0 SCOL9 1 +ADC1 SCOL8 1 +ADC2 SCOL11 1 +ADC3 SCOL10 1 +ADC4 SCOL13 1 +ADC5 SCOL12 1 +ADC6 SCOL15 1 +ADC7 SCOL14 1 + +ADC8 SCOL1 1 +ADC9 SCOL0 1 +ADC10 SCOL3 1 +ADC11 SCOL2 1 +ADC12 SCOL5 1 +ADC13 SCOL4 1 +ADC14 SCOL7 1 +ADC15 SCOL6 1 + +ADC16 SCOL23 1 +ADC17 SCOL22 1 +ADC18 SCOL21 1 +ADC19 SCOL20 1 +ADC20 SCOL19 1 +ADC21 SCOL18 1 +ADC22 SCOL17 1 +ADC23 SCOL16 1 + +ADC24 SCOL31 1 +ADC25 SCOL30 1 +ADC26 SCOL29 1 +ADC27 SCOL28 1 +ADC28 SCOL27 1 +ADC29 SCOL26 1 +ADC30 SCOL25 1 +ADC31 SCOL24 1 + +VA VddA +VB VddPre +VIO VddD + +#location of the pattern compiler +#PATCOMPILER /afs/psi.ch/project/sls_det_software/slsDetectorsPackage/slsDetectorSoftware/patternGenerator/generate.sh +PATCOMPILER /afs/psi.ch/project/sls_det_software/sabina/slsDetectorPackage/ctbGui/patternGenerator/generate.sh +#location of the pattern to run +#PATFILE /afs/psi.ch/user/d/dinapoli/jctb/moench02_rob/patterns_newctb/moench02_pulsing_marco.p +#PATFILE /afs/psi.ch/project/sls_det_software/sabina/moench04/patterns/moench04_readout_g4.p +#PATFILE /afs/psi.ch/user/m/maliakal_d/setupfiles/ctb_julian.pat +#PATFILE /tmp/bla.p +#PATFILE /afs/psi.ch/project/mythen/Moench04/moench04_pulsing_readout_g4.p diff --git a/pyctbgui/tests/unit/test_alias_file.py b/pyctbgui/tests/unit/test_alias_file.py new file mode 100644 index 000000000..a318d0885 --- /dev/null +++ b/pyctbgui/tests/unit/test_alias_file.py @@ -0,0 +1,63 @@ +import pytest +from pathlib import Path +from pyctbgui import alias_utility as at + + +def test_read_non_existing_file_throws(): + with pytest.raises(FileNotFoundError): + at.read_alias_file('saijvcaiewjrvijaerijvaeoirvjveiojroiajgv') + + +def test_parse_sample_file(): + fpath = Path(__file__).parent / 'data/moench04_start_trigger.alias' + bit_names, bit_plots, bit_colors, adc_names, adc_plots, adc_colors, dac_names, sense_names, power_names, \ + pat_file_name = at.read_alias_file(fpath) + + assert len(bit_names) == 64 + + true_names = [ + 'gHG', 'DGS6', 'pulse', 'DGS7', 'clearSSR', 'DGS8', 'inSSR', 'DGS9', 'clkSSR', 'clk_fb', 'prechargeConnect', + 'clk', 'clear', 'shr_out_15', 'bypassCDS', 'Sto2', 'ENprechPre', 'Sto0_bot', 'pulseOFF', 'Sto1', 'BYPASS', + 'connCDS', 'Dsg3', 'OutSSRbot', 'resCDS', 'res', 'shr_out_31', 'Dsg1', 'READ', 'Sto0_top', 'resDGS', 'shr_in', + None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 'DGS23', + 'DGS31', 'DGS22', 'DGS30', 'DGS21', 'DGS29', 'DGS20', 'DGS28', 'DGS19', 'DGS27', 'DGS18', 'DGS26', 'DGS17', + 'DGS25', 'DGS16', 'DGS24' + ] + + true_plot = [ + None, True, None, True, None, True, None, True, None, None, None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, + None, None, None, None, None, None, None, None, None, None, None, None, True, True, True, True, True, True, + True, True, True, True, True, True, True, True, True, True + ] + + # Make sure we didn't mess up anything in this file + assert len(true_names) == len(bit_names) + for value, reference in zip(bit_names, true_names): + assert value == reference + + assert len(true_plot) == 64 + for value, reference in zip(bit_plots, true_plot): + assert value == reference + + # sense names + true_sese = ['Vcc_iochip', 'Va+', 'Vcc_int', 'T_boa.(C)', 'Vsh', 'Vcc1.8D', 'Vdd_ps', 'Vcc1.8A'] + assert len(true_sese) == 8 + assert true_sese == sense_names + + # ADC + + true_adc = [ + 'SCOL9', 'SCOL8', 'SCOL11', 'SCOL10', 'SCOL13', 'SCOL12', 'SCOL15', 'SCOL14', 'SCOL1', 'SCOL0', 'SCOL3', + 'SCOL2', 'SCOL5', 'SCOL4', 'SCOL7', 'SCOL6', 'SCOL23', 'SCOL22', 'SCOL21', 'SCOL20', 'SCOL19', 'SCOL18', + 'SCOL17', 'SCOL16', 'SCOL31', 'SCOL30', 'SCOL29', 'SCOL28', 'SCOL27', 'SCOL26', 'SCOL25', 'SCOL24' + ] + + assert len(true_adc) == 32 + assert true_adc == adc_names + + +def test_single_value_parse_gives_exception(): + # Check that we get the correct exception + with pytest.raises(Exception, match=r'Alias file parsing failed'): + at.parse_alias_lines(['hej']) diff --git a/pyctbgui/tests/unit/test_bit_utils.py b/pyctbgui/tests/unit/test_bit_utils.py new file mode 100644 index 000000000..c04e7c642 --- /dev/null +++ b/pyctbgui/tests/unit/test_bit_utils.py @@ -0,0 +1,27 @@ +import numpy as np + +from pyctbgui import bit_utils as bt + + +def test_set_bit(): + num = np.int32(0) + num = bt.set_bit(num, 5) + assert num == 2**5 + + +def test_remove_bit(): + num = np.int32(2**5) + num = bt.remove_bit(num, 5) + assert num == 0 + + +def test_manipulate_bit(): + num = np.int32(0) + num = bt.manipulate_bit(True, num, 5) # True means setting bit + assert num == 2**5 + + +def test_manipulate_bit2(): + num = np.int32(2**8) + num = bt.manipulate_bit(False, num, 8) # False means clearing the bit + assert num == 0 diff --git a/pyctbgui/tests/unit/test_decoder.py b/pyctbgui/tests/unit/test_decoder.py new file mode 100644 index 000000000..21c8b69bf --- /dev/null +++ b/pyctbgui/tests/unit/test_decoder.py @@ -0,0 +1,42 @@ +import numpy as np +import sys + +from pyctbgui.utils import decoder +from pyctbgui.utils.pixelmap import moench04_analog, matterhorn_transceiver + + +def test_simple_decode(): + pixel_map = np.zeros((2, 2), dtype=np.uint32) + pixel_map.flat = [0, 1, 2, 3] + + raw_data = np.zeros(4, dtype=np.uint16) + raw_data.flat = [8, 9, 10, 11] + data = decoder.decode(raw_data, pixel_map) + + assert data[0, 0] == 8 + assert data[0, 1] == 9 + assert data[1, 0] == 10 + assert data[1, 1] == 11 + + # Make sure we didn't mess up the reference counts + assert sys.getrefcount(data) == 2 + assert sys.getrefcount(raw_data) == 2 + assert sys.getrefcount(pixel_map) == 2 + + +def test_compare_python_and_c_decoding(): + """ + Check that the python and C implementation give the same results + provides a regression test in case we change the C implementation + """ + pixel_map = moench04_analog() + raw_data = np.arange(400 * 400, dtype=np.uint16) + c_data = decoder.decode(raw_data, pixel_map) + py_data = decoder.moench04(raw_data) + assert (c_data == py_data).all() + + pixel_map = matterhorn_transceiver() + raw_data = np.arange(48 * 48, dtype=np.uint16) + c_data = decoder.decode(raw_data, pixel_map) + py_data = decoder.matterhorn(raw_data) + assert (c_data == py_data).all() diff --git a/pyctbgui/tests/unit/test_npy_writer.py b/pyctbgui/tests/unit/test_npy_writer.py new file mode 100644 index 000000000..5d7928fd3 --- /dev/null +++ b/pyctbgui/tests/unit/test_npy_writer.py @@ -0,0 +1,160 @@ +import filecmp +from pathlib import Path + +import pytest + +from pyctbgui.utils.numpyWriter.npy_writer import NumpyFileManager +import numpy as np + + +def test_create_new_file(tmp_path): + npw = NumpyFileManager(tmp_path / 'tmp.npy', 'w', (400, 400), np.int32) + npw.writeOneFrame(np.ones([400, 400], dtype=np.int32)) + npw.writeOneFrame(np.ones([400, 400], dtype=np.int32)) + npw.writeOneFrame(np.ones([400, 400], dtype=np.int32)) + npw.writeOneFrame(np.ones([400, 400], dtype=np.int32)) + npw.close() + + arr = np.load(tmp_path / 'tmp.npy') + + assert arr.dtype == np.int32 + assert arr.shape == (4, 400, 400) + assert np.array_equal(arr, np.ones([4, 400, 400], dtype=np.int32)) + + np.save(tmp_path / 'tmp2.npy', np.ones([4, 400, 400], dtype=np.int32)) + assert filecmp.cmp(tmp_path / 'tmp.npy', tmp_path / 'tmp2.npy') + + +def test_open_old_file(tmp_path): + npw = NumpyFileManager(tmp_path / 'tmp.npy', 'w', (4000, ), np.float32) + npw.writeOneFrame(np.ones(4000, dtype=np.float32)) + npw.writeOneFrame(np.ones(4000, dtype=np.float32)) + npw.close() + npw2 = NumpyFileManager(tmp_path / 'tmp.npy', 'r+') + assert npw2.frameCount == 2 + assert npw2.frameShape == (4000, ) + assert npw2.dtype == np.float32 + npw2.writeOneFrame(np.ones(4000, dtype=np.float32)) + del npw2 + np.save(tmp_path / 'tmp2.npy', np.ones([3, 4000], dtype=np.float32)) + assert filecmp.cmp(tmp_path / 'tmp.npy', tmp_path / 'tmp2.npy') + + +@pytest.mark.parametrize('mode', ['w', 'x']) +def test_init_parameters2(mode, tmp_path): + # test opening files with missing parameters for write + with pytest.raises(AssertionError): + NumpyFileManager(tmp_path / 'abaababababa.npyx', mode) + with pytest.raises(AssertionError): + NumpyFileManager(tmp_path / 'abaababababa.npyx2', mode, frameShape=(12, 34)) + with pytest.raises(AssertionError): + NumpyFileManager(tmp_path / 'abaababababa.npyx3', mode, dtype=np.int64) + + # opening new file with required parameters (this should work) + NumpyFileManager(tmp_path / 'abaababababa.npyx3', mode, dtype=np.int64, frameShape=(6, 6)) + assert Path.is_file(tmp_path / 'abaababababa.npyx3') + + +def test_init_parameters(tmp_path): + with pytest.raises(TypeError): + NumpyFileManager() + + # test opening file that does not exist + with pytest.raises(FileNotFoundError): + NumpyFileManager(tmp_path / 'abaababababa.npyx') + with pytest.raises(FileNotFoundError): + NumpyFileManager(tmp_path / 'abaababababa.npyx2', frameShape=(12, 34)) + with pytest.raises(FileNotFoundError): + NumpyFileManager(tmp_path / 'abaababababa.npyx3', dtype=np.int64) + with pytest.raises(FileNotFoundError): + NumpyFileManager(tmp_path / 'abaababababa.npyx3', dtype=np.int64, frameShape=(6, 6)) + + # re-opening the same file + NumpyFileManager(tmp_path / 'abaababababa.npyx3', 'w', dtype=np.int64, frameShape=(6, 6)) + NumpyFileManager(tmp_path / 'abaababababa.npyx3') + + # re-opening the file with wrong parameters + with pytest.raises(AssertionError): + NumpyFileManager(tmp_path / 'abaababababa.npyx3', frameShape=(6, 2)) + with pytest.raises(AssertionError): + NumpyFileManager(tmp_path / 'abaababababa.npyx3', dtype=np.int32) + with pytest.raises(AssertionError): + NumpyFileManager(tmp_path / 'abaababababa.npyx3', dtype=np.float32, frameShape=(5, 5)) + + # test resetting an existing file + npw = NumpyFileManager(tmp_path / 'tmp4.npy', 'w', dtype=np.float32, frameShape=(5, 5)) + npw.writeOneFrame(np.ones((5, 5), dtype=np.float32)) + npw.close() + assert np.load(tmp_path / 'tmp4.npy').shape == (1, 5, 5) + npw = NumpyFileManager(tmp_path / 'tmp4.npy', 'w', dtype=np.int64, frameShape=(7, 7)) + npw.flush() + assert np.load(tmp_path / 'tmp4.npy').shape == (0, 7, 7) + + # test adding frames with the wrong shape to an existing file + with pytest.raises(ValueError, match=r'frame shape given \(9, 4, 4\) '): + npw.writeOneFrame(np.ones((9, 4, 4))) + + +def test_get_item(tmp_path): + rng = np.random.default_rng(seed=42) + arr = rng.random((1000, 20, 20)) + npw = NumpyFileManager(tmp_path / 'tmp.npy', 'w', frameShape=(20, 20), dtype=arr.dtype) + for frame in arr: + npw.writeOneFrame(frame) + + assert np.array_equal(npw[50:100], arr[50:100]) + assert np.array_equal(npw[0:1], arr[0:1]) + assert np.array_equal(npw[0:10000], arr) + assert np.array_equal(npw[999:1000], arr[999:1000]) + assert np.array_equal(npw[999:1005], arr[999:1000]) + assert np.array_equal(npw[49:300], arr[49:300]) + assert np.array_equal(npw[88:88], arr[88:88]) + assert np.array_equal(npw[0:0], arr[0:0]) + assert np.array_equal(npw[0:77], arr[0:77]) + assert np.array_equal(npw[77:0], arr[77:0]) + + with pytest.raises(NotImplementedError): + npw[-1:-3] + with pytest.raises(NotImplementedError): + npw[10:20:2] + with pytest.raises(NotImplementedError): + npw[-5:-87:5] + with pytest.raises(NotImplementedError): + npw[-5:-87:-5] + + with pytest.raises(NotImplementedError): + npw.readFrames(-1, -4) + with pytest.raises(NotImplementedError): + npw.readFrames(0, -77) + with pytest.raises(NotImplementedError): + npw.readFrames(-5, -5) + + +def test_file_functions(tmp_path): + rng = np.random.default_rng(seed=42) + arr = rng.random((1000, 20, 20)) + npw = NumpyFileManager(tmp_path / 'tmp.npy', 'w', frameShape=(20, 20), dtype=arr.dtype) + for frame in arr: + npw.writeOneFrame(frame) + assert np.array_equal(npw.read(10), arr[:10]) + assert np.array_equal(npw.read(10), arr[10:20]) + assert np.array_equal(npw.read(10), arr[20:30]) + npw.readFrames(500, 600) + assert np.array_equal(npw.read(10), arr[30:40]) + npw.readFrames(0, 2) + assert np.array_equal(npw.read(100), arr[40:140]) + npw.writeOneFrame(arr[700]) + assert np.array_equal(npw.read(5), arr[140:145]) + npw.seek(900) + assert np.array_equal(npw.read(20), arr[900:920]) + npw.seek(5) + npw.readFrames(500, 600) + assert np.array_equal(npw.read(10), arr[5:15]) + + +def test_with_statement(tmp_path): + arr = np.ones((5, 5)) + with NumpyFileManager(tmp_path / 'tmp.npy', 'w', (5, 5), arr.dtype) as npw: + npw.writeOneFrame(arr) + np.save(tmp_path / 'tmp2.npy', np.expand_dims(arr, 0)) + assert filecmp.cmp(tmp_path / 'tmp2.npy', tmp_path / 'tmp.npy') diff --git a/pyctbgui/tests/unit/test_npz_writer.py b/pyctbgui/tests/unit/test_npz_writer.py new file mode 100644 index 000000000..e1d0fb48e --- /dev/null +++ b/pyctbgui/tests/unit/test_npz_writer.py @@ -0,0 +1,194 @@ +import filecmp +from pathlib import Path + +import pytest + +from pyctbgui.utils.numpyWriter.npy_writer import NumpyFileManager +import numpy as np + +from pyctbgui.utils.numpyWriter.npz_writer import NpzFileWriter + + +@pytest.mark.parametrize('compressed', [True, False]) +def test_incremental_npz(compressed, tmp_path): + arr1 = np.ones((10, 5, 5)) + arr2 = np.zeros((10, 5, 5), dtype=np.int32) + arr3 = np.ones((10, 5, 5), dtype=np.float32) + with NpzFileWriter(tmp_path / 'tmp.npz', 'w', compress_file=compressed) as npz: + npz.writeArray('adc', arr1) + npz.writeArray('tx', arr2) + npz.writeArray('signal', arr3) + + npzFile = np.load(tmp_path / 'tmp.npz') + assert sorted(npzFile.files) == sorted(('adc', 'tx', 'signal')) + assert np.array_equal(npzFile['adc'], np.ones((10, 5, 5))) + assert np.array_equal(npzFile['tx'], np.zeros((10, 5, 5), dtype=np.int32)) + assert np.array_equal(npzFile['signal'], np.ones((10, 5, 5), dtype=np.float32)) + if compressed: + np.savez_compressed(tmp_path / 'tmp2.npz', adc=arr1, tx=arr2, signal=arr3) + else: + np.savez(tmp_path / 'tmp2.npz', adc=arr1, tx=arr2, signal=arr3) + + assert filecmp.cmp(tmp_path / 'tmp2.npz', tmp_path / 'tmp.npz') + + +@pytest.mark.parametrize('compressed', [True, False]) +def test_zipping_npy_files(compressed, tmp_path): + data = { + 'arr1': np.ones((10, 5, 5)), + 'arr2': np.zeros((10, 5, 5), dtype=np.int32), + 'arr3': np.ones((10, 5, 5), dtype=np.float32) + } + filePaths = [tmp_path / (file + '.npy') for file in data.keys()] + for file in data: + np.save(tmp_path / (file + '.npy'), data[file]) + NpzFileWriter.zipNpyFiles(tmp_path / 'file.npz', filePaths, list(data.keys()), compressed=compressed) + npz = np.load(tmp_path / 'file.npz') + assert npz.files == list(data.keys()) + for file in data: + assert np.array_equal(npz[file], data[file]) + + if compressed: + np.savez_compressed(tmp_path / 'numpy.npz', **data) + else: + np.savez(tmp_path / 'numpy.npz', **data) + + numpyz = np.load(tmp_path / 'numpy.npz') + for file in data: + assert np.array_equal(numpyz[file], npz[file]) + assert npz.files == numpyz.files + + # different files :( + # for some reason numpy savez (most likely a trick with zipfile library) doesn't write the time + # of last modification + # assert filecmp.cmp(prefix / 'numpy.npz', prefix / 'file.npz') + + +@pytest.mark.parametrize('compressed', [True, False]) +def test_npy_writer_with_zipfile_in_init(compressed, tmp_path): + npz = NpzFileWriter(tmp_path / 'tmp.npz', 'w', compress_file=compressed) + + rng = np.random.default_rng(42) + arr = rng.random((8000, 5, 5)) + npz.writeArray('adc', arr) + with npz.file.open('adc.npy', mode='r') as outfile: + npw = NumpyFileManager(outfile) + assert np.array_equal(npw.readFrames(720, 7999), arr[720:7999]) + + +def test_compression(tmp_path): + arr = np.zeros((1000, 5, 5), dtype=np.int32) + with NpzFileWriter(tmp_path / 'tmp.npz', 'w', compress_file=True) as npz: + npz.writeArray('adc', arr) + + np.savez(tmp_path / 'tmp2.npz', adc=arr) + + assert Path(tmp_path / 'tmp2.npz').stat().st_size > Path(tmp_path / 'tmp.npz').stat().st_size + + +@pytest.mark.parametrize('compressed', [True, False]) +@pytest.mark.parametrize('isPath', [True, False]) +@pytest.mark.parametrize('deleteOriginals', [True, False]) +def test_delete_files(compressed, isPath, deleteOriginals, tmp_path): + data = { + 'arr1': np.ones((10, 5, 5)), + 'arr2': np.zeros((10, 5, 5), dtype=np.int32), + 'arr3': np.ones((10, 5, 5), dtype=np.float32) + } + filePaths = [tmp_path / (file + '.npy') for file in data.keys()] + for file in data: + np.save(tmp_path / (file + '.npy'), data[file]) + path = tmp_path / 'file.npz' + path = str(path) if isPath else path + NpzFileWriter.zipNpyFiles(path, + filePaths, + list(data.keys()), + deleteOriginals=deleteOriginals, + compressed=compressed) + if deleteOriginals: + for file in filePaths: + assert not Path.exists(file) + else: + for file in filePaths: + assert Path.exists(file) + + +def test_npz_read_frames(tmp_path): + rng = np.random.default_rng(seed=42) + arr1 = rng.random((10, 5, 5)) + + with NpzFileWriter(tmp_path / 'tmp.npz', 'w') as npz: + npz.writeArray('adc', arr1) + + with NpzFileWriter(tmp_path / 'tmp.npz', 'r') as npz: + frames = npz.readFrames('adc', 5, 8) + assert np.array_equal(frames, arr1[5:8]) + + +def test_file_modes(tmp_path): + rng = np.random.default_rng(seed=42) + arr1 = rng.random((10, 5, 5)) + + # check reopening with mode w + with NpzFileWriter(tmp_path / 'tmp.npz', 'w') as npz: + npz.writeArray('adc', arr1) + + with NpzFileWriter(tmp_path / 'tmp.npz', 'w') as npz: + assert npz.file.namelist() == [] + + # check reopening with mode x + with NpzFileWriter(tmp_path / 'tmp.npz', 'w') as npz: + npz.writeArray('adc', arr1) + + with pytest.raises(FileExistsError): + with NpzFileWriter(tmp_path / 'tmp.npz', 'x'): + pass + # check reopening with mode r + with NpzFileWriter(tmp_path / 'tmp.npz', 'r') as npz: + assert np.array_equal(npz.readFrames('adc', 4, 6), arr1[4:6]) + with pytest.raises(ValueError, match=r'write\(\) requires mode \'w\'\, \'x\'\, or \'a\''): + npz.writeArray('adc2', arr1) + + +@pytest.mark.filterwarnings('ignore::UserWarning') +def test_file_mode_a(tmp_path): + rng = np.random.default_rng(seed=42) + arr1 = rng.random((10, 5, 5)) + # check reopening with mode a + with NpzFileWriter(tmp_path / 'tmp.npz', 'w') as npz: + npz.writeArray('adc', arr1) + + with NpzFileWriter(tmp_path / 'tmp.npz', 'a') as npz: + npz.writeArray('adc2', arr1) + npz.writeArray('adc', arr1) + + +@pytest.mark.parametrize('compressed', [True, False]) +def test_get_item(compressed, tmp_path): + rng = np.random.default_rng(seed=42) + arr1 = rng.random((10, 5, 5)) + arr2 = rng.random((3, 2, 2)) + # check reopening with mode a + npz = NpzFileWriter(tmp_path / 'tmp.npz', 'w', compress_file=compressed) + npz.writeArray('adc1', arr1) + npz.writeArray('adc2', arr2) + npz.writeArray('adc3', arr1) + assert np.array_equal(npz['adc1'].read(3), arr1[:3]) + assert np.array_equal(npz['adc2'].read(1), arr2[:1]) + assert np.array_equal(npz['adc2'].read(1), arr2[1:2]) + assert np.array_equal(npz['adc2'].read(1), arr2[2:3]) + assert np.array_equal(npz['adc1'].read(3), arr1[3:6]) + assert np.array_equal(npz['adc1'].read(3), arr1[6:9]) + + +@pytest.mark.parametrize('compressed', [True, False]) +def test_namelist(compressed, tmp_path): + rng = np.random.default_rng(seed=42) + arr1 = rng.random((10, 5, 5)) + arr2 = rng.random((3, 2, 2)) + # check reopening with mode a + npz = NpzFileWriter(tmp_path / 'tmp.npz', 'w', compress_file=compressed) + npz.writeArray('adc1', arr1) + npz.writeArray('adc2', arr2) + npz.writeArray('adc3', arr1) + assert npz.namelist() == ['adc1', 'adc2', 'adc3'] diff --git a/python/setup.py b/python/setup.py index a467a4727..29663e405 100755 --- a/python/setup.py +++ b/python/setup.py @@ -10,7 +10,14 @@ import sys from setuptools import setup, find_packages from pybind11.setup_helpers import Pybind11Extension, build_ext -__version__ = os.environ.get('GIT_DESCRIBE_TAG', 'developer') + +import subprocess +def get_git_tag(): + try: + return subprocess.check_output(['git', 'describe', '--tags', '--abbrev=0']).strip().decode('utf-8') + except subprocess.CalledProcessError: + return 'developer' +__version__ = get_git_tag() def get_conda_path(): diff --git a/python/slsdet/__init__.py b/python/slsdet/__init__.py index 8915bc130..7cd0b383a 100755 --- a/python/slsdet/__init__.py +++ b/python/slsdet/__init__.py @@ -27,4 +27,14 @@ MacAddr = _slsdet.MacAddr scanParameters = _slsdet.scanParameters currentSrcParameters = _slsdet.currentSrcParameters DurationWrapper = _slsdet.DurationWrapper -pedestalParameters = _slsdet.pedestalParameters \ No newline at end of file +pedestalParameters = _slsdet.pedestalParameters + + +import subprocess +def get_git_tag(): + try: + return subprocess.check_output(['git', 'describe', '--tags', '--abbrev=0']).strip().decode('utf-8') + except subprocess.CalledProcessError: + return 'developer' +__version__ = get_git_tag() + diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index 717255564..ce8a60999 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -743,7 +743,7 @@ class Detector(CppDetectorApi): @property @element def nextframenumber(self): - """[Eiger][Jungfrau][Moench][CTB][Xilinx CTB] Next frame number. Stopping acquisition might result in different frame numbers for different modules. """ + """[Eiger][Jungfrau][Moench][CTB][Xilinx CTB][Gotthard2] Next frame number. Stopping acquisition might result in different frame numbers for different modules. So, after stopping, next frame number (max + 1) is set for all the modules afterwards.""" return self.getNextFrameNumber() @nextframenumber.setter @@ -1043,7 +1043,7 @@ class Detector(CppDetectorApi): Note ---- - If path does not exist, it will try to create it. + If path does not exist and fwrite enabled, it will try to create it at start of acquisition. Example -------- @@ -1059,7 +1059,7 @@ class Detector(CppDetectorApi): @property @element def fwrite(self): - """Enable or disable receiver file write. Default is enabled. """ + """Enable or disable receiver file write. Default is disabled. """ return self.getFileWrite() @fwrite.setter @@ -1210,31 +1210,6 @@ class Detector(CppDetectorApi): else: raise ValueError("Unknown argument type") - @property - @element - def rx_zmqip(self): - """ - Zmq Ip Address from which data is to be streamed out of the receiver. - - Note - ----- - Also restarts receiver zmq streaming if enabled. \n - Default is from rx_hostname. \n - Modified only when using an intermediate process after receiver. - - Example - ------- - >>> d.rx_zmqip - 192.168.0.101 - >>> d.rx_zmqip = '192.168.0.101' - """ - return self.getRxZmqIP() - - @rx_zmqip.setter - def rx_zmqip(self, ip): - ip = ut.make_ip(ip) #Convert from int or string to IpAddr - ut.set_using_dict(self.setRxZmqIP, ip) - @property @element def zmqip(self): @@ -2014,23 +1989,59 @@ class Detector(CppDetectorApi): @property def versions(self): - version_list = {'type': self.type, - 'package': self.packageversion, - 'client': self.clientversion} - - if self.type == detectorType.EIGER: - version_list ['firmware (Beb)'] = self.firmwareversion - version_list ['firmware(Febl)'] = self.getFrontEndFirmwareVersion(slsDetectorDefs.fpgaPosition.FRONT_LEFT) - version_list ['firmware (Febr)'] = self.getFrontEndFirmwareVersion(slsDetectorDefs.fpgaPosition.FRONT_RIGHT) + type = "Unknown" + firmware = "Unknown" + detectorserver = "Unknown" + kernel = "Unknown" + hardware = "Unknown" + receiverversion = "Unknown" + eiger = False + firmware_febl = "Unknown" + firmware_febr = "Unknown" + firmware_beb = "Unknown" + receiver_in_shm = False + + release = self.packageversion + client = self.clientversion + + if self.nmod != 0: + # shared memory has detectors + type = self.type + eiger = (self.type == detectorType.EIGER) + receiver_in_shm = self.use_receiver + if receiver_in_shm: + # cannot connect to receiver + try: + receiverversion = self.rx_version + except Exception as e: + pass + # cannot connect to Detector + try: + firmware = self.firmwareversion + detectorserver = self.detectorserverversion + kernel = self.kernelversion + hardware = self.hardwareversion + if eiger: + firmware_beb = self.firmwareversion + firmware_febl = self.getFrontEndFirmwareVersion(slsDetectorDefs.fpgaPosition.FRONT_LEFT) + firmware_febr = self.getFrontEndFirmwareVersion(slsDetectorDefs.fpgaPosition.FRONT_RIGHT) + except Exception as e: + pass + + version_list = {'type': {type}, + 'package': {release}, + 'client': {client}} + if eiger: + version_list ['firmware (Beb)'] = {firmware_beb} + version_list ['firmware(Febl)'] = {firmware_febl} + version_list ['firmware (Febr)'] = {firmware_febr} else: - version_list ['firmware'] = self.firmwareversion - - version_list ['detectorserver'] = self.detectorserverversion - version_list ['kernel'] = self.kernelversion - version_list ['hardware'] = self.hardwareversion - - if self.use_receiver: - version_list ['receiver'] = self.rx_version + version_list ['firmware'] = {firmware} + version_list ['detectorserver'] = {detectorserver} + version_list ['kernel'] = kernel + version_list ['hardware'] = hardware + if receiver_in_shm: + version_list ['receiver'] = {receiverversion} return version_list @@ -2100,7 +2111,7 @@ class Detector(CppDetectorApi): Note ----- - [Jungfrau][Moench] FULL_SPEED, HALF_SPEED (Default), QUARTER_SPEED + [Jungfrau][Moench][Mythen3] FULL_SPEED, HALF_SPEED (Default), QUARTER_SPEED [Eiger] FULL_SPEED (Default), HALF_SPEED, QUARTER_SPEED [Moench] FULL_SPEED (Default), HALF_SPEED, QUARTER_SPEED [Gottthard2] G2_108MHZ (Default), G2_144MHZ @@ -2899,10 +2910,36 @@ class Detector(CppDetectorApi): def pedestalmode(self, value): ut.set_using_dict(self.setPedestalMode, value) + @property + @element + def timing_info_decoder(self): + """[Jungfrau] [Jungfrau] Advanced Command and only for SWISSFEL and SHINE. Sets the bunch id or timing info decoder. Default is SWISSFEL. + Enum: timingInfoDecoder + """ + return self.getTimingInfoDecoder() + + @timing_info_decoder.setter + def timing_info_decoder(self, value): + ut.set_using_dict(self.setTimingInfoDecoder, value) + + @property + @element + def collectionmode(self): + """[Jungfrau] Sets collection mode to HOLE or ELECTRON. Default is HOLE. + Enum: collectionMode + """ + return self.getCollectionMode() + + @collectionmode.setter + def collectionmode(self, value): + ut.set_using_dict(self.setCollectionMode, value) + @property def maxclkphaseshift(self): """ - [Gotthard2][Mythen3] Absolute maximum Phase shift of clocks. + [Gotthard2][Mythen3] Absolute maximum Phase shift of clocks.\n + [Gotthard2] Clock index range: 0-5\n + [Mythen3] Clock index range: 0 :setter: Not Implemented @@ -3963,7 +4000,9 @@ class Detector(CppDetectorApi): @property def clkphase(self): """ - [Gotthard2][Mythen3] Phase shift of all clocks. + [Gotthard2][Mythen3] Phase shift of all clocks.\n + [Gotthard2] Clock index range: 0-5\n + [Mythen3] Clock index range: 0 Example ------- @@ -3981,7 +4020,9 @@ class Detector(CppDetectorApi): @property def clkdiv(self): """ - [Gotthard2][Mythen3] Clock Divider of all clocks. Must be greater than 1. + [Gotthard2][Mythen3] Clock Divider of all clocks. Must be greater than 1.\n + [Gotthard2] Clock index range: 0-5\n + [Mythen3] Clock index range: 0 Example ------- @@ -4037,7 +4078,10 @@ class Detector(CppDetectorApi): @property def clkfreq(self): """ - [Gotthard2][Mythen3] Frequency of clock in Hz. + [Gotthard2][Mythen3] Frequency of clock in Hz.\n + [Gotthard2] Clock index range: 0-5\n + [Mythen3] Clock index range: 0 + :setter: Not implemented. Use clkdiv to set frequency diff --git a/python/slsdet/registers.py b/python/slsdet/registers.py index 79da39fff..4c80585e9 100755 --- a/python/slsdet/registers.py +++ b/python/slsdet/registers.py @@ -8,7 +8,7 @@ class Register: return self._detector.readRegister(key) def __setitem__(self, key, value): - self._detector.writeRegister(key, value) + self._detector.writeRegister(key, value, False) class Adc_register: def __init__(self, detector): diff --git a/python/src/detector.cpp b/python/src/detector.cpp index 7ae9c1be1..fb96c3579 100644 --- a/python/src/detector.cpp +++ b/python/src/detector.cpp @@ -1039,15 +1039,6 @@ void init_det(py::module &m) { (void (Detector::*)(uint16_t, int)) & Detector::setRxZmqPort, py::arg(), py::arg() = -1); - CppDetectorApi.def( - "getRxZmqIP", - (Result(Detector::*)(sls::Positions) const) & - Detector::getRxZmqIP, - py::arg() = Positions{}); - CppDetectorApi.def("setRxZmqIP", - (void (Detector::*)(const sls::IpAddr, sls::Positions)) & - Detector::setRxZmqIP, - py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getClientZmqPort", (Result(Detector::*)(sls::Positions) const) & Detector::getClientZmqPort, @@ -1280,6 +1271,26 @@ void init_det(py::module &m) { (void (Detector::*)(const defs::pedestalParameters, sls::Positions)) & Detector::setPedestalMode, py::arg(), py::arg() = Positions{}); + CppDetectorApi.def( + "getTimingInfoDecoder", + (Result(Detector::*)(sls::Positions) const) & + Detector::getTimingInfoDecoder, + py::arg() = Positions{}); + CppDetectorApi.def( + "setTimingInfoDecoder", + (void (Detector::*)(defs::timingInfoDecoder, sls::Positions)) & + Detector::setTimingInfoDecoder, + py::arg(), py::arg() = Positions{}); + CppDetectorApi.def( + "getCollectionMode", + (Result(Detector::*)(sls::Positions) const) & + Detector::getCollectionMode, + py::arg() = Positions{}); + CppDetectorApi.def( + "setCollectionMode", + (void (Detector::*)(defs::collectionMode, sls::Positions)) & + Detector::setCollectionMode, + py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getROI", (Result(Detector::*)(sls::Positions) const) & Detector::getROI, @@ -1949,17 +1960,19 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "writeRegister", - (void (Detector::*)(uint32_t, uint32_t, sls::Positions)) & + (void (Detector::*)(uint32_t, uint32_t, bool, sls::Positions)) & Detector::writeRegister, - py::arg(), py::arg(), py::arg() = Positions{}); - CppDetectorApi.def("setBit", - (void (Detector::*)(uint32_t, int, sls::Positions)) & - Detector::setBit, - py::arg(), py::arg(), py::arg() = Positions{}); - CppDetectorApi.def("clearBit", - (void (Detector::*)(uint32_t, int, sls::Positions)) & - Detector::clearBit, - py::arg(), py::arg(), py::arg() = Positions{}); + py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); + CppDetectorApi.def( + "setBit", + (void (Detector::*)(uint32_t, int, bool, sls::Positions)) & + Detector::setBit, + py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); + CppDetectorApi.def( + "clearBit", + (void (Detector::*)(uint32_t, int, bool, sls::Positions)) & + Detector::clearBit, + py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "getBit", (Result(Detector::*)(uint32_t, int, sls::Positions)) & diff --git a/python/src/enums.cpp b/python/src/enums.cpp index 0bc9de6d8..69633825f 100644 --- a/python/src/enums.cpp +++ b/python/src/enums.cpp @@ -39,6 +39,11 @@ void init_enums(py::module &m) { .value("STOPPED", slsDetectorDefs::runStatus::STOPPED) .export_values(); + py::enum_(Defs, "dimension") + .value("X", slsDetectorDefs::dimension::X) + .value("Y", slsDetectorDefs::dimension::Y) + .export_values(); + py::enum_(Defs, "frameDiscardPolicy") .value("NO_DISCARD", slsDetectorDefs::frameDiscardPolicy::NO_DISCARD) .value("DISCARD_EMPTY_FRAMES", @@ -56,11 +61,6 @@ void init_enums(py::module &m) { slsDetectorDefs::fileFormat::NUM_FILE_FORMATS) .export_values(); - py::enum_(Defs, "dimension") - .value("X", slsDetectorDefs::dimension::X) - .value("Y", slsDetectorDefs::dimension::Y) - .export_values(); - py::enum_(Defs, "externalSignalFlag") .value("TRIGGER_IN_RISING_EDGE", slsDetectorDefs::externalSignalFlag::TRIGGER_IN_RISING_EDGE) @@ -327,4 +327,14 @@ void init_enums(py::module &m) { .value("POSITIVE", slsDetectorDefs::polarity::POSITIVE) .value("NEGATIVE", slsDetectorDefs::polarity::NEGATIVE) .export_values(); + + py::enum_(Defs, "timingInfoDecoder") + .value("SWISSFEL", slsDetectorDefs::timingInfoDecoder::SWISSFEL) + .value("SHINE", slsDetectorDefs::timingInfoDecoder::SHINE) + .export_values(); + + py::enum_(Defs, "collectionMode") + .value("HOLE", slsDetectorDefs::collectionMode::HOLE) + .value("ELECTRON", slsDetectorDefs::collectionMode::ELECTRON) + .export_values(); } diff --git a/slsDetectorCalibration/moenchExecutables/moenchRawDataProcess.cpp b/slsDetectorCalibration/moenchExecutables/moenchRawDataProcess.cpp index 24c7fcec1..c29b60e6b 100644 --- a/slsDetectorCalibration/moenchExecutables/moenchRawDataProcess.cpp +++ b/slsDetectorCalibration/moenchExecutables/moenchRawDataProcess.cpp @@ -176,13 +176,12 @@ int main(int argc, char *argv[]) { int cf = 0; int numberOfPackets=nrows/8; - #ifdef RECT cout << "Should be rectangular but now it will crash! No data structure defined!" << endl; #endif #ifndef MOENCH04 - moench03v2Data *decoder = new moench03v2Data(200); + moench03v2Data *decoder = new moench03v2Data(nrows/2); cout << "MOENCH03 V2!" << endl; #endif @@ -471,7 +470,6 @@ int main(int argc, char *argv[]) { } else { cout << "bp " << ifr << " " << ff << " " << np << endl; - break; } ff = -1; diff --git a/slsDetectorCalibration/moenchExecutables/moenchZmqProcess.cpp b/slsDetectorCalibration/moenchExecutables/moenchZmqProcess.cpp index f69184230..8d20767cd 100644 --- a/slsDetectorCalibration/moenchExecutables/moenchZmqProcess.cpp +++ b/slsDetectorCalibration/moenchExecutables/moenchZmqProcess.cpp @@ -183,8 +183,8 @@ int main(int argc, char *argv[]) { gainfname = args["gainfile"]; etafname = args["etafilefile"]; - if (atoi(args["nuninterfaces"].c_str())>1){ - cprintf(RED, "Sorry, at the moment only a single interface is supported instead of %d\n",atoi(args["nuninterfaces"].c_str())); + if (atoi(args["numinterfaces"].c_str())>1){ + cprintf(RED, "Sorry, at the moment only a single interface is supported instead of %d\n",atoi(args["numinterfaces"].c_str())); return EXIT_FAILURE; } @@ -272,84 +272,42 @@ int main(int argc, char *argv[]) { sls::ZmqSocket *zmqsocket = NULL; -#ifdef NEWZMQ // receive socket try { -#endif - zmqsocket = new sls::ZmqSocket(socketip.c_str(), portnum); - -#ifdef NEWZMQ } catch (...) { cprintf(RED, - "Error: Could not create Zmq socket on port %d with ip %s\n", + "Error: Could not create Zmq receiving socket on port %d with ip %s\n", portnum, socketip.c_str()); delete zmqsocket; return EXIT_FAILURE; } -#endif - -#ifndef NEWZMQ - if (zmqsocket->IsError()) { - cprintf(RED, - "Error: Could not create Zmq socket on port %d with ip %s\n", - portnum, socketip.c_str()); - delete zmqsocket; - return EXIT_FAILURE; - } -#endif if (zmqsocket->Connect()) { - cprintf(RED, "Error: Could not connect to socket %s\n", + cprintf(RED, "Error: Could not connect to Zmq receiving socket %s\n", (zmqsocket->GetZmqServerAddress()).c_str()); delete zmqsocket; return EXIT_FAILURE; } else - printf("Zmq Client at %s\n", zmqsocket->GetZmqServerAddress().c_str()); + printf("Zmq receiving socket at %s\n", zmqsocket->GetZmqServerAddress().c_str()); // send socket sls::ZmqSocket *zmqsocket2 = 0; // cout << "zmq2 " << endl; if (send) { -#ifdef NEWZMQ // receive socket try { -#endif - zmqsocket2 = new sls::ZmqSocket(portnum2, socketip2.c_str()); - -#ifdef NEWZMQ + zmqsocket2 = new sls::ZmqSocket(portnum2); } catch (...) { cprintf(RED, - "Error: Could not create Zmq socket server on port %d and " - "ip %s\n", - portnum2, socketip2.c_str()); + "Error: Could not create Zmq sending socket on port %d\n", + portnum2); // delete zmqsocket2; // zmqsocket2=NULL; // delete zmqsocket; // return EXIT_FAILURE; send = false; } -#endif - -#ifndef NEWZMQ - if (zmqsocket2->IsError()) { - cprintf(RED, - "AAA Error: Could not create Zmq socket server on port %d " - "and ip %s\n", - portnum2, socketip2.c_str()); - // delete zmqsocket2; - // delete zmqsocket; - // return EXIT_FAILURE; - send = false; - } -#endif - if (zmqsocket2->Connect()) { - cprintf(RED, "BBB Error: Could not connect to socket %s\n", - zmqsocket2->GetZmqServerAddress().c_str()); - // delete zmqsocket2; - send = false; - // return EXIT_FAILURE; - } else - printf("Zmq Client at %s\n", + printf("Zmq sending socket at %s\n", zmqsocket2->GetZmqServerAddress().c_str()); } diff --git a/slsDetectorGui/forms/form_tab_advanced.ui b/slsDetectorGui/forms/form_tab_advanced.ui index 17fceaf8e..6659c9770 100755 --- a/slsDetectorGui/forms/form_tab_advanced.ui +++ b/slsDetectorGui/forms/form_tab_advanced.ui @@ -852,7 +852,7 @@ - <html><head/><body><p>Sets Listening ZMQ IP of client interface (packets streamed from receiver for gui)</p><p>#zmqip#</p><p><br/></p><p>Has to be same as rx_zmqip for gui</p></body></html> + <html><head/><body><p>Sets Listening ZMQ IP of client interface (packets streamed from receiver for gui)</p><p>#zmqip#</p><p><br/></p></body></html> Client ZMQ IP: @@ -886,7 +886,7 @@ - <html><head/><body><p>Sets Listening ZMQ IP of client interface (packets streamed from receiver for gui)</p><p>#zmqip#</p><p><br/></p><p>Has to be same as rx_zmqip for gui</p></body></html> + <html><head/><body><p>Sets Listening ZMQ IP of client interface (packets streamed from receiver for gui)</p><p>#zmqip#</p><p><br/></p></body></html> 0 @@ -948,28 +948,6 @@ - - - - - 0 - 0 - - - - - Cantarell - 10 - - - - <html><head/><body><p>Sets Publishing ZMQ IP of reciever (packets streamed from receiver for gui)</p><p>#rx_zmqip#</p><p>Has to be same as zmqip for gui</p></body></html> - - - Receiver ZMQ IP: - - - @@ -1121,40 +1099,6 @@ - - - - - 0 - 0 - - - - - 180 - 20 - - - - - 16777215 - 25 - - - - - Cantarell - 10 - - - - <html><head/><body><p>Sets Publishing ZMQ IP of reciever (packets streamed from receiver for gui)</p><p>#rx_zmqip#</p><p>Has to be same as zmqip for gui</p></body></html> - - - 0 - - - @@ -2312,7 +2256,6 @@ Exposure Time of a sub frame. Only for Eiger in 32 bit mode dispRxrUDPIP dispRxrUDPMAC spinRxrZMQPort - dispRxrZMQIP spinNumStoragecells spinSubExpTime comboSubExpTimeUnit diff --git a/slsDetectorGui/include/qTabAdvanced.h b/slsDetectorGui/include/qTabAdvanced.h index 50379d605..13d3100f0 100644 --- a/slsDetectorGui/include/qTabAdvanced.h +++ b/slsDetectorGui/include/qTabAdvanced.h @@ -38,8 +38,6 @@ class qTabAdvanced : public QWidget, private Ui::TabAdvancedObject { void SetRxrUDPMAC(bool force = false); void ForceSetRxrUDPMAC(); void SetRxrZMQPort(int port); - void SetRxrZMQIP(bool force = false); - void ForceSetRxrZMQIP(); void GetROI(); void ClearROI(); void SetROI(); @@ -68,7 +66,6 @@ class qTabAdvanced : public QWidget, private Ui::TabAdvancedObject { void GetRxrUDPIP(); void GetRxrUDPMAC(); void GetRxrZMQPort(); - void GetRxrZMQIP(); void GetAllTrimbits(); void GetNumStoragecells(); void GetSubExposureTime(); diff --git a/slsDetectorGui/src/qTabAdvanced.cpp b/slsDetectorGui/src/qTabAdvanced.cpp index ae3c2b39f..a00d518cc 100644 --- a/slsDetectorGui/src/qTabAdvanced.cpp +++ b/slsDetectorGui/src/qTabAdvanced.cpp @@ -113,9 +113,6 @@ void qTabAdvanced::Initialization() { SLOT(ForceSetRxrUDPMAC())); connect(spinRxrZMQPort, SIGNAL(valueChanged(int)), this, SLOT(SetRxrZMQPort(int))); - connect(dispRxrZMQIP, SIGNAL(editingFinished()), this, SLOT(SetRxrZMQIP())); - connect(dispRxrZMQIP, SIGNAL(returnPressed()), this, - SLOT(ForceSetRxrZMQIP())); // roi if (tab_roi->isEnabled()) { @@ -388,20 +385,6 @@ void qTabAdvanced::GetRxrZMQPort() { SLOT(SetRxrZMQPort(int))); } -void qTabAdvanced::GetRxrZMQIP() { - LOG(logDEBUG) << "Getting Receiver ZMQ IP"; - disconnect(dispRxrZMQIP, SIGNAL(editingFinished()), this, - SLOT(SetRxrZMQIP())); - - try { - auto retval = det->getRxZmqIP({comboDetector->currentIndex()})[0].str(); - dispRxrZMQIP->setText(QString(retval.c_str())); - } - CATCH_DISPLAY("Could not get receiver zmq ip.", "qTabAdvanced::GetRxrZMQIP") - - connect(dispRxrZMQIP, SIGNAL(editingFinished()), this, SLOT(SetRxrZMQIP())); -} - void qTabAdvanced::SetDetector() { LOG(logDEBUG) << "Set Detector: " << comboDetector->currentText().toLatin1().data(); @@ -418,7 +401,6 @@ void qTabAdvanced::SetDetector() { GetRxrUDPIP(); GetRxrUDPMAC(); GetRxrZMQPort(); - GetRxrZMQIP(); LOG(logDEBUG) << det->printRxConfiguration(); } @@ -588,23 +570,6 @@ void qTabAdvanced::SetRxrZMQPort(int port) { &qTabAdvanced::GetRxrZMQPort) } -void qTabAdvanced::SetRxrZMQIP(bool force) { - // return forces modification (inconsistency from command line) - if (dispRxrZMQIP->isModified() || force) { - dispRxrZMQIP->setModified(false); - std::string s = dispRxrZMQIP->text().toLatin1().constData(); - LOG(logINFO) << "Setting Receiver ZMQ IP:" << s; - try { - det->setRxZmqIP(IpAddr{s}, {comboDetector->currentIndex()}); - } - CATCH_HANDLE("Could not set Receiver ZMQ IP.", - "qTabAdvanced::SetRxrZMQIP", this, - &qTabAdvanced::GetRxrZMQIP) - } -} - -void qTabAdvanced::ForceSetRxrZMQIP() { SetRxrZMQIP(true); } - void qTabAdvanced::GetROI() { LOG(logDEBUG) << "Getting ROI"; try { diff --git a/slsDetectorGui/src/qTabMeasurement.cpp b/slsDetectorGui/src/qTabMeasurement.cpp index dc97903bb..c2df7922b 100644 --- a/slsDetectorGui/src/qTabMeasurement.cpp +++ b/slsDetectorGui/src/qTabMeasurement.cpp @@ -839,8 +839,8 @@ void qTabMeasurement::UpdateProgress() { int qTabMeasurement::VerifyOutputDirectoryError() { try { auto retval = det->getFilePath(); - for (auto &it : retval) { - det->setFilePath(it); + for (int i = 0; i < static_cast(retval.size()); ++i) { + det->setFilePath(retval[i], {i}); } return slsDetectorDefs::OK; } diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 9d3380f17..d2b865387 100755 Binary files a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer and b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer differ diff --git a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c index ca094263d..a23be7a45 100644 --- a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c @@ -449,6 +449,7 @@ void initControlServer() { void initStopServer() { if (!updateFlag && initError == OK) { usleep(CTRL_SRVR_INIT_TIME_US); + LOG(logINFOBLUE, ("Configuring Stop server\n")); if (mapCSP0() == FAIL) { initError = FAIL; strcpy(initErrorMessage, @@ -458,7 +459,7 @@ void initStopServer() { return; } #ifdef VIRTUAL - sharedMemory_setStop(0); + setupDetector(); #endif } initCheckDone = 1; @@ -512,10 +513,16 @@ void setupDetector() { ndSamples = 1; ntSamples = 1; #ifdef VIRTUAL - sharedMemory_setStatus(IDLE); - initializePatternWord(); + if (isControlServer) { + sharedMemory_setStatus(IDLE); + initializePatternWord(); + } else { + sharedMemory_setStop(0); + } #endif - setupUDPCommParameters(); + if (isControlServer) { + setupUDPCommParameters(); + } // altera pll ALTERA_PLL_SetDefines(PLL_CNTRL_REG, PLL_PARAM_REG, diff --git a/slsDetectorServers/eigerDetectorServer/FebControl.c b/slsDetectorServers/eigerDetectorServer/FebControl.c index 27acb91a0..d318dc8c8 100644 --- a/slsDetectorServers/eigerDetectorServer/FebControl.c +++ b/slsDetectorServers/eigerDetectorServer/FebControl.c @@ -395,11 +395,13 @@ int Feb_Control_ReceiveHighVoltage(unsigned int *value) { // normal if (Feb_Control_normal) { - - if (readADCFromFile(NORMAL_HIGHVOLTAGE_INPUTPORT, value) == FAIL) { + if (readParameterFromFile(NORMAL_HIGHVOLTAGE_INPUTPORT, "high voltage", + value) == FAIL) { LOG(logERROR, ("Could not get high voltage\n")); return 0; } + *value /= 10; + LOG(logINFO, ("High Voltage: %d\n", (*value))); } // 9m @@ -1249,7 +1251,8 @@ int Feb_Control_Disable16bitConversion(int disable) { regval &= ~bitmask; } - if (!Feb_Control_WriteRegister_BitMask(DAQ_REG_HRDWRE, regval, bitmask)) { + if (!Feb_Control_WriteRegister_BitMask(DAQ_REG_HRDWRE, regval, bitmask, + 1)) { LOG(logERROR, ("Could not %s 16 bit expansion (bit mode)\n", (disable ? "disable" : "enable"))); return 0; @@ -1635,7 +1638,7 @@ int Feb_Control_SetChipSignalsToTrimQuad(int enable) { regval &= ~(DAQ_REG_HRDWRE_PROGRAM_MSK | DAQ_REG_HRDWRE_M8_MSK); } - if (!Feb_Control_WriteRegister(righOffset, regval)) { + if (!Feb_Control_WriteRegister(righOffset, regval, 1)) { LOG(logERROR, ("Could not set chip signals to trim quad\n")); return 0; } @@ -1664,8 +1667,10 @@ int Feb_Control_GetReadNRows() { return regVal; } -int Feb_Control_WriteRegister(uint32_t offset, uint32_t data) { - return Feb_Control_WriteRegister_BitMask(offset, data, BIT32_MSK); +int Feb_Control_WriteRegister(uint32_t offset, uint32_t data, int validate) { + if (!Feb_Control_WriteRegister_BitMask(offset, data, BIT32_MSK, validate)) + return 0; + return 1; } int Feb_Control_ReadRegister(uint32_t offset, uint32_t *retval) { @@ -1673,7 +1678,7 @@ int Feb_Control_ReadRegister(uint32_t offset, uint32_t *retval) { } int Feb_Control_WriteRegister_BitMask(uint32_t offset, uint32_t data, - uint32_t bitmask) { + uint32_t bitmask, int validate) { uint32_t actualOffset = offset; char side[2][10] = {"right", "left"}; unsigned int addr[2] = {Feb_Control_rightAddress, Feb_Control_leftAddress}; @@ -1718,21 +1723,24 @@ int Feb_Control_WriteRegister_BitMask(uint32_t offset, uint32_t data, writeVal, side[iloop], actualOffset)); return 0; } - writeVal &= bitmask; - uint32_t readVal = 0; - if (!Feb_Interface_ReadRegister(addr[iloop], actualOffset, - &readVal)) { - return 0; - } - readVal &= bitmask; + if (validate) { - if (writeVal != readVal) { - LOG(logERROR, - ("Could not write %s addr 0x%x register. Wrote " - "0x%x, read 0x%x (mask:0x%x)\n", - side[iloop], actualOffset, writeVal, readVal, bitmask)); - return 0; + uint32_t readVal = 0; + if (!Feb_Interface_ReadRegister(addr[iloop], actualOffset, + &readVal)) { + return 0; + } + readVal &= bitmask; + writeVal &= bitmask; + if (writeVal != readVal) { + LOG(logERROR, + ("Could not write %s addr 0x%x register. Wrote " + "0x%x, read 0x%x (mask:0x%x)\n", + side[iloop], actualOffset, writeVal, readVal, + bitmask)); + return 0; + } } } } diff --git a/slsDetectorServers/eigerDetectorServer/FebControl.h b/slsDetectorServers/eigerDetectorServer/FebControl.h index e5ca463b1..63025554f 100644 --- a/slsDetectorServers/eigerDetectorServer/FebControl.h +++ b/slsDetectorServers/eigerDetectorServer/FebControl.h @@ -93,10 +93,10 @@ int Feb_Control_SetQuad(int val); int Feb_Control_SetChipSignalsToTrimQuad(int enable); int Feb_Control_SetReadNRows(int value); int Feb_Control_GetReadNRows(); -int Feb_Control_WriteRegister(uint32_t offset, uint32_t data); +int Feb_Control_WriteRegister(uint32_t offset, uint32_t data, int validate); int Feb_Control_ReadRegister(uint32_t offset, uint32_t *retval); int Feb_Control_WriteRegister_BitMask(uint32_t offset, uint32_t data, - uint32_t bitmask); + uint32_t bitmask, int validate); int Feb_Control_ReadRegister_BitMask(uint32_t offset, uint32_t *retval, uint32_t bitmask); // pulsing diff --git a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer index 218c11e89..90c21f8a3 100755 Binary files a/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer and b/slsDetectorServers/eigerDetectorServer/bin/eigerDetectorServer_developer differ diff --git a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c index ad9b875f7..2a95f310b 100644 --- a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c @@ -379,63 +379,7 @@ void initControlServer() { return; } #ifndef VIRTUAL - sharedMemory_lockLocalLink(); - Feb_Interface_FebInterface(); - if (!Feb_Control_FebControl(normal)) { - initError = FAIL; - sprintf(initErrorMessage, - "Could not intitalize eiger detector sever: feb control\n"); - LOG(logERROR, (initErrorMessage)); - initCheckDone = 1; - sharedMemory_unlockLocalLink(); - return; - } - if (Feb_Control_SetMasterEffects(master, isControlServer) == FAIL) { - initError = FAIL; - sprintf(initErrorMessage, "Could not intitalize HV for eiger " - "detector server: feb control serial " - "communication\n"); - LOG(logERROR, (initErrorMessage)); - initCheckDone = 1; - sharedMemory_unlockLocalLink(); - return; - } - sharedMemory_unlockLocalLink(); - LOG(logDEBUG1, ("Control server: FEB Initialization done\n")); - Beb_SetTopVariable(top); - Beb_Beb(); - LOG(logDEBUG1, ("Control server: BEB Initialization done\n")); - - // Getting the feb versions after initialization - char hversion[MAX_STR_LENGTH] = {0}; - memset(hversion, 0, MAX_STR_LENGTH); - getHardwareVersion(hversion); - int64_t fwversion = getFirmwareVersion(); - int64_t feblfwversion = getFrontEndFirmwareVersion(FRONT_LEFT); - int64_t febrfwversion = getFrontEndFirmwareVersion(FRONT_RIGHT); - LOG(logINFOBLUE, - ("\n********************************************************\n" - "Feb Versions\n" - "Hardware Version : %s\n" - "Firmware (Febl) Version : %lld\n" - "Firmware (Febr) Version : %lld\n" - "********************************************************\n", - hversion, (long long int)feblfwversion, - (long long int)febrfwversion)); - - // ensure febl, febr and beb fw versions are the same - if (fwversion != feblfwversion || fwversion != febrfwversion) { - sprintf( - initErrorMessage, - "Inconsistent firmware versions in feb and beb. [Beb: %lld, " - "Febl: %lld Febr: %lld]\n", - (long long int)fwversion, (long long int)feblfwversion, - (long long int)febrfwversion); - LOG(logERROR, (initErrorMessage)); - initError = FAIL; - return; - } - + setupFebBeb(); #endif // also reads config file and deactivates setupDetector(); @@ -449,56 +393,22 @@ void initStopServer() { // command line) usleep(WAIT_STOP_SERVER_START); LOG(logINFOBLUE, ("Configuring Stop server\n")); + // ismaster from variable in stop server if (updateModuleConfiguration() == FAIL) { initCheckDone = 1; return; } #ifdef VIRTUAL - sharedMemory_setStop(0); - // force top or master if in config file - if (readConfigFile() == FAIL) { - initCheckDone = 1; - return; - } - // force top or master if in command line - if (checkCommandLineConfiguration() == FAIL) { - initCheckDone = 1; - return; - } + setupDetector(); #else - // control server read config file and already set up master/top - sharedMemory_lockLocalLink(); - Feb_Interface_FebInterface(); - if (!Feb_Control_FebControl(normal)) { - initError = FAIL; - sprintf(initErrorMessage, "Could not intitalize feb control\n"); - LOG(logERROR, (initErrorMessage)); - initCheckDone = 1; - sharedMemory_unlockLocalLink(); - return; - } - if (Feb_Control_SetMasterEffects(master, isControlServer) == FAIL) { - initError = FAIL; - sprintf(initErrorMessage, "Could not intitalize HV for eiger " - "detector server: feb control serial " - "communication\n"); - LOG(logERROR, (initErrorMessage)); - initCheckDone = 1; - sharedMemory_unlockLocalLink(); - return; - } - sharedMemory_unlockLocalLink(); - LOG(logDEBUG1, ("Stop server: FEB Initialization done\n")); - Beb_SetTopVariable(top); - Beb_Beb(); - LOG(logDEBUG1, ("Control server: BEB Initialization done\n")); -#endif + setupFebBeb(); // client first connect (from shm) will activate if (setActivate(0) == FAIL) { initError = FAIL; strcpy(initErrorMessage, "Could not deactivate\n"); LOG(logERROR, (initErrorMessage)); } +#endif } initCheckDone = 1; } @@ -749,6 +659,71 @@ int checkCommandLineConfiguration() { /* set up detector */ +#ifndef VIRTUAL +void setupFebBeb() { + sharedMemory_lockLocalLink(); + Feb_Interface_FebInterface(); + if (!Feb_Control_FebControl(normal)) { + initError = FAIL; + sprintf(initErrorMessage, + "Could not intitalize eiger detector sever: feb control\n"); + LOG(logERROR, (initErrorMessage)); + initCheckDone = 1; + sharedMemory_unlockLocalLink(); + return; + } + if (Feb_Control_SetMasterEffects(master, isControlServer) == FAIL) { + initError = FAIL; + sprintf(initErrorMessage, "Could not intitalize HV for eiger " + "detector server: feb control serial " + "communication\n"); + LOG(logERROR, (initErrorMessage)); + initCheckDone = 1; + sharedMemory_unlockLocalLink(); + return; + } + sharedMemory_unlockLocalLink(); + LOG(logDEBUG1, ("%s server: FEB Initialization done\n", + isControlServer ? "Control" : "Stop")); + Beb_SetTopVariable(top); + Beb_Beb(); + LOG(logDEBUG1, ("%s server: BEB Initialization done\n", + isControlServer ? "Control" : "Stop")); + + if (isControlServer) { + // Getting the feb versions after initialization + char hversion[MAX_STR_LENGTH] = {0}; + memset(hversion, 0, MAX_STR_LENGTH); + getHardwareVersion(hversion); + int64_t fwversion = getFirmwareVersion(); + int64_t feblfwversion = getFrontEndFirmwareVersion(FRONT_LEFT); + int64_t febrfwversion = getFrontEndFirmwareVersion(FRONT_RIGHT); + LOG(logINFOBLUE, + ("\n********************************************************\n" + "Feb Versions\n" + "Hardware Version : %s\n" + "Firmware (Febl) Version : %lld\n" + "Firmware (Febr) Version : %lld\n" + "********************************************************\n", + hversion, (long long int)feblfwversion, + (long long int)febrfwversion)); + + // ensure febl, febr and beb fw versions are the same + if (fwversion != feblfwversion || fwversion != febrfwversion) { + sprintf( + initErrorMessage, + "Inconsistent firmware versions in feb and beb. [Beb: %lld, " + "Febl: %lld Febr: %lld]\n", + (long long int)fwversion, (long long int)feblfwversion, + (long long int)febrfwversion); + LOG(logERROR, (initErrorMessage)); + initError = FAIL; + return; + } + } +} +#endif + void allocateDetectorStructureMemory() { LOG(logINFO, ("This Server is for 1 Eiger half module (250k)\n\n")); @@ -799,8 +774,12 @@ void setupDetector() { LOG(logINFOBLUE, ("Setting Default Parameters\n")); resetToDefaultDacs(0); #ifdef VIRTUAL - sharedMemory_setStatus(IDLE); - setupUDPCommParameters(); + if (isControlServer) { + sharedMemory_setStatus(IDLE); + setupUDPCommParameters(); + } else { + sharedMemory_setStop(0); + } #endif // setting default measurement parameters @@ -904,12 +883,12 @@ int setDefaultDac(enum DACINDEX index, enum detectorSettings sett, int value) { } /* advanced read/write reg */ -int writeRegister(uint32_t offset, uint32_t data) { +int writeRegister(uint32_t offset, uint32_t data, int validate) { #ifdef VIRTUAL return OK; #else sharedMemory_lockLocalLink(); - if (!Feb_Control_WriteRegister(offset, data)) { + if (!Feb_Control_WriteRegister(offset, data, validate)) { sharedMemory_unlockLocalLink(); return FAIL; } @@ -932,7 +911,7 @@ int readRegister(uint32_t offset, uint32_t *retval) { #endif } -int setBit(const uint32_t addr, const int nBit) { +int setBit(const uint32_t addr, const int nBit, int validate) { #ifndef VIRTUAL uint32_t regval = 0; if (readRegister(addr, ®val) == FAIL) { @@ -942,7 +921,7 @@ int setBit(const uint32_t addr, const int nBit) { uint32_t val = regval | bitmask; sharedMemory_lockLocalLink(); - if (!Feb_Control_WriteRegister_BitMask(addr, val, bitmask)) { + if (!Feb_Control_WriteRegister_BitMask(addr, val, bitmask, validate)) { sharedMemory_unlockLocalLink(); return FAIL; } @@ -951,7 +930,7 @@ int setBit(const uint32_t addr, const int nBit) { return OK; } -int clearBit(const uint32_t addr, const int nBit) { +int clearBit(const uint32_t addr, const int nBit, int validate) { #ifndef VIRTUAL uint32_t regval = 0; if (readRegister(addr, ®val) == FAIL) { @@ -961,7 +940,7 @@ int clearBit(const uint32_t addr, const int nBit) { uint32_t val = regval & ~bitmask; sharedMemory_lockLocalLink(); - if (!Feb_Control_WriteRegister_BitMask(addr, val, bitmask)) { + if (!Feb_Control_WriteRegister_BitMask(addr, val, bitmask, validate)) { sharedMemory_unlockLocalLink(); return FAIL; } diff --git a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h index 097238426..362822fd8 100644 --- a/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h +++ b/slsDetectorServers/gotthard2DetectorServer/RegisterDefs.h @@ -135,11 +135,20 @@ #define DTA_OFFSET_REG (0x0A * REG_OFFSET + BASE_CONTROL) +/** Module ID Register */ #define MOD_ID_REG (0x0B * REG_OFFSET + BASE_CONTROL) #define MOD_ID_OFST (0) #define MOD_ID_MSK (0x0000FFFF << MOD_ID_OFST) +/** Set Next Frame Number Register */ +#define FRAME_NUMBER_LSB_REG (0x0C * REG_OFFSET + BASE_CONTROL) +#define FRAME_NUMBER_MSB_REG (0x0D * REG_OFFSET + BASE_CONTROL) + +/** Get Next Frame Number Register */ +#define GET_FRAME_NUMBER_LSB_REG (0x0E * REG_OFFSET + BASE_CONTROL) +#define GET_FRAME_NUMBER_MSB_REG (0x0F * REG_OFFSET + BASE_CONTROL) + /* ASIC registers --------------------------------------------------*/ /* ASIC Config register */ diff --git a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer index 90b23f707..8a98b5fd2 100755 Binary files a/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer and b/slsDetectorServers/gotthard2DetectorServer/bin/gotthard2DetectorServer_developer differ diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c index dbf91df17..6e87c56ec 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorFunctionList.c @@ -45,7 +45,6 @@ char initErrorMessage[MAX_STR_LENGTH]; #ifdef VIRTUAL pthread_t pthread_virtual_tid; -int64_t virtual_currentFrameNumber = 2; int virtual_moduleid = 0; #endif @@ -53,8 +52,8 @@ enum detectorSettings thisSettings = UNINITIALIZED; int32_t clkPhase[NUM_CLOCKS] = {}; uint32_t clkDivider[NUM_CLOCKS] = {}; double systemFrequency = 0; -int highvoltage = 0; int dacValues[NDAC] = {}; +int startupPowerChipConfigDone = 0; int onChipdacValues[ONCHIP_NDAC][NCHIP] = {}; int defaultDacValues[NDAC] = {}; int hardCodedDefaultDacValues[NDAC] = {}; @@ -74,6 +73,7 @@ int64_t burstPeriodReg = 0; int filterResistor = 0; int cdsGain = 0; int detPos[2] = {}; +int chipConfigured = 0; int isInitCheckDone() { return initCheckDone; } @@ -402,13 +402,7 @@ void initStopServer() { return; } #ifdef VIRTUAL - sharedMemory_setStop(0); - setMaster(OW_MASTER); - if (readConfigFile() == FAIL || - checkCommandLineConfiguration() == FAIL) { - initCheckDone = 1; - return; - } + setupDetector(); #endif } initCheckDone = 1; @@ -428,9 +422,9 @@ void setupDetector() { systemFrequency = INT_SYSTEM_C0_FREQUENCY; detPos[0] = 0; detPos[1] = 0; + chipConfigured = 0; thisSettings = UNINITIALIZED; - highvoltage = 0; injectedChannelsOffset = 0; injectedChannelsIncrement = 0; burstMode = BURST_INTERNAL; @@ -442,6 +436,7 @@ void setupDetector() { burstPeriodReg = 0; filterResistor = 0; cdsGain = 0; + startupPowerChipConfigDone = 0; memset(clkPhase, 0, sizeof(clkPhase)); memset(dacValues, 0, sizeof(dacValues)); for (int i = 0; i < NDAC; ++i) { @@ -458,8 +453,14 @@ void setupDetector() { memset(vetoGainIndices, 0, sizeof(vetoGainIndices)); memset(adcConfiguration, 0, sizeof(adcConfiguration)); #ifdef VIRTUAL - sharedMemory_setStatus(IDLE); - setupUDPCommParameters(); + if (isControlServer) { + sharedMemory_setStatus(IDLE); + setupUDPCommParameters(); + } else { + sharedMemory_setStop(0); + } + // ismaster from reg in stop server, so set it in virtual mode + setMaster(OW_MASTER); #endif // pll defines ALTERA_PLL_C10_SetDefines(REG_OFFSET, BASE_READOUT_PLL, BASE_SYSTEM_PLL, @@ -471,14 +472,19 @@ void setupDetector() { // hv DAC6571_SetDefines(HV_HARD_MAX_VOLTAGE, HV_DRIVER_FILE_NAME); // dacs - LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 1, - 0, ""); + LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 0, + ""); // on chip dacs ASIC_Driver_SetDefines(ONCHIP_DAC_DRIVER_FILE_NAME); setTimingSource(DEFAULT_TIMING_SOURCE); // Default values - setHighVoltage(DEFAULT_HIGH_VOLTAGE); + initError = setHighVoltage(DEFAULT_HIGH_VOLTAGE); + if (initError == FAIL) { + sprintf(initErrorMessage, "Could not set high voltage to %d\n", + DEFAULT_HIGH_VOLTAGE); + return; + } // check module type attached if not in debug mode if (initError == FAIL) @@ -493,7 +499,9 @@ void setupDetector() { } // power on chip - powerChip(1); + initError = powerChip(1, initErrorMessage); + if (initError == FAIL) + return; setASICDefaults(); @@ -519,6 +527,7 @@ void setupDetector() { setSettings(DEFAULT_SETTINGS); // Initialization of acquistion parameters + setNextFrameNumber(DEFAULT_FRAME_NUMBER); setNumFrames(DEFAULT_NUM_FRAMES); setNumTriggers(DEFAULT_NUM_CYCLES); setNumBursts(DEFAULT_NUM_BURSTS); @@ -975,6 +984,9 @@ int readConfigFile() { // inform FPGA that onchip dacs will be configured soon LOG(logINFO, ("Setting configuration done bit\n")); bus_w(ASIC_CONFIG_REG, bus_r(ASIC_CONFIG_REG) | ASIC_CONFIG_DONE_MSK); + + // to inform powerchip config parameters are set + startupPowerChipConfigDone = 1; } return initError; } @@ -1056,6 +1068,29 @@ int getDynamicRange(int *retval) { } /* parameters - timer */ + +int setNextFrameNumber(uint64_t value) { + LOG(logINFO, ("Setting next frame number: %lu\n", value)); +#ifdef VIRTUAL + setU64BitReg(value, FRAME_NUMBER_LSB_REG, FRAME_NUMBER_MSB_REG); +#else + // decrement by 1 for firmware + setU64BitReg(value - 1, FRAME_NUMBER_LSB_REG, FRAME_NUMBER_MSB_REG); +#endif + return OK; +} + +int getNextFrameNumber(uint64_t *value) { +#ifdef VIRTUAL + *value = getU64BitReg(FRAME_NUMBER_LSB_REG, FRAME_NUMBER_MSB_REG); +#else + // increment is for firmware + *value = + (getU64BitReg(GET_FRAME_NUMBER_LSB_REG, GET_FRAME_NUMBER_MSB_REG) + 1); +#endif + return OK; +} + void setNumFrames(int64_t val) { if (val > 0) { numFramesReg = val; @@ -1317,7 +1352,7 @@ int64_t getNumFramesLeft() { if ((burstMode == CONTINUOUS_INTERNAL || burstMode == CONTINUOUS_EXTERNAL) && getTiming() == AUTO_TIMING) { - return get64BitReg(GET_FRAMES_LSB_REG, GET_FRAMES_MSB_REG); + return (get64BitReg(GET_FRAMES_LSB_REG, GET_FRAMES_MSB_REG) + 1); } return -1; } @@ -1325,7 +1360,7 @@ int64_t getNumFramesLeft() { int64_t getNumTriggersLeft() { // trigger if (getTiming() == TRIGGER_EXPOSURE) { - return get64BitReg(GET_CYCLES_LSB_REG, GET_CYCLES_MSB_REG); + return (get64BitReg(GET_CYCLES_LSB_REG, GET_CYCLES_MSB_REG) + 1); } return -1; } @@ -1344,7 +1379,7 @@ int64_t getNumBurstsLeft() { // burst and auto if ((burstMode == BURST_INTERNAL || burstMode == BURST_EXTERNAL) && getTiming() == AUTO_TIMING) { - return get64BitReg(GET_FRAMES_LSB_REG, GET_FRAMES_MSB_REG); + return (get64BitReg(GET_FRAMES_LSB_REG, GET_FRAMES_MSB_REG) + 1); } return -1; } @@ -1529,27 +1564,53 @@ int getMaxDacSteps() { return LTC2620_D_GetMaxNumSteps(); } int getADC(enum ADCINDEX ind, int *value) { LOG(logDEBUG1, ("Reading FPGA temperature...\n")); - if (readADCFromFile(TEMPERATURE_FILE_NAME, value) == FAIL) { + if (readParameterFromFile(TEMPERATURE_FILE_NAME, "temperature", value) == + FAIL) { LOG(logERROR, ("Could not get temperature\n")); return FAIL; } + LOG(logINFO, ("Temperature: %.2f °C\n", (double)(*value) / 1000.00)); return OK; } int setHighVoltage(int val) { if (val > HV_SOFT_MAX_VOLTAGE) { - val = HV_SOFT_MAX_VOLTAGE; + LOG(logERROR, ("Invalid high voltage: %d V\n", val)); + return FAIL; } - // setting hv - if (val >= 0) { - LOG(logINFO, ("Setting High voltage: %d V\n", val)); - if (DAC6571_Set(val) == OK) - highvoltage = val; + LOG(logINFO, ("Setting High voltage: %d V\n", val)); + int waitTime = WAIT_HIGH_VOLTAGE_SETTLE_TIME_S; + + // get current high voltage + int prevHighVoltage = 0; + // at startup (initCheck not done: to not wait 10s assuming hv = 0 + // otherwise as below, always check current hv to wait 10s if powering off + if (initCheckDone) { + if (getHighVoltage(&prevHighVoltage) == FAIL) { + LOG(logERROR, ("Could not get current high voltage to determine if " + "%d s wait is required\n", + waitTime)); + return FAIL; + } } - return highvoltage; + + int ret = DAC6571_Set(val); + + // only when powering off (from non zero value), wait 10s + if (ret == OK) { + if (prevHighVoltage > 0 && val == 0) { + LOG(logINFO, + ("\tSwitching off high voltage requires %d s...\n", waitTime)); + sleep(waitTime); + LOG(logINFO, ("\tAssuming high voltage switched off\n")); + } + } + return ret; } +int getHighVoltage(int *retval) { return DAC6571_Get(retval); } + /* parameters - timing */ int setMaster(enum MASTERINDEX m) { @@ -2121,7 +2182,6 @@ int *getDetectorPosition() { return detPos; } int checkDetectorType(char *mess) { #ifdef VIRTUAL - setMaster(OW_MASTER); return OK; #endif LOG(logINFO, ("Checking module type\n")); @@ -2214,20 +2274,101 @@ int checkDetectorType(char *mess) { return OK; } -int powerChip(int on) { - if (on != -1) { - if (on) { - LOG(logINFO, ("Powering chip: on\n")); - bus_w(CONTROL_REG, bus_r(CONTROL_REG) | CONTROL_PWR_CHIP_MSK); - } else { - LOG(logINFO, ("Powering chip: off\n")); - bus_w(CONTROL_REG, bus_r(CONTROL_REG) & ~CONTROL_PWR_CHIP_MSK); +int powerChip(int on, char *mess) { + if (on) { + LOG(logINFO, ("Powering chip: on\n")); + bus_w(CONTROL_REG, bus_r(CONTROL_REG) | CONTROL_PWR_CHIP_MSK); + // only if power chip config done, configure chip with current set up + if (startupPowerChipConfigDone == 1 && configureChip(mess) == FAIL) + return FAIL; + } else { + // throw if high voltage on + int highVoltage = 0; + if (getHighVoltage(&highVoltage) == FAIL) { + sprintf(mess, "Could not get high voltage status to do a safety " + "check first\n"); + LOG(logERROR, (mess)); + return FAIL; } + if (highVoltage > 0) { + sprintf(mess, "High voltage is on. Turn off high voltage first\n"); + LOG(logERROR, (mess)); + return FAIL; + } + LOG(logINFO, ("Powering chip: off\n")); + bus_w(CONTROL_REG, bus_r(CONTROL_REG) & ~CONTROL_PWR_CHIP_MSK); + chipConfigured = 0; } + return OK; +} + +int getPowerChip() { return ((bus_r(CONTROL_REG) & CONTROL_PWR_CHIP_MSK) >> CONTROL_PWR_CHIP_OFST); } +int isChipConfigured() { return chipConfigured; } + +int configureChip(char *mess) { + LOG(logINFOBLUE, ("\tConfiguring chip\n")); + + // on chip dacs + for (int idac = 0; idac != ONCHIP_NDAC; ++idac) { + // ignore unused dacs + if (idac == (int)G2_VCHIP_UNUSED) + continue; + for (int ichip = 0; ichip != NCHIP; ++ichip) { + if (onChipdacValues[idac][ichip] == -1) { + sprintf(mess, "On chip DAC [%d] value not set for chip %d\n", + idac, ichip); + LOG(logERROR, (mess)); + return FAIL; + } + if (setOnChipDAC(idac, ichip, onChipdacValues[idac][ichip]) == + FAIL) { + sprintf(mess, "Could not set on chip DAC for chip %d\n", ichip); + LOG(logERROR, (mess)); + return FAIL; + } + } + } + + // adc configuration + for (int ichip = 0; ichip != NCHIP; ++ichip) { + for (int iadc = 0; iadc != NADC; ++iadc) { + if (setADCConfiguration(ichip, iadc, + adcConfiguration[ichip][iadc]) == FAIL) { + sprintf(mess, "Could not set ADC configuration for chip %d\n", + ichip); + LOG(logERROR, (mess)); + return FAIL; + } + } + } + + // veto reference + for (int ichip = 0; ichip != NCHIP; ++ichip) { + if (configureASICVetoReference(ichip, vetoGainIndices[ichip], + vetoReference[ichip]) == FAIL) { + sprintf(mess, "Could not configure veto reference for chip %d\n", + ichip); + LOG(logERROR, (mess)); + return FAIL; + } + } + + // asic global settings (burst mode, cds gain, filter resistor) + if (configureASICGlobalSettings() == FAIL) { + sprintf(mess, "Could not configure asic global settings\n"); + LOG(logERROR, (mess)); + return FAIL; + } + + LOG(logINFOBLUE, ("\tChip configured\n")); + chipConfigured = 1; + return OK; +} + void setDBITPipeline(int val) { if (val < 0) { return; @@ -3301,7 +3442,7 @@ void *start_timer(void *arg) { *((uint16_t *)(imageData + i * sizeof(uint16_t))) = (uint16_t)channelVal; - // LOG(logINFORED, ("[%d]:0x%08x\n", i, channelVal)); + LOG(logDEBUG, ("[%d]:0x%08x\n", i, channelVal)); } char vetoData[vetodatasize]; memset(vetoData, 0, sizeof(vetodatasize)); @@ -3309,109 +3450,121 @@ void *start_timer(void *arg) { *((uint16_t *)(vetoData + i)) = i; } - int iRxEntry = firstDest; - // loop over number of repeats - for (int repeatNr = 0; repeatNr != numRepeats; ++repeatNr) { + { + uint64_t frameNr = 0; + getNextFrameNumber(&frameNr); - struct timespec rbegin, rend; - clock_gettime(CLOCK_REALTIME, &rbegin); + int iRxEntry = firstDest; + // loop over number of repeats + for (int repeatNr = 0; repeatNr != numRepeats; ++repeatNr) { - // loop over number of frames - for (int frameNr = 0; frameNr != numFrames; ++frameNr) { + struct timespec rbegin, rend; + clock_gettime(CLOCK_REALTIME, &rbegin); - // check if manual stop - if (sharedMemory_getStop() == 1) { - break; - } + // loop over number of frames + for (int iframes = 0; iframes != numFrames; ++iframes) { - // change gain and data for every frame - { - const int nchannels = NCHIP * NCHAN; - int gainVal = 0; - for (int i = 0; i < nchannels; ++i) { - if ((i % nchannels) < 400) { - gainVal = 1 + frameNr; - } else if ((i % nchannels) < 800) { - gainVal = 2 + frameNr; - } else { - gainVal = 3 + frameNr; + // check if manual stop + if (sharedMemory_getStop() == 1) { + setNextFrameNumber(frameNr + (repeatNr * numFrames) + + iframes); + break; + } + + // change gain and data for every frame + { + const int nchannels = NCHIP * NCHAN; + int gainVal = 0; + for (int i = 0; i < nchannels; ++i) { + if ((i % nchannels) < 400) { + gainVal = 1 + iframes; + } else if ((i % nchannels) < 800) { + gainVal = 2 + iframes; + } else { + gainVal = 3 + iframes; + } + int dataVal = + *((uint16_t *)(imageData + i * sizeof(uint16_t))); + dataVal += iframes; + int channelVal = (dataVal & ~GAIN_VAL_MSK) | + (gainVal << GAIN_VAL_OFST); + *((uint16_t *)(imageData + i * sizeof(uint16_t))) = + (uint16_t)channelVal; } - int dataVal = - *((uint16_t *)(imageData + i * sizeof(uint16_t))); - dataVal += frameNr; - int channelVal = - (dataVal & ~GAIN_VAL_MSK) | (gainVal << GAIN_VAL_OFST); - *((uint16_t *)(imageData + i * sizeof(uint16_t))) = - (uint16_t)channelVal; } - } - // sleep for exposure time - struct timespec begin, end; - clock_gettime(CLOCK_REALTIME, &begin); - usleep(expUs); + // sleep for exposure time + struct timespec begin, end; + clock_gettime(CLOCK_REALTIME, &begin); + usleep(expUs); - // first interface - char packetData[packetsize]; - memset(packetData, 0, packetsize); - // set header - sls_detector_header *header = (sls_detector_header *)(packetData); - header->detType = (uint16_t)myDetectorType; - header->version = SLS_DETECTOR_HEADER_VERSION; - header->frameNumber = virtual_currentFrameNumber; - header->packetNumber = 0; - header->modId = virtual_moduleid; - header->row = detPos[Y]; - header->column = detPos[X]; - // fill data - memcpy(packetData + sizeof(sls_detector_header), imageData, - datasize); - // send 1 packet = 1 frame - sendUDPPacket(iRxEntry, 0, packetData, packetsize); - - // second interface (veto) - char packetData2[vetopacketsize]; - memset(packetData2, 0, vetopacketsize); - if (i10gbe) { + // first interface + char packetData[packetsize]; + memset(packetData, 0, packetsize); // set header - veto_header *header = (veto_header *)(packetData2); - header->frameNumber = virtual_currentFrameNumber; - header->bunchId = 0; + sls_detector_header *header = + (sls_detector_header *)(packetData); + header->detType = (uint16_t)myDetectorType; + header->version = SLS_DETECTOR_HEADER_VERSION; + header->frameNumber = + frameNr + (repeatNr * numFrames) + iframes; + header->packetNumber = 0; + header->modId = virtual_moduleid; + header->row = detPos[Y]; + header->column = detPos[X]; // fill data - memcpy(packetData2 + sizeof(veto_header), vetoData, - vetodatasize); + memcpy(packetData + sizeof(sls_detector_header), imageData, + datasize); // send 1 packet = 1 frame - sendUDPPacket(iRxEntry, 1, packetData2, vetopacketsize); - } - LOG(logINFO, - ("Sent frame %s: %d (bursts/ triggers: %d) [%lld] to E%d\n", - (i10gbe ? "(+veto)" : ""), frameNr, repeatNr, - (long long unsigned int)virtual_currentFrameNumber, iRxEntry)); - clock_gettime(CLOCK_REALTIME, &end); - int64_t timeNs = ((end.tv_sec - begin.tv_sec) * 1E9 + - (end.tv_nsec - begin.tv_nsec)); + sendUDPPacket(iRxEntry, 0, packetData, packetsize); - // sleep for (period - exptime) - if (frameNr < numFrames) { // if there is a next frame - if (periodNs > timeNs) { - usleep((periodNs - timeNs) / 1000); + // second interface (veto) + char packetData2[vetopacketsize]; + memset(packetData2, 0, vetopacketsize); + if (i10gbe) { + // set header + veto_header *header = (veto_header *)(packetData2); + header->frameNumber = + frameNr + (repeatNr * numFrames) + iframes; + header->bunchId = 0; + // fill data + memcpy(packetData2 + sizeof(veto_header), vetoData, + vetodatasize); + // send 1 packet = 1 frame + sendUDPPacket(iRxEntry, 1, packetData2, vetopacketsize); + } + LOG(logINFO, + ("Sent frame %s: %d (bursts/ triggers: %d) [%lld] to E%d\n", + (i10gbe ? "(+veto)" : ""), frameNr, repeatNr, + (frameNr + (repeatNr * numFrames) + iframes), iRxEntry)); + clock_gettime(CLOCK_REALTIME, &end); + int64_t timeNs = ((end.tv_sec - begin.tv_sec) * 1E9 + + (end.tv_nsec - begin.tv_nsec)); + + // sleep for (period - exptime) + if (iframes < numFrames) { // if there is a next frame + if (periodNs > timeNs) { + usleep((periodNs - timeNs) / 1000); + } + } + ++iRxEntry; + if (iRxEntry == numUdpDestinations) { + iRxEntry = 0; } } - ++virtual_currentFrameNumber; - ++iRxEntry; - if (iRxEntry == numUdpDestinations) { - iRxEntry = 0; - } - } - clock_gettime(CLOCK_REALTIME, &rend); - int64_t timeNs = ((rend.tv_sec - rbegin.tv_sec) * 1E9 + - (rend.tv_nsec - rbegin.tv_nsec)); - // sleep for (repeatPeriodNs - time remaining) - if (repeatNr < numRepeats) { // if there is a next repeat - if (repeatPeriodNs > timeNs) { - usleep((repeatPeriodNs - timeNs) / 1000); + clock_gettime(CLOCK_REALTIME, &rend); + int64_t timeNs = ((rend.tv_sec - rbegin.tv_sec) * 1E9 + + (rend.tv_nsec - rbegin.tv_nsec)); + + // sleep for (repeatPeriodNs - time remaining) + if (repeatNr < numRepeats) { // if there is a next repeat + if (repeatPeriodNs > timeNs) { + usleep((repeatPeriodNs - timeNs) / 1000); + } } } + // already being set in the start acquisition (also for real detectors) + setNextFrameNumber(frameNr + (numRepeats * numFrames)); } closeUDPSocket(0); diff --git a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h index b8a513b18..d275cb400 100644 --- a/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/gotthard2DetectorServer/slsDetectorServer_defs.h @@ -3,7 +3,7 @@ #pragma once #include "sls/sls_detector_defs.h" -#define REQRD_FRMWRE_VRSN (0x221123) +#define REQRD_FRMWRE_VRSN (0x241003) #define KERNEL_DATE_VRSN "Mon May 10 18:00:21 CEST 2021" #define ID_FILE "detid_gotthard2.txt" @@ -14,7 +14,11 @@ #define LINKED_SERVER_NAME "gotthard2DetectorServer" +#ifdef VIRTUAL +#define CTRL_SRVR_INIT_TIME_US (3 * 1000 * 1000) +#else #define CTRL_SRVR_INIT_TIME_US (300 * 1000) +#endif /* Hardware Definitions */ #define NCHAN (128) @@ -51,10 +55,13 @@ #define TYPE_NO_MODULE_STARTING_VAL (800) #define INITIAL_STARTUP_WAIT (1 * 1000 * 1000) +#define WAIT_HIGH_VOLTAGE_SETTLE_TIME_S (10) // 10s + /** Default Parameters */ #define DEFAULT_BURST_MODE (BURST_INTERNAL) #define DEFAULT_FILTER_RESISTOR (0) #define DEFAILT_CDS_GAIN (0) +#define DEFAULT_FRAME_NUMBER (1) #define DEFAULT_NUM_FRAMES (1) #define DEFAULT_NUM_CYCLES (1) #define DEFAULT_NUM_BURSTS (1) diff --git a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer index 985b0bfc4..f36d43e15 100755 Binary files a/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer and b/slsDetectorServers/gotthardDetectorServer/bin/gotthardDetectorServer_developer differ diff --git a/slsDetectorServers/gotthardDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/gotthardDetectorServer/slsDetectorFunctionList.c index 67894579b..c9a88bd66 100644 --- a/slsDetectorServers/gotthardDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/gotthardDetectorServer/slsDetectorFunctionList.c @@ -388,14 +388,15 @@ void initStopServer() { return; } #ifdef VIRTUAL - sharedMemory_setStop(0); -#endif - // to get master from file + setupDetector(); +#else + // ismaster from variable in stop server if (readConfigFile() == FAIL || checkCommandLineConfiguration() == FAIL) { initCheckDone = 1; return; } +#endif } initCheckDone = 1; } @@ -406,8 +407,12 @@ void setupDetector() { LOG(logINFO, ("This Server is for 1 Gotthard module (1280 channels)\n")); #ifdef VIRTUAL - sharedMemory_setStatus(IDLE); - setupUDPCommParameters(); + if (isControlServer) { + sharedMemory_setStatus(IDLE); + setupUDPCommParameters(); + } else { + sharedMemory_setStop(0); + } #endif // Initialization @@ -522,12 +527,12 @@ int setDefaultDac(enum DACINDEX index, enum detectorSettings sett, int value) { return OK; } -uint32_t writeRegister16And32(uint32_t offset, uint32_t data) { +void writeRegister16And32(uint32_t offset, uint32_t data) { if (((offset << MEM_MAP_SHIFT) == CONTROL_REG) || ((offset << MEM_MAP_SHIFT) == FIFO_DATA_REG)) { - return writeRegister16(offset, data); + writeRegister16(offset, data); } else - return writeRegister(offset, data); + writeRegister(offset, data); } uint32_t readRegister16And32(uint32_t offset) { diff --git a/slsDetectorServers/gotthardDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/gotthardDetectorServer/slsDetectorServer_defs.h index c81c2325c..ad46b59ac 100644 --- a/slsDetectorServers/gotthardDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/gotthardDetectorServer/slsDetectorServer_defs.h @@ -12,7 +12,11 @@ #define LINKED_SERVER_NAME "gotthardDetectorServer" +#ifdef VIRTUAL +#define CTRL_SRVR_INIT_TIME_US (2 * 1000 * 1000) +#else #define CTRL_SRVR_INIT_TIME_US (300 * 1000) +#endif /* Enums */ enum ADCINDEX { TEMP_FPGA, TEMP_ADC }; diff --git a/slsDetectorServers/jungfrauDetectorServer/RegisterDefs.h b/slsDetectorServers/jungfrauDetectorServer/RegisterDefs.h index 5aea7924d..f1f81d863 100644 --- a/slsDetectorServers/jungfrauDetectorServer/RegisterDefs.h +++ b/slsDetectorServers/jungfrauDetectorServer/RegisterDefs.h @@ -213,6 +213,9 @@ #define EXT_SIGNAL_MSK (0x00000001 << EXT_SIGNAL_OFST) #define EXT_SYNC_OFST (4) #define EXT_SYNC_MSK (0x00000001 << EXT_SYNC_OFST) +#define EXT_TIMING_INFO_DECODER_OFST (12) +#define EXT_TIMING_INFO_DECODER_MSK (0x0000000F << EXT_TIMING_INFO_DECODER_OFST) + /* Control Register */ #define CONTROL_REG (0x4F << MEM_MAP_SHIFT) diff --git a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer index edf95ee6a..d24cea3e5 100755 Binary files a/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer and b/slsDetectorServers/jungfrauDetectorServer/bin/jungfrauDetectorServer_developer differ diff --git a/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c index 212056d65..7d707f3a8 100644 --- a/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c @@ -439,15 +439,14 @@ void initStopServer() { initCheckDone = 1; return; } +#ifdef VIRTUAL + setupDetector(); +#else + // chip version is a variable if (readConfigFile() == FAIL) { initCheckDone = 1; return; } -#ifdef VIRTUAL - sharedMemory_setStop(0); - // temp threshold and reset event (read by stop server) - setThresholdTemperature(DEFAULT_TMP_THRSHLD); - setTemperatureEvent(0); #endif } initCheckDone = 1; @@ -463,8 +462,14 @@ void setupDetector() { } chipConfigured = 0; #ifdef VIRTUAL - sharedMemory_setStatus(IDLE); - setupUDPCommParameters(); + if (isControlServer) { + sharedMemory_setStatus(IDLE); + setupUDPCommParameters(); + } else { + sharedMemory_setStop(0); + } + // ismaster from reg in stop server, so set it in virtual mode + setMaster(OW_MASTER); #endif // altera pll @@ -489,6 +494,7 @@ void setupDetector() { AD9257_SetDefines(ADC_SPI_REG, ADC_SPI_SRL_CS_OTPT_MSK, ADC_SPI_SRL_CLK_OTPT_MSK, ADC_SPI_SRL_DT_OTPT_MSK, ADC_SPI_SRL_DT_OTPT_OFST); + AD9257_Set_Jungfrau_Hardware_Version_1_0(isHardwareVersion_1_0()); AD9257_Disable(); AD9257_Configure(); @@ -566,6 +572,8 @@ void setupDetector() { #endif setPedestalMode(DEFAULT_PEDESTAL_MODE, DEFAULT_PEDESTAL_FRAMES, DEFAULT_PEDESTAL_LOOPS); + setTimingInfoDecoder(DEFAULT_TIMING_INFO_DECODER); + setElectronCollectionMode(DEFAULT_ELECTRON_COLLECTION_MODE); } int resetToDefaultDacs(int hardReset) { @@ -2609,6 +2617,57 @@ void setPedestalMode(int enable, uint8_t frames, uint16_t loops) { } } +int setTimingInfoDecoder(enum timingInfoDecoder val) { + switch (val) { + case SWISSFEL: + LOG(logINFO, ("Setting Timing Info Decoder to SWISSFEL\n")); + break; + case SHINE: + LOG(logINFO, ("Setting Timing Info Decoder to SHINE\n")); + break; + default: + LOG(logERROR, ("Unknown Timing Info Decoder %d\n", val)); + return FAIL; + } + + int decodeValue = (int)val; + uint32_t addr = EXT_SIGNAL_REG; + bus_w(addr, bus_r(addr) & ~EXT_TIMING_INFO_DECODER_MSK); + bus_w(addr, bus_r(addr) | ((decodeValue << EXT_TIMING_INFO_DECODER_OFST) & + EXT_TIMING_INFO_DECODER_MSK)); + + return OK; +} + +int getTimingInfoDecoder(enum timingInfoDecoder *retval) { + int decodeValue = ((bus_r(EXT_SIGNAL_REG) & EXT_TIMING_INFO_DECODER_MSK) >> + EXT_TIMING_INFO_DECODER_OFST); + if (decodeValue == (int)SWISSFEL) { + *retval = SWISSFEL; + } else if (decodeValue == (int)SHINE) { + *retval = SHINE; + } else { + return FAIL; + } + return OK; +} + +int getElectronCollectionMode() { + return ((bus_r(DAQ_REG) & DAQ_ELCTRN_CLLCTN_MDE_MSK) >> + DAQ_ELCTRN_CLLCTN_MDE_OFST); +} + +void setElectronCollectionMode(int enable) { + LOG(logINFO, + ("Setting Collection Mode to %s\n", enable == 0 ? "Hole" : "Electron")); + if (enable) { + bus_w(DAQ_REG, bus_r(DAQ_REG) | DAQ_ELCTRN_CLLCTN_MDE_MSK); + } else { + bus_w(DAQ_REG, bus_r(DAQ_REG) & ~DAQ_ELCTRN_CLLCTN_MDE_MSK); + } + configureChip(); +} + int getTenGigaFlowControl() { return ((bus_r(CONFIG_REG) & CONFIG_ETHRNT_FLW_CNTRL_MSK) >> CONFIG_ETHRNT_FLW_CNTRL_OFST); diff --git a/slsDetectorServers/jungfrauDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/jungfrauDetectorServer/slsDetectorServer_defs.h index 2d0033822..bdcd2f2a8 100644 --- a/slsDetectorServers/jungfrauDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/jungfrauDetectorServer/slsDetectorServer_defs.h @@ -5,8 +5,8 @@ #include "sls/sls_detector_defs.h" #define MIN_REQRD_VRSN_T_RD_API 0x171220 -#define REQRD_FRMWRE_VRSN_BOARD2 0x230920 // 1.0 pcb (version = 010) -#define REQRD_FRMWRE_VRSN 0x230921 // 2.0 pcb (version = 011) +#define REQRD_FRMWRE_VRSN_BOARD2 0x241001 // 1.0 pcb (version = 010) +#define REQRD_FRMWRE_VRSN 0x241001 // 2.0 pcb (version = 011) #define NUM_HARDWARE_VERSIONS (2) #define HARDWARE_VERSION_NUMBERS \ @@ -17,7 +17,11 @@ #define ID_FILE "detid_jungfrau.txt" #define LINKED_SERVER_NAME "jungfrauDetectorServer" +#ifdef VIRTUAL +#define CTRL_SRVR_INIT_TIME_US (4 * 1000 * 1000) +#else #define CTRL_SRVR_INIT_TIME_US (300 * 1000) +#endif /* Hardware Definitions */ #define NCHAN (256 * 256) @@ -33,28 +37,30 @@ #define CONFIG_FILE ("config_jungfrau.txt") /** Default Parameters */ -#define DEFAULT_NUM_FRAMES (100 * 1000 * 1000) -#define DEFAULT_STARTING_FRAME_NUMBER (1) -#define DEFAULT_NUM_CYCLES (1) -#define DEFAULT_EXPTIME (10 * 1000) // ns -#define DEFAULT_PERIOD (2 * 1000 * 1000) // ns -#define DEFAULT_DELAY (0) -#define DEFAULT_HIGH_VOLTAGE (0) -#define DEFAULT_TIMING_MODE (AUTO_TIMING) -#define DEFAULT_SETTINGS (GAIN0) -#define DEFAULT_GAINMODE (DYNAMIC) -#define DEFAULT_TX_UDP_PORT (0x7e9a) -#define DEFAULT_TMP_THRSHLD (65 * 1000) // milli degree Celsius -#define DEFAULT_NUM_STRG_CLLS (0) -#define DEFAULT_STRG_CLL_STRT (0xf) -#define DEFAULT_STRG_CLL_STRT_CHIP11 (0x3) -#define DEFAULT_STRG_CLL_DLY (0) -#define DEFAULT_FLIP_ROWS (0) -#define DEFAULT_FILTER_RESISTOR (1) // higher resistor -#define DEFAULT_FILTER_CELL (0) -#define DEFAULT_PEDESTAL_MODE (0) -#define DEFAULT_PEDESTAL_FRAMES (1) -#define DEFAULT_PEDESTAL_LOOPS (1) +#define DEFAULT_NUM_FRAMES (100 * 1000 * 1000) +#define DEFAULT_STARTING_FRAME_NUMBER (1) +#define DEFAULT_NUM_CYCLES (1) +#define DEFAULT_EXPTIME (10 * 1000) // ns +#define DEFAULT_PERIOD (2 * 1000 * 1000) // ns +#define DEFAULT_DELAY (0) +#define DEFAULT_HIGH_VOLTAGE (0) +#define DEFAULT_TIMING_MODE (AUTO_TIMING) +#define DEFAULT_SETTINGS (GAIN0) +#define DEFAULT_GAINMODE (DYNAMIC) +#define DEFAULT_TX_UDP_PORT (0x7e9a) +#define DEFAULT_TMP_THRSHLD (65 * 1000) // milli degree Celsius +#define DEFAULT_NUM_STRG_CLLS (0) +#define DEFAULT_STRG_CLL_STRT (0xf) +#define DEFAULT_STRG_CLL_STRT_CHIP11 (0x3) +#define DEFAULT_STRG_CLL_DLY (0) +#define DEFAULT_FLIP_ROWS (0) +#define DEFAULT_FILTER_RESISTOR (1) // higher resistor +#define DEFAULT_FILTER_CELL (0) +#define DEFAULT_PEDESTAL_MODE (0) +#define DEFAULT_PEDESTAL_FRAMES (1) +#define DEFAULT_PEDESTAL_LOOPS (1) +#define DEFAULT_TIMING_INFO_DECODER (SWISSFEL) +#define DEFAULT_ELECTRON_COLLECTION_MODE (0) #define HIGHVOLTAGE_MIN (60) #define HIGHVOLTAGE_MAX (200) diff --git a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer index d00d2da38..3d726819b 100755 Binary files a/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer and b/slsDetectorServers/moenchDetectorServer/bin/moenchDetectorServer_developer differ diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c index 19f2d6c98..151f718e0 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorFunctionList.c @@ -420,10 +420,7 @@ void initStopServer() { return; } #ifdef VIRTUAL - sharedMemory_setStop(0); - // temp threshold and reset event (read by stop server) - setThresholdTemperature(DEFAULT_TMP_THRSHLD); - setTemperatureEvent(0); + setupDetector(); #endif } initCheckDone = 1; @@ -438,8 +435,14 @@ void setupDetector() { clkPhase[i] = 0; } #ifdef VIRTUAL - sharedMemory_setStatus(IDLE); - setupUDPCommParameters(); + if (isControlServer) { + sharedMemory_setStatus(IDLE); + setupUDPCommParameters(); + } else { + sharedMemory_setStop(0); + } + // ismaster from reg in stop server, so set it in virtual mode + setMaster(OW_MASTER); #endif // altera pll diff --git a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h index a2ca7be9b..aa4133d7a 100644 --- a/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/moenchDetectorServer/slsDetectorServer_defs.h @@ -16,7 +16,11 @@ #define ID_FILE ("detid_moench.txt") #define LINKED_SERVER_NAME "moenchDetectorServer" +#ifdef VIRTUAL +#define CTRL_SRVR_INIT_TIME_US (2 * 1000 * 1000) +#else #define CTRL_SRVR_INIT_TIME_US (300 * 1000) +#endif /* Hardware Definitions */ #define NCHAN (400 * 400) @@ -70,7 +74,7 @@ #define ADC_PHASE_DEG_QUARTER_SPEED (0) #define ADC_PHASE_DEG_HALF_SPEED (0) -#define ADC_PHASE_DEG_FULL_SPEED (300) +#define ADC_PHASE_DEG_FULL_SPEED (150) #define ADC_OFST_QUARTER_SPEED (0x12) #define ADC_OFST_HALF_SPEED (0x12) @@ -133,7 +137,7 @@ enum DACINDEX { 680, /* MO_VB_SDA */ \ 1428, /* MO_VCASC_SFP */ \ 1200, /* MO_VOUT_CM */ \ - 800, /* MO_VIPRE_CDS */ \ + 1280, /* MO_VIPRE_CDS */ \ 900 /* MO_IBIAS_SFP */ \ }; diff --git a/slsDetectorServers/mythen3DetectorServer/RegisterDefs.h b/slsDetectorServers/mythen3DetectorServer/RegisterDefs.h index edc58f4fa..6c7e641c9 100644 --- a/slsDetectorServers/mythen3DetectorServer/RegisterDefs.h +++ b/slsDetectorServers/mythen3DetectorServer/RegisterDefs.h @@ -7,9 +7,6 @@ /* Base addresses 0x1804 0000 ---------------------------------------------*/ -/* Reconfiguration core for readout pll */ -#define BASE_READOUT_PLL (0x0000) // 0x1804_0000 - 0x1804_07FF - /* Reconfiguration core for system pll */ #define BASE_SYSTEM_PLL (0x0800) // 0x1804_0800 - 0x1804_0FFF diff --git a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer index 4ef9c1328..79d2ec68f 100755 Binary files a/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer and b/slsDetectorServers/mythen3DetectorServer/bin/mythen3DetectorServer_developer differ diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c index 4b8fa905d..6fd3fb00a 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c @@ -63,7 +63,6 @@ int32_t clkPhase[NUM_CLOCKS] = {}; uint32_t clkDivider[NUM_CLOCKS] = {}; enum TLogLevel trimmingPrint = logINFO; -int highvoltage = 0; int detPos[2] = {}; int64_t exptimeReg[NCOUNTERS] = {0, 0, 0}; int64_t gateDelayReg[NCOUNTERS] = {0, 0, 0}; @@ -397,11 +396,7 @@ void initStopServer() { return; } #ifdef VIRTUAL - sharedMemory_setStop(0); - if (checkCommandLineConfiguration() == FAIL) { - initCheckDone = 1; - return; - } + setupDetector(); #endif } initCheckDone = 1; @@ -456,42 +451,48 @@ void setupDetector() { if (updateModuleId() == FAIL) return; - clkDivider[READOUT_C0] = DEFAULT_READOUT_C0; - clkDivider[READOUT_C1] = DEFAULT_READOUT_C1; clkDivider[SYSTEM_C0] = DEFAULT_SYSTEM_C0; clkDivider[SYSTEM_C1] = DEFAULT_SYSTEM_C1; clkDivider[SYSTEM_C2] = DEFAULT_SYSTEM_C2; - highvoltage = 0; trimmingPrint = logINFO; for (int i = 0; i < NUM_CLOCKS; ++i) { clkPhase[i] = 0; } #ifdef VIRTUAL - sharedMemory_setStatus(IDLE); - setupUDPCommParameters(); + if (isControlServer) { + sharedMemory_setStatus(IDLE); + setupUDPCommParameters(); + } else { + sharedMemory_setStop(0); + } #endif // pll defines ALTERA_PLL_C10_SetDefines( - REG_OFFSET, BASE_READOUT_PLL, BASE_SYSTEM_PLL, PLL_RESET_REG, - PLL_RESET_READOUT_MSK, PLL_RESET_SYSTEM_MSK, SYSTEM_STATUS_REG, - SYSTEM_STATUS_RDO_PLL_LCKD_MSK, SYSTEM_STATUS_R_PLL_LCKD_MSK, - READOUT_PLL_VCO_FREQ_HZ, SYSTEM_PLL_VCO_FREQ_HZ); - ALTERA_PLL_C10_ResetPLL(READOUT_PLL); + REG_OFFSET, 0, BASE_SYSTEM_PLL, PLL_RESET_REG, 0, PLL_RESET_SYSTEM_MSK, + SYSTEM_STATUS_REG, SYSTEM_STATUS_RDO_PLL_LCKD_MSK, + SYSTEM_STATUS_R_PLL_LCKD_MSK, 0, SYSTEM_PLL_VCO_FREQ_HZ); ALTERA_PLL_C10_ResetPLL(SYSTEM_PLL); + // hv DAC6571_SetDefines(HV_HARD_MAX_VOLTAGE, HV_DRIVER_FILE_NAME); // dac - LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 1, - 0, ""); + LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, 0, + ""); resetCore(); resetPeripheral(); cleanFifos(); // defaults - setHighVoltage(DEFAULT_HIGH_VOLTAGE); + initError = setHighVoltage(DEFAULT_HIGH_VOLTAGE); + if (initError == FAIL) { + sprintf(initErrorMessage, "Could not set high voltage to %d\n", + DEFAULT_HIGH_VOLTAGE); + return; + } + setASICDefaults(); setADIFDefaults(); @@ -543,6 +544,7 @@ void setupDetector() { } setAllTrimbits(DEFAULT_TRIMBIT_VALUE); + setReadoutSpeed(DEFAULT_READOUT_SPEED); } int resetToDefaultDacs(int hardReset) { @@ -1670,10 +1672,12 @@ int getMaxDacSteps() { return LTC2620_D_GetMaxNumSteps(); } int getADC(enum ADCINDEX ind, int *value) { LOG(logDEBUG1, ("Reading FPGA temperature...\n")); - if (readADCFromFile(TEMPERATURE_FILE_NAME, value) == FAIL) { + if (readParameterFromFile(TEMPERATURE_FILE_NAME, "temperature", value) == + FAIL) { LOG(logERROR, ("Could not get temperature\n")); return FAIL; } + LOG(logINFO, ("Temperature: %.2f °C\n", (double)(*value) / 1000.00)); return OK; } @@ -1683,15 +1687,12 @@ int setHighVoltage(int val) { val = HV_SOFT_MAX_VOLTAGE; } - // setting hv - if (val >= 0) { - LOG(logINFO, ("Setting High voltage: %d V\n", val)); - if (DAC6571_Set(val) == OK) - highvoltage = val; - } - return highvoltage; + LOG(logINFO, ("Setting High voltage: %d V\n", val)); + return DAC6571_Set(val); } +int getHighVoltage(int *retval) { return DAC6571_Get(retval); } + /* parameters - timing */ int isMaster(int *retval) { @@ -2238,9 +2239,7 @@ int setPhase(enum CLKINDEX ind, int val, int degrees) { relativePhase *= -1; direction = 0; } - int pllIndex = (int)(ind >= SYSTEM_C0 ? SYSTEM_PLL : READOUT_PLL); - int clkIndex = (int)(ind >= SYSTEM_C0 ? ind - SYSTEM_C0 : ind); - ALTERA_PLL_C10_SetPhaseShift(pllIndex, clkIndex, relativePhase, direction); + ALTERA_PLL_C10_SetPhaseShift(SYSTEM_PLL, ind, relativePhase, direction); clkPhase[ind] = valShift; return OK; @@ -2310,8 +2309,7 @@ int getVCOFrequency(enum CLKINDEX ind) { LOG(logERROR, ("Unknown clock index %d to get vco frequency\n", ind)); return -1; } - int pllIndex = (int)(ind >= SYSTEM_C0 ? SYSTEM_PLL : READOUT_PLL); - return ALTERA_PLL_C10_GetVCOFrequency(pllIndex); + return ALTERA_PLL_C10_GetVCOFrequency(SYSTEM_PLL); } int getMaxClockDivider() { return ALTERA_PLL_C10_GetMaxClockDivider(); } @@ -2333,6 +2331,7 @@ int setClockDividerWithTimeUpdateOption(enum CLKINDEX ind, int val, return FAIL; } if (val < 2 || val > getMaxClockDivider()) { + LOG(logERROR, ("Invalid clock divider %d\n", val)); return FAIL; } char *clock_names[] = {CLK_NAMES}; @@ -2349,9 +2348,7 @@ int setClockDividerWithTimeUpdateOption(enum CLKINDEX ind, int val, } // Calculate and set output frequency - int pllIndex = (int)(ind >= SYSTEM_C0 ? SYSTEM_PLL : READOUT_PLL); - int clkIndex = (int)(ind >= SYSTEM_C0 ? ind - SYSTEM_C0 : ind); - ALTERA_PLL_C10_SetOuputClockDivider(pllIndex, clkIndex, val); + ALTERA_PLL_C10_SetOuputClockDivider(SYSTEM_PLL, ind, val); // Update time settings that depend on system frequency // timeUpdate = 0 for setChipRegister/setTrimbits etc @@ -2383,14 +2380,9 @@ int setClockDividerWithTimeUpdateOption(enum CLKINDEX ind, int val, clkDivider[ind])); // phase is reset by pll (when setting output frequency) - if (ind < SYSTEM_C0) { - clkPhase[READOUT_C0] = 0; - clkPhase[READOUT_C1] = 0; - } else { - clkPhase[SYSTEM_C0] = 0; - clkPhase[SYSTEM_C1] = 0; - clkPhase[SYSTEM_C2] = 0; - } + clkPhase[SYSTEM_C0] = 0; + clkPhase[SYSTEM_C1] = 0; + clkPhase[SYSTEM_C2] = 0; // set the phase in degrees (reset by pll) for (int i = 0; i < NUM_CLOCKS; ++i) { @@ -2413,6 +2405,42 @@ int getClockDivider(enum CLKINDEX ind) { return clkDivider[ind]; } +int setReadoutSpeed(int val) { + enum speedLevel speed = FULL_SPEED; + switch (val) { + case FULL_SPEED: + LOG(logINFO, ("Setting Full Speed (100 MHz):\n")); + speed = FULL_SPEED_CLKDIV; + break; + case HALF_SPEED: + LOG(logINFO, ("Setting Half Speed (50 MHz):\n")); + speed = HALF_SPEED_CLKDIV; + break; + case QUARTER_SPEED: + LOG(logINFO, ("Setting Quarter Speed (25 MHz):\n")); + speed = QUARTER_SPEED_CLKDIV; + break; + default: + LOG(logERROR, ("Unknown readout speed %d\n", val)); + return FAIL; + } + return setClockDivider(SYSTEM_C0, speed); +} + +int getReadoutSpeed(int *retval) { + int clkdiv = getClockDivider(SYSTEM_C0); + if (clkdiv == FULL_SPEED_CLKDIV) { + *retval = FULL_SPEED; + } else if (clkdiv == HALF_SPEED_CLKDIV) { + *retval = HALF_SPEED; + } else if (clkdiv == QUARTER_SPEED_CLKDIV) { + *retval = QUARTER_SPEED; + } else { + return FAIL; + } + return OK; +} + int setBadChannels(int numChannels, int *channelList) { LOG(logINFO, ("Setting %d bad channels\n", numChannels)); memset(badChannelMask, 0, NCHAN_PER_MODULE * sizeof(char)); diff --git a/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h index 89b294ffc..c3583aacf 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h @@ -57,26 +57,28 @@ #define DEFAULT_SETTINGS (STANDARD) #define DEFAULT_TRIMBIT_VALUE (0) #define DEFAULT_COUNTER_DISABLED_VTH_VAL (2800) +#define DEFAULT_READOUT_SPEED (HALF_SPEED) -#define DEFAULT_READOUT_C0 (10) //(100000000) // rdo_clk, 100 MHz -#define DEFAULT_READOUT_C1 (10) //(100000000) // rdo_smp_clk, 100 MHz #define DEFAULT_SYSTEM_C0 (10) //(100000000) // run_clk, 100 MHz #define DEFAULT_SYSTEM_C1 (6) //(166666666) // str_clk, 166 MHz const #define DEFAULT_SYSTEM_C2 (5) //(200000000) // smp_clk, 200 MHz const #define DEFAULT_TRIMMING_RUN_CLKDIV (40) // (25000000) // 25 MHz +#define FULL_SPEED_CLKDIV (10) //(100000000) 100 MHz +#define HALF_SPEED_CLKDIV (20) //( 50000000) 50 MHz +#define QUARTER_SPEED_CLKDIV (40) //( 25000000) 25 MHz + #define DEFAULT_ASIC_LATCHING_NUM_PULSES (10) #define DEFAULT_MSTR_OTPT_P1_NUM_PULSES (20) #define DEFAULT_ADIF_PIPELINE_VAL (8) #define DEFAULT_ADIF_ADD_OFST_VAL (0) /* Firmware Definitions */ -#define MAX_TIMESLOT_VAL (0xFFFFFF) -#define IP_HEADER_SIZE (20) -#define FIXED_PLL_FREQUENCY (020000000) // 20MHz -#define READOUT_PLL_VCO_FREQ_HZ (1000000000) // 1GHz -#define SYSTEM_PLL_VCO_FREQ_HZ (1000000000) // 1GHz -#define MAX_NUM_DESERIALIZERS (40) +#define MAX_TIMESLOT_VAL (0xFFFFFF) +#define IP_HEADER_SIZE (20) +#define FIXED_PLL_FREQUENCY (020000000) // 20MHz +#define SYSTEM_PLL_VCO_FREQ_HZ (1000000000) // 1GHz +#define MAX_NUM_DESERIALIZERS (40) /** Other Definitions */ #define BIT16_MASK (0xFFFF) @@ -138,19 +140,12 @@ enum ADCINDEX { TEMP_FPGA }; #define SPECIAL_DEFAULT_HIGHGAIN_DAC_VALS \ { 1300, 1100 } -enum CLKINDEX { - READOUT_C0, - READOUT_C1, - SYSTEM_C0, - SYSTEM_C1, - SYSTEM_C2, - NUM_CLOCKS -}; -#define NUM_CLOCKS_TO_SET (3) +enum CLKINDEX { SYSTEM_C0, SYSTEM_C1, SYSTEM_C2, NUM_CLOCKS }; +#define NUM_CLOCKS_TO_SET (1) -#define CLK_NAMES \ - "READOUT_C0", "READOUT_C1", "SYSTEM_C0", "SYSTEM_C1", "SYSTEM_C2" -enum PLLINDEX { READOUT_PLL, SYSTEM_PLL }; +#define CLK_NAMES "SYSTEM_C0", "SYSTEM_C1", "SYSTEM_C2" + +#define SYSTEM_PLL (1) /* Struct Definitions */ typedef struct udp_header_struct { diff --git a/slsDetectorServers/slsDetectorServer/include/AD9257.h b/slsDetectorServers/slsDetectorServer/include/AD9257.h index 2989e7010..d0d282c92 100644 --- a/slsDetectorServers/slsDetectorServer/include/AD9257.h +++ b/slsDetectorServers/slsDetectorServer/include/AD9257.h @@ -4,6 +4,10 @@ #include +#ifdef JUNGFRAUD +void AD9257_Set_Jungfrau_Hardware_Version_1_0(int val); +#endif + /** * Set Defines * @param reg spi register diff --git a/slsDetectorServers/slsDetectorServer/include/DAC6571.h b/slsDetectorServers/slsDetectorServer/include/DAC6571.h index 1a13d3c14..3a86ea900 100644 --- a/slsDetectorServers/slsDetectorServer/include/DAC6571.h +++ b/slsDetectorServers/slsDetectorServer/include/DAC6571.h @@ -4,16 +4,6 @@ #include -/** - * Set Defines - * @param hardMaxV maximum hardware limit - * @param driverfname driver file name - */ void DAC6571_SetDefines(int hardMaxV, char *driverfname); - -/** - * Set value - * @param val value to set - * @return OK or FAIL - */ int DAC6571_Set(int val); +int DAC6571_Get(int *retval); diff --git a/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h b/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h index 4a9cfd72d..f11139ac2 100644 --- a/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h +++ b/slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h @@ -5,10 +5,12 @@ #include void LTC2620_D_SetDefines(int hardMinV, int hardMaxV, char *driverfname, - int numdacs, int numdevices, int startingDeviceIndex, + int numdacs, int numpowers, char *powerdownDriverfname); int LTC2620_D_GetMaxNumSteps(); int LTC2620_D_GetPowerDownValue(); +int LTC2620_D_GetMinInput(); +int LTC2620_D_GetMaxInput(); /** * Convert voltage to dac units diff --git a/slsDetectorServers/slsDetectorServer/include/blackfin.h b/slsDetectorServers/slsDetectorServer/include/blackfin.h index e3a2d50f7..fef76ad48 100644 --- a/slsDetectorServers/slsDetectorServer/include/blackfin.h +++ b/slsDetectorServers/slsDetectorServer/include/blackfin.h @@ -81,7 +81,7 @@ u_int32_t readRegister(u_int32_t offset); * @param offset address offset * @param data 32 bit data */ -u_int32_t writeRegister(u_int32_t offset, u_int32_t data); +void writeRegister(u_int32_t offset, u_int32_t data); /** * Read from a 16 bit register (literal register value provided by client) @@ -95,7 +95,7 @@ u_int32_t readRegister16(u_int32_t offset); * @param offset address offset * @param data 16 bit data */ -u_int32_t writeRegister16(u_int32_t offset, u_int32_t data); +void writeRegister16(u_int32_t offset, u_int32_t data); /** * Get base address for memory copy diff --git a/slsDetectorServers/slsDetectorServer/include/common.h b/slsDetectorServers/slsDetectorServer/include/common.h index 1bc089e82..7c6139f16 100644 --- a/slsDetectorServers/slsDetectorServer/include/common.h +++ b/slsDetectorServers/slsDetectorServer/include/common.h @@ -69,4 +69,9 @@ int deleteFile(char *mess, char *fname, char *errorPrefix); int deleteOldServers(char *mess, char *newServerPath, char *errorPrefix); -int readADCFromFile(char *fname, int *value); \ No newline at end of file +int readParameterFromFile(char *fname, char *parameterName, int *value); + +int createAbsoluteDirectory(char *mess, const char *absPath, char *errorPrefix); +int deleteAbsoluteDirectory(char *mess, const char *absPath, char *errorPrefix); + +int deleteItem(char *mess, int isFile, const char *absPath, char *errorPrefix); \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/include/nios.h b/slsDetectorServers/slsDetectorServer/include/nios.h index 71e66072c..dc1ca24f4 100644 --- a/slsDetectorServers/slsDetectorServer/include/nios.h +++ b/slsDetectorServers/slsDetectorServer/include/nios.h @@ -78,7 +78,7 @@ u_int32_t readRegister(u_int32_t offset); * @param offset address offset * @param data 32 bit data */ -u_int32_t writeRegister(u_int32_t offset, u_int32_t data); +void writeRegister(u_int32_t offset, u_int32_t data); /** * Map FPGA diff --git a/slsDetectorServers/slsDetectorServer/include/programViaArm.h b/slsDetectorServers/slsDetectorServer/include/programViaArm.h index d2434b94d..0a943f7b6 100644 --- a/slsDetectorServers/slsDetectorServer/include/programViaArm.h +++ b/slsDetectorServers/slsDetectorServer/include/programViaArm.h @@ -5,8 +5,12 @@ #include int resetFPGA(char *mess); -int loadDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex); +int loadDeviceTree(char *mess); int checksBeforeCreatingDeviceTree(char *mess); int createDeviceTree(char *mess); -int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex); \ No newline at end of file +int verifyDeviceTree(char *mess); +#ifndef VIRTUAL +int createSymbolicLinksForDevices(int adcDeviceIndex, int dacDeviceIndex, + char *mess); +#endif \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h index c36823eee..7466380a5 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h @@ -136,6 +136,9 @@ void checkVirtual9MFlag(); #endif // set up detector +#if defined(EIGERD) && !defined(VIRTUAL) +void setupFebBeb(); +#endif #if defined(EIGERD) || defined(MYTHEN3D) void allocateDetectorStructureMemory(); #endif @@ -169,14 +172,13 @@ void resetToHardwareSettings(); // advanced read/write reg #ifdef EIGERD -int writeRegister(uint32_t offset, uint32_t data); +int writeRegister(uint32_t offset, uint32_t data, int validate); int readRegister(uint32_t offset, uint32_t *retval); -int setBit(const uint32_t addr, int nBit); -int clearBit(const uint32_t addr, int nBit); +int setBit(const uint32_t addr, const int nBit, int validate); +int clearBit(const uint32_t addr, const int nBit, int validate); int getBit(const uint32_t addr, const int nBit, int *retval); #elif GOTTHARDD -uint32_t writeRegister16And32(uint32_t offset, - uint32_t data); // FIXME its not there in ctb +void writeRegister16And32(uint32_t offset, uint32_t data); uint32_t readRegister16And32(uint32_t offset); #endif @@ -184,7 +186,7 @@ uint32_t readRegister16And32(uint32_t offset); #if defined(XILINX_CHIPTESTBOARDD) void cleanFifos(); void resetFlow(); -int waitTranseiverReset(char *mess); +int waitTransceiverReset(char *mess); #ifdef VIRTUAL void setTransceiverAlignment(int align); #endif @@ -195,7 +197,6 @@ int isChipConfigured(); int powerChip(int on, char *mess); int getPowerChip(); int configureChip(char *mess); -void startPeriphery(); #endif #if defined(JUNGFRAUD) || defined(MOENCHD) || defined(CHIPTESTBOARDD) || \ defined(MYTHEN3D) || defined(GOTTHARD2D) @@ -268,7 +269,8 @@ int selectStoragecellStart(int pos); int getMaxStoragecellStart(); #endif #if defined(JUNGFRAUD) || defined(MOENCHD) || defined(EIGERD) || \ - defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD) + defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD) || \ + defined(GOTTHARD2D) int setNextFrameNumber(uint64_t value); int getNextFrameNumber(uint64_t *value); #endif @@ -424,6 +426,8 @@ int getPower(); void setPower(enum DACINDEX ind, int val); void powerOff(); #elif XILINX_CHIPTESTBOARDD +int isPowerValid(enum DACINDEX ind, int val); + int getPower(); void setPower(enum DACINDEX ind, int val); #endif @@ -442,6 +446,9 @@ int getSlowADC(int ichan, int *retval); int getTemperature(int *retval); #else int setHighVoltage(int val); +#if defined(MYTHEN3D) || defined(GOTTHARD2D) +int getHighVoltage(int *retval); +#endif #endif // parameters - timing, extsig @@ -601,6 +608,10 @@ uint64_t getSelectCurrentSource(); int getPedestalMode(); void getPedestalParameters(uint8_t *frames, uint16_t *loops); void setPedestalMode(int enable, uint8_t frames, uint16_t loops); +int setTimingInfoDecoder(enum timingInfoDecoder val); +int getTimingInfoDecoder(enum timingInfoDecoder *retval); +int getElectronCollectionMode(); +void setElectronCollectionMode(int enable); #endif // eiger specific - iodelay, pulse, rate, temp, activate, delay nw parameter @@ -647,10 +658,14 @@ int setClockDivider(enum CLKINDEX ind, int val); int setClockDividerWithTimeUpdateOption(enum CLKINDEX ind, int val, int timeUpdate); int getClockDivider(enum CLKINDEX ind); - +int setReadoutSpeed(int val); +int getReadoutSpeed(int *retval); #elif GOTTHARD2D int checkDetectorType(char *mess); -int powerChip(int on); +int powerChip(int on, char *mess); +int getPowerChip(); +int isChipConfigured(); +int configureChip(char *mess); void setDBITPipeline(int val); int getDBITPipeline(); int setPhase(enum CLKINDEX ind, int val, int degrees); diff --git a/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h b/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h index 1840884fb..e0806694e 100644 --- a/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h +++ b/slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h @@ -330,3 +330,7 @@ int setColumn(int); int get_pedestal_mode(int); int set_pedestal_mode(int); int config_transceiver(int); +int get_timing_info_decoder(int); +int set_timing_info_decoder(int); +int get_collection_mode(int); +int set_collection_mode(int); diff --git a/slsDetectorServers/slsDetectorServer/src/AD9257.c b/slsDetectorServers/slsDetectorServer/src/AD9257.c index 7d49d4f0e..6ebf574f4 100644 --- a/slsDetectorServers/slsDetectorServer/src/AD9257.c +++ b/slsDetectorServers/slsDetectorServer/src/AD9257.c @@ -172,6 +172,14 @@ uint32_t AD9257_DigMask = 0x0; int AD9257_DigOffset = 0x0; int AD9257_VrefVoltage = 0; +#ifdef JUNGFRAUD +int AD9257_is_Jungfrau_Hardware_Version_1_0 = 0; + +void AD9257_Set_Jungfrau_Hardware_Version_1_0(int val) { + AD9257_is_Jungfrau_Hardware_Version_1_0 = val; +} +#endif + void AD9257_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk, uint32_t dmsk, int dofst) { AD9257_Reg = reg; @@ -286,8 +294,18 @@ void AD9257_Configure() { AD9257_OUT_BINARY_OFST_VAL | AD9257_OUT_LVDS_IEEE_VAL); // output clock phase +#ifdef JUNGFRAUD + if (AD9257_is_Jungfrau_Hardware_Version_1_0) { + LOG(logINFO, ("\tOutput clock phase: 120\n")); + AD9257_Set(AD9257_OUT_PHASE_REG, AD9257_OUT_CLK_120_VAL); + } else { + LOG(logINFO, ("\tOutput clock phase: 180\n")); + AD9257_Set(AD9257_OUT_PHASE_REG, AD9257_OUT_CLK_180_VAL); + } +#else LOG(logINFO, ("\tOutput clock phase: 180\n")); AD9257_Set(AD9257_OUT_PHASE_REG, AD9257_OUT_CLK_180_VAL); +#endif // all devices on chip to receive next command LOG(logINFO, ("\tAll devices on chip to receive next command\n")); diff --git a/slsDetectorServers/slsDetectorServer/src/DAC6571.c b/slsDetectorServers/slsDetectorServer/src/DAC6571.c index 3ed121aae..d9770043a 100644 --- a/slsDetectorServers/slsDetectorServer/src/DAC6571.c +++ b/slsDetectorServers/slsDetectorServer/src/DAC6571.c @@ -15,12 +15,19 @@ int DAC6571_HardMaxVoltage = 0; char DAC6571_DriverFileName[MAX_STR_LENGTH]; +#ifdef VIRTUAL +int highvoltage = 0; +#endif + void DAC6571_SetDefines(int hardMaxV, char *driverfname) { LOG(logINFOBLUE, ("Configuring High Voltage to %s (hard max: %dV)\n", driverfname, hardMaxV)); DAC6571_HardMaxVoltage = hardMaxV; memset(DAC6571_DriverFileName, 0, MAX_STR_LENGTH); strcpy(DAC6571_DriverFileName, driverfname); +#ifdef VIRTUAL + highvoltage = 0; +#endif } int DAC6571_Set(int val) { @@ -31,11 +38,58 @@ int DAC6571_Set(int val) { int dacvalue = 0; // convert value - ConvertToDifferentRange(0, DAC6571_HardMaxVoltage, DAC6571_MIN_DAC_VAL, - DAC6571_MAX_DAC_VAL, val, &dacvalue); - + if (ConvertToDifferentRange(0, DAC6571_HardMaxVoltage, DAC6571_MIN_DAC_VAL, + DAC6571_MAX_DAC_VAL, val, &dacvalue) == FAIL) { + LOG(logERROR, + ("Could not convert %d high voltage to a valid dac value\n", val)); + return FAIL; + } LOG(logINFO, ("\t%dV (dacval %d)\n", val, dacvalue)); +#ifdef VIRTUAL + highvoltage = dacvalue; +#else + // open file + FILE *fd = fopen(DAC6571_DriverFileName, "w"); + if (fd == NULL) { + LOG(logERROR, + ("Could not open file %s for writing to set high voltage\n", + DAC6571_DriverFileName)); + return FAIL; + } + // convert to string, add 0 and write to file + fprintf(fd, "%d\n", dacvalue); + fclose(fd); +#endif + + return OK; +} + +int DAC6571_Get(int *retval) { + LOG(logDEBUG1, ("Getting high voltage\n")); + int dacvalue = 0; + +#ifdef VIRTUAL + dacvalue = highvoltage; +#else + if (readParameterFromFile(DAC6571_DriverFileName, "high voltage", + &dacvalue) == FAIL) { + LOG(logERROR, ("Could not get high voltage\n")); + return FAIL; + } +#endif + + // convert value + if (ConvertToDifferentRange(DAC6571_MIN_DAC_VAL, DAC6571_MAX_DAC_VAL, 0, + DAC6571_HardMaxVoltage, dacvalue, + retval) == FAIL) { + LOG(logERROR, + ("Could not convert %d dac value to a valid high voltage\n", + dacvalue)); + return FAIL; + } + LOG(logINFO, ("\t%dV (dacval %d)\n", (*retval), dacvalue)); + #ifndef VIRTUAL // open file FILE *fd = fopen(DAC6571_DriverFileName, "w"); diff --git a/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c b/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c index 3de5a7c36..c92c111f4 100644 --- a/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c +++ b/slsDetectorServers/slsDetectorServer/src/LTC2620_Driver.c @@ -9,6 +9,7 @@ /* LTC2620 DAC DEFINES */ #define LTC2620_D_PWR_DOWN_VAL (-100) +#define LTC2620_D_MIN_DAC_VAL (0) #define LTC2620_D_MAX_DAC_VAL (4095) // 12 bits #define LTC2620_D_MAX_STEPS (LTC2620_D_MAX_DAC_VAL + 1) @@ -18,17 +19,15 @@ int LTC2620_D_HardMaxVoltage = 0; char LTC2620_D_DriverFileName[MAX_STR_LENGTH]; char LTC2620_D_PowerDownDriverFileName[MAX_STR_LENGTH]; int LTC2620_D_NumDacs = 0; -int LTC2620_D_NumDevices = 0; -int LTC2620_D_NumChannelsPerDevice = 0; -int LTC2620_D_DacDriverStartingDeviceIndex = 0; +int LTC2620_D_NumDacsOnly = 0; void LTC2620_D_SetDefines(int hardMinV, int hardMaxV, char *driverfname, - int numdacs, int numdevices, int startingDeviceIndex, + int numdacs, int numpowers, char *powerdownDriverfname) { LOG(logINFOBLUE, ("Configuring DACs (LTC2620) to %s\n\t (numdacs:%d, hard min:%d, hard " - "max: %dmV, idev:%d)\n", - driverfname, numdacs, hardMinV, hardMaxV, startingDeviceIndex)); + "max: %dmV)\n", + driverfname, numdacs, hardMinV, hardMaxV)); LTC2620_D_HardMinVoltage = hardMinV; LTC2620_D_HardMaxVoltage = hardMaxV; memset(LTC2620_D_DriverFileName, 0, MAX_STR_LENGTH); @@ -36,15 +35,17 @@ void LTC2620_D_SetDefines(int hardMinV, int hardMaxV, char *driverfname, memset(LTC2620_D_PowerDownDriverFileName, 0, MAX_STR_LENGTH); strcpy(LTC2620_D_PowerDownDriverFileName, powerdownDriverfname); LTC2620_D_NumDacs = numdacs; - LTC2620_D_NumDevices = numdevices; - LTC2620_D_NumChannelsPerDevice = LTC2620_D_NumDacs / LTC2620_D_NumDevices; - LTC2620_D_DacDriverStartingDeviceIndex = startingDeviceIndex; + LTC2620_D_NumDacsOnly = numdacs - numpowers; } int LTC2620_D_GetMaxNumSteps() { return LTC2620_D_MAX_STEPS; } int LTC2620_D_GetPowerDownValue() { return LTC2620_D_PWR_DOWN_VAL; } +int LTC2620_D_GetMinInput() { return LTC2620_D_MIN_DAC_VAL; } + +int LTC2620_D_GetMaxInput() { return LTC2620_D_MAX_DAC_VAL; } + int LTC2620_D_VoltageToDac(int voltage, int *dacval) { return ConvertToDifferentRange(LTC2620_D_HardMinVoltage, LTC2620_D_HardMaxVoltage, 0, @@ -94,7 +95,10 @@ int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char *dacname, int dacmV = val; if (mV) { ret = LTC2620_D_VoltageToDac(val, dacval); - } else if (val >= 0) { + } + + // mV only for print out (dont convert to mV for power regulators) + else if (val >= 0 && dacnum < LTC2620_D_NumDacsOnly) { // do not convert power down dac val ret = LTC2620_D_DacToVoltage(val, &dacmV); } @@ -109,8 +113,16 @@ int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char *dacname, // print and set #ifdef XILINX_CHIPTESTBOARDD if (*dacval >= 0) { - LOG(logINFO, ("Setting DAC %2d [%-6s] : %d dac (%d mV)\n", dacnum, - dacname, *dacval, dacmV)); + // also print mV + if (dacnum < LTC2620_D_NumDacsOnly) { + LOG(logINFO, ("Setting DAC %2d [%-6s] : %d dac (%d mV)\n", + dacnum, dacname, *dacval, dacmV)); + } + // do not print mV for power regulators + else { + LOG(logINFO, ("Setting Power DAC%2d [%-6s] : %d dac \n", dacnum, + dacname, *dacval)); + } } #else if ((*dacval >= 0) || (*dacval == LTC2620_D_PWR_DOWN_VAL)) { @@ -125,10 +137,7 @@ int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char *dacname, char fname[MAX_STR_LENGTH]; memset(fname, 0, MAX_STR_LENGTH); #ifdef XILINX_CHIPTESTBOARDD - int idev = LTC2620_D_DacDriverStartingDeviceIndex + - (dacnum / LTC2620_D_NumChannelsPerDevice); - int idac = dacnum % LTC2620_D_NumChannelsPerDevice; - sprintf(fname, fnameFormat, idev, idac); + sprintf(fname, fnameFormat, dacnum); #else sprintf(fname, "%s%d", fnameFormat, dacnum); #endif diff --git a/slsDetectorServers/slsDetectorServer/src/arm64.c b/slsDetectorServers/slsDetectorServer/src/arm64.c index 2cbc4afda..0c1cbc67f 100644 --- a/slsDetectorServers/slsDetectorServer/src/arm64.c +++ b/slsDetectorServers/slsDetectorServer/src/arm64.c @@ -11,11 +11,11 @@ #include // mmap /* global variables */ -#define CSP0 (0xB0080000) -#define CSP1 (0xB0050000) // udp -#define MEM_SIZE (0x10000) -//#define MEM_SIZE_CSP0 (4096) -//#define MEM_SIZE_CSP1 (2 * 4096) +#define CSP0 (0xB0080000) +#define CSP1 (0xB0050000) // udp +#define MEM_SIZE_CSP0 (0x10000) +#define MEM_SIZE_CSP1 (0x2000) // smaller size for udp + u_int32_t *csp0base = 0; u_int32_t *csp1base = 0; @@ -50,22 +50,25 @@ u_int32_t writeRegister(u_int32_t offset, u_int32_t data) { } int mapCSP0(void) { + LOG(logINFO, ("Mapping memory\n")); u_int32_t csps[2] = {CSP0, CSP1}; u_int32_t **cspbases[2] = {&csp0base, &csp1base}; + u_int32_t memsize[2] = {MEM_SIZE_CSP0, MEM_SIZE_CSP1}; char names[2][10] = {"csp0base", "csp1base"}; for (int i = 0; i < 2; ++i) { // if not mapped if (*cspbases[i] == 0) { - LOG(logINFO, ("Mapping memory for %s\n", names[i])); + LOG(logINFO, ("\tMapping memory for %s\n", names[i])); #ifdef VIRTUAL - *cspbases[i] = malloc(MEM_SIZE); + *cspbases[i] = malloc(memsize[i]); if (*cspbases[i] == NULL) { LOG(logERROR, - ("Could not allocate virtual memory for %s.\n", names[i])); + ("Could not allocate virtual memory of size %d for %s.\n", + memsize[i], names[i])); return FAIL; } - LOG(logINFO, ("memory allocated for %s\n", names[i])); + LOG(logINFO, ("\tmemory allocated for %s\n", names[i])); #else int fd = open("/dev/mem", O_RDWR | O_SYNC, 0); if (fd == -1) { @@ -73,20 +76,21 @@ int mapCSP0(void) { return FAIL; } LOG(logDEBUG1, - ("/dev/mem opened for %s, (CSP:0x%x)\n", names[i], csps[i])); + ("\t/dev/mem opened for %s, (CSP:0x%x)\n", names[i], csps[i])); *cspbases[i] = - (u_int32_t *)mmap(0, MEM_SIZE, PROT_READ | PROT_WRITE, + (u_int32_t *)mmap(0, memsize[i], PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED, fd, csps[i]); if (*cspbases[i] == MAP_FAILED) { LOG(logERROR, ("Can't map memmory area for %s\n", names[i])); return FAIL; } #endif - LOG(logINFO, ("%s mapped from %p to %p,(CSP:0x%x) \n", names[i], - *cspbases[i], *cspbases[i] + MEM_SIZE, csps[i])); + LOG(logINFO, + ("\t%s mapped of size %d from %p to %p,(CSP:0x%x) \n", names[i], + memsize[i], *cspbases[i], *cspbases[i] + memsize[i], csps[i])); // LOG(logINFO, ("Status Register: %08x\n", bus_r(STATUS_REG))); } else - LOG(logINFO, ("Memory %s already mapped before\n", names[i])); + LOG(logINFO, ("\tMemory %s already mapped before\n", names[i])); } return OK; } diff --git a/slsDetectorServers/slsDetectorServer/src/blackfin.c b/slsDetectorServers/slsDetectorServer/src/blackfin.c index dc9011b96..06322de6d 100644 --- a/slsDetectorServers/slsDetectorServer/src/blackfin.c +++ b/slsDetectorServers/slsDetectorServer/src/blackfin.c @@ -84,32 +84,16 @@ u_int32_t readRegister(u_int32_t offset) { return bus_r(offset << MEM_MAP_SHIFT); } -u_int32_t writeRegister(u_int32_t offset, u_int32_t data) { - // if electron mode bit touched -#ifdef JUNGFRAUD - int electronCollectionModeChange = 0; - if ((offset << MEM_MAP_SHIFT) == DAQ_REG) { - if ((readRegister(offset) ^ data) & DAQ_ELCTRN_CLLCTN_MDE_MSK) { - electronCollectionModeChange = 1; - } - } -#endif +void writeRegister(u_int32_t offset, u_int32_t data) { bus_w(offset << MEM_MAP_SHIFT, data); -#ifdef JUNGFRAUD - if (electronCollectionModeChange) { - configureChip(); - } -#endif - return readRegister(offset); } u_int32_t readRegister16(u_int32_t offset) { return (u_int32_t)bus_r16(offset << MEM_MAP_SHIFT); } -u_int32_t writeRegister16(u_int32_t offset, u_int32_t data) { +void writeRegister16(u_int32_t offset, u_int32_t data) { bus_w16(offset << MEM_MAP_SHIFT, (u_int16_t)data); - return readRegister16(offset); } int mapCSP0(void) { diff --git a/slsDetectorServers/slsDetectorServer/src/common.c b/slsDetectorServers/slsDetectorServer/src/common.c index a94f0008f..a978050f1 100644 --- a/slsDetectorServers/slsDetectorServer/src/common.c +++ b/slsDetectorServers/slsDetectorServer/src/common.c @@ -8,6 +8,7 @@ #include // dirname #include +#include // stat #include // uname #include // readlink @@ -677,31 +678,7 @@ int deleteFile(char *mess, char *fname, char *errorPrefix) { return FAIL; } - if (access(fullname, F_OK) == 0) { - char cmd[MAX_STR_LENGTH] = {0}; - char retvals[MAX_STR_LENGTH] = {0}; - - if (snprintf(cmd, MAX_STR_LENGTH, "rm %s", fullname) >= - MAX_STR_LENGTH) { - sprintf(mess, "Could not %s. Command to delete is too long\n", - errorPrefix); - LOG(logERROR, (mess)); - return FAIL; - } - - if (executeCommand(cmd, retvals, logDEBUG1) == FAIL) { - snprintf(mess, MAX_STR_LENGTH, - "Could not %s. (deleting file %s). %s\n", errorPrefix, - fullname, retvals); - LOG(logERROR, (mess)); - return FAIL; - } - LOG(logINFO, ("\tDeleted file: %s (%s)\n", fullname, errorPrefix)); - } else { - LOG(logINFO, - ("\tFile does not exist anyway: %s (%s)\n", fullname, errorPrefix)); - } - return OK; + return deleteItem(mess, 1, fullname, errorPrefix); } int deleteOldServers(char *mess, char *newServerPath, char *errorPrefix) { @@ -727,8 +704,8 @@ int deleteOldServers(char *mess, char *newServerPath, char *errorPrefix) { return OK; } -int readADCFromFile(char *fname, int *value) { - LOG(logDEBUG1, ("fname:%s\n", fname)); +int readParameterFromFile(char *fname, char *parameterName, int *value) { + LOG(logDEBUG1, ("fname:%s parameter:%s\n", fname, parameterName)); // open file FILE *fd = fopen(fname, "r"); if (fd == NULL) { @@ -752,20 +729,66 @@ int readADCFromFile(char *fname, int *value) { *value = -1; if (sscanf(line, "%d", value) != 1) { -#ifdef XILINX_CHIPTESTBOARDD - LOG(logERROR, ("Could not scan adc from %s\n", line)); -#else - LOG(logERROR, ("Could not scan temperature from %s\n", line)); -#endif + LOG(logERROR, ("Could not scan %s from %s\n", parameterName, line)); return FAIL; } -#ifdef EIGERD - *value /= 10; -#elif !defined(XILINX_CHIPTESTBOARDD) - LOG(logINFO, ("Temperature: %.2f °C\n", (double)(*value) / 1000.00)); -#endif - fclose(fd); return OK; +} + +int createAbsoluteDirectory(char *mess, const char *absPath, + char *errorPrefix) { + // check if folder exists + if (access(absPath, F_OK) == 0) { + LOG(logINFO, ("Folder %s already exists\n", absPath)); + return OK; + } + + // folder does not exist, create it + if (mkdir(absPath, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) { + sprintf(mess, "Could not %s. Could not create folder %s\n", errorPrefix, + absPath); + LOG(logERROR, (mess)); + return FAIL; + } + LOG(logINFO, ("\tCreated folder: %s (%s)\n", absPath, errorPrefix)); + + return OK; +} + +int deleteAbsoluteDirectory(char *mess, const char *absPath, + char *errorPrefix) { + return deleteItem(mess, 0, absPath, errorPrefix); +} + +int deleteItem(char *mess, int isFile, const char *absPath, char *errorPrefix) { + // item does not exist + if (access(absPath, F_OK) != 0) { + LOG(logINFO, ("\t%s does not exist anyway: %s (%s)\n", + (isFile ? "File" : "Folder"), absPath, errorPrefix)); + return OK; + } + + // delete item + char cmd[MAX_STR_LENGTH] = {0}; + char retvals[MAX_STR_LENGTH] = {0}; + if (snprintf(cmd, MAX_STR_LENGTH, "rm %s %s", (isFile ? "-f" : "-rf"), + absPath) >= MAX_STR_LENGTH) { + sprintf(mess, "Could not %s. Command to delete is too long\n", + errorPrefix); + LOG(logERROR, (mess)); + return FAIL; + } + + if (executeCommand(cmd, retvals, logDEBUG1) == FAIL) { + snprintf(mess, MAX_STR_LENGTH, "Could not %s. (deleting %s %s). %s\n", + errorPrefix, (isFile ? "file" : "folder"), absPath, retvals); + LOG(logERROR, (mess)); + return FAIL; + } + LOG(logINFO, ("\tDeleted %s: %s (%s)\n", (isFile ? "file" : "folder"), + absPath, errorPrefix)); + + return OK; } \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/src/nios.c b/slsDetectorServers/slsDetectorServer/src/nios.c index ddee51e55..7074db54a 100644 --- a/slsDetectorServers/slsDetectorServer/src/nios.c +++ b/slsDetectorServers/slsDetectorServer/src/nios.c @@ -82,10 +82,7 @@ void setU64BitReg(uint64_t value, int aLSB, int aMSB) { u_int32_t readRegister(u_int32_t offset) { return bus_r(offset); } -u_int32_t writeRegister(u_int32_t offset, u_int32_t data) { - bus_w(offset, data); - return readRegister(offset); -} +void writeRegister(u_int32_t offset, u_int32_t data) { bus_w(offset, data); } int mapCSP0(void) { u_int32_t csps[2] = {CSP0, CSP1}; diff --git a/slsDetectorServers/slsDetectorServer/src/programViaArm.c b/slsDetectorServers/slsDetectorServer/src/programViaArm.c index adc05ac8e..64a7eafb2 100644 --- a/slsDetectorServers/slsDetectorServer/src/programViaArm.c +++ b/slsDetectorServers/slsDetectorServer/src/programViaArm.c @@ -2,20 +2,19 @@ // Copyright (C) 2021 Contributors to the SLS Detector Package #include "programViaArm.h" #include "clogger.h" +#include "common.h" #include "sls/sls_detector_defs.h" +#include "slsDetectorServer_defs.h" #include //memset #include // access -#define CMD_ARM_LOAD_BIT_FILE \ - "~/fpgautil/fpgautil -b /root/apps/xilinx-ctb/XilinxCTB.bit -f Full" -#define CMD_ARM_DEVICE_TREE_API_FOLDER \ - "/sys/kernel/config/device-tree/overlays/spidr" -#define CMD_ARM_DEVICE_TREE_OVERLAY_FILE "/root/apps/xilinx-ctb/pl.dtbo" -#define CMD_ARM_LOAD_DEVICE_TREE_FORMAT "cat %s > %s/dtbo" -#define CMD_ARM_DEVICE_TREE_DST "/sys/bus/iio/devices/iio:device" -#define CMD_ARM_DEVICE_NAME "xilinx-ams", "ad7689", "dac@0", "dac@1", "dac@2" -#define TIME_LOAD_DEVICE_TREE_MS (500) +#define CMD_ARM_LOAD_BIT_FILE "~/fpgautil/fpgautil -b " FIRMWARE_FILE " -f Full" +#define CMD_ARM_LOAD_DEVICE_TREE \ + "cat " DEVICE_TREE_OVERLAY_FILE " > " DEVICE_TREE_API_FOLDER "/dtbo" +#define CMD_ARM_SYM_LINK_FORMAT \ + "ln -sf " DEVICE_TREE_DST "%d " IIO_DEVICE_FOLDER "/%s" +#define TIME_LOAD_DEVICE_TREE_MS (500) extern int executeCommand(char *command, char *result, enum TLogLevel level); @@ -35,8 +34,8 @@ int resetFPGA(char *mess) { return OK; } -int loadDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { - if (verifyDeviceTree(mess, adcDeviceIndex, dacDeviceIndex) == OK) +int loadDeviceTree(char *mess) { + if (verifyDeviceTree(mess) == OK) return OK; if (checksBeforeCreatingDeviceTree(mess) == FAIL) @@ -45,7 +44,7 @@ int loadDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { if (createDeviceTree(mess) == FAIL) return FAIL; - if (verifyDeviceTree(mess, adcDeviceIndex, dacDeviceIndex) == FAIL) { + if (verifyDeviceTree(mess) == FAIL) { LOG(logERROR, ("Device tree loading failed at verification\n")); return FAIL; } @@ -56,54 +55,54 @@ int loadDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { int checksBeforeCreatingDeviceTree(char *mess) { // check if device tree overlay file exists - if (access(CMD_ARM_DEVICE_TREE_OVERLAY_FILE, F_OK) != 0) { + if (access(DEVICE_TREE_OVERLAY_FILE, F_OK) != 0) { snprintf(mess, MAX_STR_LENGTH, "Device tree overlay file (%s) does not exist\n", - CMD_ARM_DEVICE_TREE_OVERLAY_FILE); + DEVICE_TREE_OVERLAY_FILE); LOG(logERROR, (mess)); return FAIL; } - LOG(logINFO, ("\tDevice tree overlay file exists (%s)\n", - CMD_ARM_DEVICE_TREE_OVERLAY_FILE)); + LOG(logINFO, + ("\tDevice tree overlay file exists (%s)\n", DEVICE_TREE_OVERLAY_FILE)); // check if device tree folder exists. If it does, remove it - if (access(CMD_ARM_DEVICE_TREE_API_FOLDER, F_OK) == 0) { + if (access(DEVICE_TREE_API_FOLDER, F_OK) == 0) { // remove it char cmd[MAX_STR_LENGTH] = {0}; memset(cmd, 0, MAX_STR_LENGTH); - sprintf(cmd, "rmdir %s", CMD_ARM_DEVICE_TREE_API_FOLDER); + sprintf(cmd, "rmdir %s", DEVICE_TREE_API_FOLDER); char retvals[MAX_STR_LENGTH] = {0}; memset(retvals, 0, MAX_STR_LENGTH); if (executeCommand(cmd, retvals, logDEBUG1) == FAIL) { snprintf(mess, MAX_STR_LENGTH, "Could not unload device tree overlay api with %s (%s)\n", cmd, retvals); - LOG(logWARNING, (mess)); + LOG(logERROR, (mess)); return FAIL; } LOG(logINFO, ("\tUnloaded existing device tree overlay api (%s)\n", - CMD_ARM_DEVICE_TREE_API_FOLDER)); + DEVICE_TREE_API_FOLDER)); } else { LOG(logINFO, ("\tNo existing device tree overlay api found(%s)\n", - CMD_ARM_DEVICE_TREE_API_FOLDER)); + DEVICE_TREE_API_FOLDER)); } // create device tree overlay folder { char cmd[MAX_STR_LENGTH] = {0}; memset(cmd, 0, MAX_STR_LENGTH); - sprintf(cmd, "mkdir %s", CMD_ARM_DEVICE_TREE_API_FOLDER); + sprintf(cmd, "mkdir %s", DEVICE_TREE_API_FOLDER); char retvals[MAX_STR_LENGTH] = {0}; memset(retvals, 0, MAX_STR_LENGTH); if (executeCommand(cmd, retvals, logDEBUG1) == FAIL) { snprintf(mess, MAX_STR_LENGTH, "Could not create device tree overlay api with %s (%s)\n", cmd, retvals); - LOG(logWARNING, (mess)); + LOG(logERROR, (mess)); return FAIL; } LOG(logINFO, ("\tDevice tree overlay api created (%s)\n", - CMD_ARM_DEVICE_TREE_API_FOLDER)); + DEVICE_TREE_API_FOLDER)); } return OK; @@ -112,15 +111,14 @@ int checksBeforeCreatingDeviceTree(char *mess) { int createDeviceTree(char *mess) { char cmd[MAX_STR_LENGTH] = {0}; memset(cmd, 0, MAX_STR_LENGTH); - sprintf(cmd, CMD_ARM_LOAD_DEVICE_TREE_FORMAT, - CMD_ARM_DEVICE_TREE_OVERLAY_FILE, CMD_ARM_DEVICE_TREE_API_FOLDER); + strcpy(cmd, CMD_ARM_LOAD_DEVICE_TREE); char retvals[MAX_STR_LENGTH] = {0}; memset(retvals, 0, MAX_STR_LENGTH); if (executeCommand(cmd, retvals, logDEBUG1) == FAIL) { snprintf(mess, MAX_STR_LENGTH, "Could not load device tree overlay with %s (%s)\n", cmd, retvals); - LOG(logWARNING, (mess)); + LOG(logERROR, (mess)); return FAIL; } LOG(logINFO, ("\tDevice tree overlay created (cmd: %s)\n", cmd)); @@ -129,24 +127,29 @@ int createDeviceTree(char *mess) { return OK; } -int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { +int verifyDeviceTree(char *mess) { LOG(logINFOBLUE, ("Verifying Device Tree...\n")); - *adcDeviceIndex = 1; - *dacDeviceIndex = 2; -#ifndef VIRTUAL + +#ifdef VIRTUAL + LOG(logINFOBLUE, ("Device tree verified successfully\n")); + return OK; +#else // check if iio:device0-4 exists in device tree destination int hardcodedDeviceIndex = 0; + int adcDeviceIndex = 1; + int dacDeviceIndex = 2; + for (int i = 0; i != 5; ++i) { char deviceName[MAX_STR_LENGTH] = {0}; memset(deviceName, 0, MAX_STR_LENGTH); - sprintf(deviceName, "%s%d/name", CMD_ARM_DEVICE_TREE_DST, i); + sprintf(deviceName, "%s%d/name", DEVICE_TREE_DST, i); // check if device exist if (access(deviceName, F_OK) != 0) { snprintf(mess, MAX_STR_LENGTH, "Could not verify device tree. Device %s does not exist\n", deviceName); - LOG(logWARNING, (mess)); + LOG(logERROR, (mess)); return FAIL; } // find name @@ -159,26 +162,26 @@ int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { snprintf(mess, MAX_STR_LENGTH, "Could not retrieve device name from device %s (%s)\n", deviceName, retvals); - LOG(logWARNING, (mess)); + LOG(logERROR, (mess)); return FAIL; } // verify name - char *deviceNames[] = {CMD_ARM_DEVICE_NAME}; + char *deviceNames[] = {DEVICE_NAME_LIST}; if (strstr(retvals, deviceNames[hardcodedDeviceIndex]) == NULL) { // dacs got loaded first if (i == 1 && strstr(retvals, deviceNames[hardcodedDeviceIndex + 1]) != NULL) { ++hardcodedDeviceIndex; - *adcDeviceIndex = 4; - *dacDeviceIndex = 1; + adcDeviceIndex = 4; + dacDeviceIndex = 1; } else { snprintf( mess, MAX_STR_LENGTH, "Could not verify device tree. Device %s expected %s but " "got %s\n", deviceName, deviceNames[i], retvals); - LOG(logWARNING, (mess)); + LOG(logERROR, (mess)); return FAIL; } } @@ -187,10 +190,63 @@ int verifyDeviceTree(char *mess, int *adcDeviceIndex, int *dacDeviceIndex) { if (hardcodedDeviceIndex == 5) hardcodedDeviceIndex = 1; } -#endif LOG(logINFOBLUE, ("Device tree verified successfully [temp: 0, adc:%d, " "dac:%d, %d, %d]\n", - *adcDeviceIndex, *dacDeviceIndex, *dacDeviceIndex + 1, - *dacDeviceIndex + 2)); + adcDeviceIndex, dacDeviceIndex, dacDeviceIndex + 1, + dacDeviceIndex + 2)); + + return createSymbolicLinksForDevices(adcDeviceIndex, dacDeviceIndex, mess); +#endif +} + +#ifndef VIRTUAL +int createSymbolicLinksForDevices(int adcDeviceIndex, int dacDeviceIndex, + char *mess) { + + // delete andcreate iio device links folder (deleting because cannot + // overwrite symbolic links with -sf) + if (deleteAbsoluteDirectory(mess, IIO_DEVICE_FOLDER, + "create sym links for device trees") == FAIL) { + return FAIL; + } + if (createAbsoluteDirectory(mess, IIO_DEVICE_FOLDER, + "create sym links for device trees") == FAIL) { + return FAIL; + } + + char *deviceNames[] = {DEVICE_NAME_LIST}; + // create symbolic links for adc + { + char cmd[MAX_STR_LENGTH] = {0}; + memset(cmd, 0, MAX_STR_LENGTH); + sprintf(cmd, CMD_ARM_SYM_LINK_FORMAT, adcDeviceIndex, deviceNames[1]); + char retvals[MAX_STR_LENGTH] = {0}; + memset(retvals, 0, MAX_STR_LENGTH); + if (executeCommand(cmd, retvals, logDEBUG1) == FAIL) { + snprintf(mess, MAX_STR_LENGTH, + "Could not create sym link [adc] (%s)\n", retvals); + LOG(logERROR, (mess)); + return FAIL; + } + LOG(logINFO, ("\tSym link [adc] created (%s)\n", cmd)); + } + + // create symbolic links for dacs + for (int idac = 0; idac != 3; ++idac) { + char cmd[MAX_STR_LENGTH] = {0}; + memset(cmd, 0, MAX_STR_LENGTH); + sprintf(cmd, CMD_ARM_SYM_LINK_FORMAT, dacDeviceIndex + idac, + deviceNames[idac + 2]); + char retvals[MAX_STR_LENGTH] = {0}; + memset(retvals, 0, MAX_STR_LENGTH); + if (executeCommand(cmd, retvals, logDEBUG1) == FAIL) { + snprintf(mess, MAX_STR_LENGTH, + "Could not create sym link [dac%d] (%s)\n", idac, retvals); + LOG(logERROR, (mess)); + return FAIL; + } + LOG(logINFO, ("\tSym link [dac%d] created (%s)\n", idac, cmd)); + } return OK; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 811d113f3..c39210f03 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -492,6 +492,10 @@ void function_table() { flist[F_GET_PEDESTAL_MODE] = &get_pedestal_mode; flist[F_SET_PEDESTAL_MODE] = &set_pedestal_mode; flist[F_CONFIG_TRANSCEIVER] = &config_transceiver; + flist[F_GET_TIMING_INFO_DECODER] = &get_timing_info_decoder; + flist[F_SET_TIMING_INFO_DECODER] = &set_timing_info_decoder; + flist[F_GET_COLLECTION_MODE] = &get_collection_mode; + flist[F_SET_COLLECTION_MODE] = &set_collection_mode; // check if (NUM_DET_FUNCTIONS >= RECEIVER_ENUM_START) { @@ -1214,12 +1218,39 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) { // high voltage #ifndef XILINX_CHIPTESTBOARDD case HIGH_VOLTAGE: + +#if defined(MYTHEN3D) || defined(GOTTHARD2D) + if ((val != -1 && val < 0) || (val > HV_SOFT_MAX_VOLTAGE)) { + ret = FAIL; + sprintf(mess, "Invalid Voltage. Valid range (0 - %d)\n", + HV_SOFT_MAX_VOLTAGE); + LOG(logERROR, (mess)); + } else { + if (val >= 0) { + ret = setHighVoltage(val); + if (ret == FAIL) { + strcpy(mess, "Could not set high voltage.\n"); + LOG(logERROR, (mess)); + } + } + if (ret == OK) { + ret = getHighVoltage(&retval); + if (ret == FAIL) { + strcpy(mess, "Could not get high voltage.\n"); + LOG(logERROR, (mess)); + } + LOG(logDEBUG1, ("High Voltage: %d\n", retval)); + validate(&ret, mess, val, retval, "set high voltage", DEC); + } + } +#else retval = setHighVoltage(val); LOG(logDEBUG1, ("High Voltage: %d\n", retval)); -#if defined(JUNGFRAUD) || defined(MOENCHD) || defined(CHIPTESTBOARDD) || \ - defined(GOTTHARD2D) || defined(MYTHEN3D) +#if defined(JUNGFRAUD) || defined(MOENCHD) || defined(CHIPTESTBOARDD) validate(&ret, mess, val, retval, "set high voltage", DEC); #endif +#endif + #ifdef GOTTHARDD if (retval == -1) { ret = FAIL; @@ -1270,7 +1301,7 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) { ind, getVLimit()); LOG(logERROR, (mess)); } -#ifdef CHIPTESTBOARDD + else if (!isPowerValid(serverDacIndex, val)) { ret = FAIL; sprintf( @@ -1279,10 +1310,14 @@ int validateAndSetDac(enum dacIndex ind, int val, int mV) { "should be between %d and %d mV\n", ind, (serverDacIndex == D_PWR_IO ? VIO_MIN_MV : POWER_RGLTR_MIN), +#ifdef CHIPTESTBOARDD (VCHIP_MAX_MV - VCHIP_POWER_INCRMNT)); +#else + POWER_RGLTR_MAX); +#endif LOG(logERROR, (mess)); } -#endif + else { setPower(serverDacIndex, val); } @@ -1618,40 +1653,35 @@ int get_adc(int file_des) { int write_register(int file_des) { ret = OK; memset(mess, 0, sizeof(mess)); - uint32_t args[2] = {-1, -1}; - uint32_t retval = -1; + uint32_t args[3] = {-1, -1, -1}; if (receiveData(file_des, args, sizeof(args), INT32) < 0) return printSocketReadError(); uint32_t addr = args[0]; uint32_t val = args[1]; - LOG(logDEBUG1, ("Writing to register 0x%x, data 0x%x\n", addr, val)); + uint32_t validate = args[2]; + LOG(logDEBUG1, ("Writing to register 0x%x, data 0x%x, validate:%d\n", addr, + val, validate)); // only set if (Server_VerifyLock() == OK) { -#ifdef GOTTHARDD - retval = writeRegister16And32(addr, val); -#elif EIGERD - if (writeRegister(addr, val) == FAIL) { +#if EIGERD + if (writeRegister(addr, val, validate) == FAIL) { ret = FAIL; sprintf(mess, "Could not write to register 0x%x.\n", addr); LOG(logERROR, (mess)); - } else { - if (readRegister(addr, &retval) == FAIL) { - ret = FAIL; - sprintf( - mess, - "Could not read register 0x%x or inconsistent values. Try " - "to read +0x100 for only left and +0x200 for only right.\n", - addr); - LOG(logERROR, (mess)); - } } #else - retval = writeRegister(addr, val); +#ifdef GOTTHARDD + writeRegister16And32(addr, val); + uint32_t retval = readRegister16And32(addr); +#else + writeRegister(addr, val); + uint32_t retval = readRegister(addr); #endif + LOG(logDEBUG1, ("Write register retval (0x%x): 0x%x\n", addr, retval)); // validate - if (ret == OK && retval != val) { + if (validate && ret == OK && retval != val) { ret = FAIL; sprintf( mess, @@ -1659,9 +1689,9 @@ int write_register(int file_des) { addr, val, retval); LOG(logERROR, (mess)); } - LOG(logDEBUG1, ("Write register (0x%x): 0x%x\n", retval)); +#endif } - return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); + return Server_SendResult(file_des, INT32, NULL, 0); } int read_register(int file_des) { @@ -1676,9 +1706,7 @@ int read_register(int file_des) { LOG(logDEBUG1, ("Reading from register 0x%x\n", addr)); // get -#ifdef GOTTHARDD - retval = readRegister16And32(addr); -#elif EIGERD +#if EIGERD if (readRegister(addr, &retval) == FAIL) { ret = FAIL; sprintf(mess, @@ -1687,6 +1715,8 @@ int read_register(int file_des) { addr); LOG(logERROR, (mess)); } +#elif GOTTHARDD + retval = readRegister16And32(addr); #else retval = readRegister(addr); #endif @@ -1973,123 +2003,123 @@ int acquire(int blocking, int file_des) { } // only set if (Server_VerifyLock() == OK) { -#if defined(XILINX_CHIPTESTBOARDD) +#if defined(XILINX_CHIPTESTBOARDD) || defined(GOTTHARD2D) if (!isChipConfigured()) { ret = FAIL; strcpy(mess, "Could not start acquisition. Chip is not configured. " "Power it on to configure it.\n"); LOG(logERROR, (mess)); - } else if ((getReadoutMode() == TRANSCEIVER_ONLY || - getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && - (isTransceiverAligned() == 0)) { + } +#if defined(XILINX_CHIPTESTBOARDD) + else if ((getReadoutMode() == TRANSCEIVER_ONLY || + getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && + (isTransceiverAligned() == 0)) { ret = FAIL; strcpy(mess, "Could not start acquisition. Transceiver not " "aligned. Use configtransceiver command.\n"); LOG(logERROR, (mess)); - } else + } +#endif + else #endif #if defined(JUNGFRAUD) // chipv1.1 has to be configured before acquisition if (getChipVersion() == 11 && !isChipConfigured()) { - ret = FAIL; - strcpy(mess, - "Could not start acquisition. Chip is not configured. " - "Power it on to configure it.\n"); - LOG(logERROR, (mess)); - } else + ret = FAIL; + strcpy(mess, "Could not start acquisition. Chip is not configured. " + "Power it on to configure it.\n"); + LOG(logERROR, (mess)); + } else #endif #if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD) - if ((getReadoutMode() == ANALOG_AND_DIGITAL || - getReadoutMode() == ANALOG_ONLY) && - (getNumAnalogSamples() <= 0)) { - ret = FAIL; - sprintf(mess, - "Could not start acquisition. Invalid number of analog " - "samples: %d.\n", - getNumAnalogSamples()); - LOG(logERROR, (mess)); - } else if ((getReadoutMode() == ANALOG_AND_DIGITAL || - getReadoutMode() == DIGITAL_ONLY || - getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && - (getNumDigitalSamples() <= 0)) { - ret = FAIL; - sprintf( - mess, + if ((getReadoutMode() == ANALOG_AND_DIGITAL || + getReadoutMode() == ANALOG_ONLY) && + (getNumAnalogSamples() <= 0)) { + ret = FAIL; + sprintf(mess, + "Could not start acquisition. Invalid number of analog " + "samples: %d.\n", + getNumAnalogSamples()); + LOG(logERROR, (mess)); + } else if ((getReadoutMode() == ANALOG_AND_DIGITAL || + getReadoutMode() == DIGITAL_ONLY || + getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && + (getNumDigitalSamples() <= 0)) { + ret = FAIL; + sprintf(mess, "Could not start acquisition. Invalid number of digital " "samples: %d.\n", getNumDigitalSamples()); - LOG(logERROR, (mess)); - } else if ((getReadoutMode() == TRANSCEIVER_ONLY || - getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && - (getNumTransceiverSamples() <= 0)) { - ret = FAIL; - sprintf(mess, - "Could not start acquisition. Invalid number of " - "transceiver " - "samples: %d.\n", - getNumTransceiverSamples()); - LOG(logERROR, (mess)); - } else + LOG(logERROR, (mess)); + } else if ((getReadoutMode() == TRANSCEIVER_ONLY || + getReadoutMode() == DIGITAL_AND_TRANSCEIVER) && + (getNumTransceiverSamples() <= 0)) { + ret = FAIL; + sprintf(mess, + "Could not start acquisition. Invalid number of " + "transceiver " + "samples: %d.\n", + getNumTransceiverSamples()); + LOG(logERROR, (mess)); + } else #endif #ifdef EIGERD - // check for hardware mac and hardware ip - if (udpDetails[0].srcmac != getDetectorMAC()) { - ret = FAIL; - uint64_t sourcemac = getDetectorMAC(); - char src_mac[MAC_ADDRESS_SIZE]; - getMacAddressinString(src_mac, MAC_ADDRESS_SIZE, sourcemac); - sprintf(mess, - "Invalid udp source mac address for this detector. " - "Must be " - "same as hardware detector mac address %s\n", - src_mac); - LOG(logERROR, (mess)); - } else if (!enableTenGigabitEthernet(GET_FLAG) && - (udpDetails[0].srcip != getDetectorIP())) { - ret = FAIL; - uint32_t sourceip = getDetectorIP(); - char src_ip[INET_ADDRSTRLEN]; - getIpAddressinString(src_ip, sourceip); - sprintf( - mess, - "Invalid udp source ip address for this detector. Must " - "be " - "same as hardware detector ip address %s in 1G readout " - "mode \n", - src_ip); - LOG(logERROR, (mess)); - } else + // check for hardware mac and hardware ip + if (udpDetails[0].srcmac != getDetectorMAC()) { + ret = FAIL; + uint64_t sourcemac = getDetectorMAC(); + char src_mac[MAC_ADDRESS_SIZE]; + getMacAddressinString(src_mac, MAC_ADDRESS_SIZE, sourcemac); + sprintf(mess, + "Invalid udp source mac address for this detector. " + "Must be " + "same as hardware detector mac address %s\n", + src_mac); + LOG(logERROR, (mess)); + } else if (!enableTenGigabitEthernet(GET_FLAG) && + (udpDetails[0].srcip != getDetectorIP())) { + ret = FAIL; + uint32_t sourceip = getDetectorIP(); + char src_ip[INET_ADDRSTRLEN]; + getIpAddressinString(src_ip, sourceip); + sprintf(mess, + "Invalid udp source ip address for this detector. Must " + "be " + "same as hardware detector ip address %s in 1G readout " + "mode \n", + src_ip); + LOG(logERROR, (mess)); + } else #endif - if (configured == FAIL) { - ret = FAIL; - strcpy(mess, "Could not start acquisition because "); - strcat(mess, configureMessage); - LOG(logERROR, (mess)); - } else if (sharedMemory_getScanStatus() == RUNNING) { - ret = FAIL; - strcpy(mess, - "Could not start acquisition because a scan is " - "already running!\n"); - LOG(logERROR, (mess)); - } else { - memset(scanErrMessage, 0, MAX_STR_LENGTH); - sharedMemory_setScanStop(0); - sharedMemory_setScanStatus(IDLE); // if it was error - if (pthread_create(&pthread_tid, NULL, &start_state_machine, - &blocking)) { - ret = FAIL; - strcpy(mess, "Could not start acquisition thread!\n"); - LOG(logERROR, (mess)); - } else { - // wait for blocking always (scan or not) - // non blocking-no scan also wait (for error message) - // non blcoking-scan dont wait (there is - // scanErrorMessage) - if (blocking || !scan) { - pthread_join(pthread_tid, NULL); - } - } + if (configured == FAIL) { + ret = FAIL; + strcpy(mess, "Could not start acquisition because "); + strcat(mess, configureMessage); + LOG(logERROR, (mess)); + } else if (sharedMemory_getScanStatus() == RUNNING) { + ret = FAIL; + strcpy(mess, "Could not start acquisition because a scan is " + "already running!\n"); + LOG(logERROR, (mess)); + } else { + memset(scanErrMessage, 0, MAX_STR_LENGTH); + sharedMemory_setScanStop(0); + sharedMemory_setScanStatus(IDLE); // if it was error + if (pthread_create(&pthread_tid, NULL, &start_state_machine, + &blocking)) { + ret = FAIL; + strcpy(mess, "Could not start acquisition thread!\n"); + LOG(logERROR, (mess)); + } else { + // wait for blocking always (scan or not) + // non blocking-no scan also wait (for error message) + // non blcoking-scan dont wait (there is + // scanErrorMessage) + if (blocking || !scan) { + pthread_join(pthread_tid, NULL); } + } + } } return Server_SendResult(file_des, INT32, NULL, 0); } @@ -4111,7 +4141,7 @@ int power_chip(int file_des) { } } #endif -#ifdef XILINX_CHIPTESTBOARDD +#if defined(XILINX_CHIPTESTBOARDD) || defined(GOTTHARD2D) if (ret == OK) { if (arg != -1) { if (arg != 0 && arg != 1) { @@ -4680,7 +4710,8 @@ int set_next_frame_number(int file_des) { LOG(logDEBUG1, ("Setting next frame number to %llu\n", arg)); #if !defined(EIGERD) && !defined(JUNGFRAUD) && !defined(MOENCHD) && \ - !defined(CHIPTESTBOARDD) && !defined(XILINX_CHIPTESTBOARDD) + !defined(CHIPTESTBOARDD) && !defined(XILINX_CHIPTESTBOARDD) && \ + !defined(GOTTHARD2D) functionNotImplemented(); #else // only set @@ -4759,7 +4790,8 @@ int get_next_frame_number(int file_des) { LOG(logDEBUG1, ("Getting next frame number \n")); #if !defined(EIGERD) && !defined(JUNGFRAUD) && !defined(MOENCHD) && \ - !defined(CHIPTESTBOARDD) && !defined(XILINX_CHIPTESTBOARDD) + !defined(CHIPTESTBOARDD) && !defined(XILINX_CHIPTESTBOARDD) && \ + !defined(GOTTHARD2D) functionNotImplemented(); #else // get @@ -5981,11 +6013,9 @@ int get_clock_frequency(int file_des) { case ADC_CLOCK: c = ADC_CLK; break; -#ifdef CHIPTESTBOARDD case DBIT_CLOCK: c = DBIT_CLK; break; -#endif case RUN_CLOCK: c = RUN_CLK; break; @@ -6050,7 +6080,11 @@ int set_clock_phase(int file_des) { #endif default: #if defined(GOTTHARD2D) || defined(MYTHEN3D) - if (ind < NUM_CLOCKS) { +#ifdef MYTHEN3D + if (args[0] < NUM_CLOCKS_TO_SET) { +#else + if (args[0] < NUM_CLOCKS) { +#endif c = (enum CLKINDEX)ind; break; } @@ -6719,8 +6753,8 @@ int set_burst_mode(int file_des) { if (Server_VerifyLock() == OK) { switch (arg) { case BURST_INTERNAL: - case BURST_EXTERNAL: - case CONTINUOUS_INTERNAL: + // case BURST_EXTERNAL: + // case CONTINUOUS_INTERNAL: case CONTINUOUS_EXTERNAL: break; default: @@ -8439,7 +8473,8 @@ int start_readout(int file_des) { #else if (Server_VerifyLock() == OK) { enum runStatus s = getRunStatus(); - if (s == RUNNING || s == WAITING) { + if ((s == RUNNING || s == WAITING) && + (myDetectorType != XILINX_CHIPTESTBOARD)) { ret = FAIL; strcpy(mess, "Could not start readout because the detector is " "already running!\n"); @@ -9658,7 +9693,7 @@ int get_readout_speed(int file_des) { LOG(logDEBUG1, ("Getting readout speed\n")); #if !defined(JUNGFRAUD) && !defined(MOENCHD) && !defined(EIGERD) && \ - !defined(GOTTHARD2D) + !defined(GOTTHARD2D) && !defined(MYTHEN3D) functionNotImplemented(); #else // get only @@ -9682,7 +9717,7 @@ int set_readout_speed(int file_des) { LOG(logDEBUG1, ("Setting readout speed : %u\n", arg)); #if !defined(JUNGFRAUD) && !defined(MOENCHD) && !defined(EIGERD) && \ - !defined(GOTTHARD2D) + !defined(GOTTHARD2D) && !defined(MYTHEN3D) functionNotImplemented(); #else // only set @@ -9698,7 +9733,8 @@ int set_readout_speed(int file_des) { #endif if (ret == OK) { switch (arg) { -#if defined(EIGERD) || defined(JUNGFRAUD) || defined(MOENCHD) +#if defined(EIGERD) || defined(JUNGFRAUD) || defined(MOENCHD) || \ + defined(MYTHEN3D) case FULL_SPEED: case HALF_SPEED: case QUARTER_SPEED: @@ -10562,13 +10598,15 @@ int get_frontend_firmware_version(int file_des) { int set_bit(int file_des) { ret = OK; memset(mess, 0, sizeof(mess)); - uint32_t args[2] = {-1, -1}; + uint32_t args[3] = {-1, -1, -1}; if (receiveData(file_des, args, sizeof(args), INT32) < 0) return printSocketReadError(); uint32_t addr = args[0]; int nBit = (int)args[1]; - LOG(logDEBUG1, ("Setting bit %d of reg 0x%x\n", nBit, addr)); + uint32_t validate = args[2]; + LOG(logDEBUG1, + ("Setting bit %d of reg 0x%x, validate:%d\n", nBit, addr, validate)); // only set if (Server_VerifyLock() == OK) { @@ -10581,20 +10619,23 @@ int set_bit(int file_des) { LOG(logERROR, (mess)); } else { #ifdef EIGERD - ret = setBit(addr, nBit); - if (ret == FAIL) { + ret = setBit(addr, nBit, validate); #else uint32_t bitmask = (1 << nBit); #ifdef GOTTHARDD uint32_t val = readRegister16And32(addr) | bitmask; - uint32_t retval = writeRegister16And32(addr, val); + writeRegister16And32(addr, val); + uint32_t retval = readRegister16And32(addr) | bitmask; #else uint32_t val = readRegister(addr) | bitmask; - uint32_t retval = writeRegister(addr, val); + writeRegister(addr, val); + uint32_t retval = readRegister(addr) | bitmask; #endif - if (!(retval & bitmask)) { + if (validate && (!(retval & bitmask))) { ret = FAIL; + } #endif + if (ret == FAIL) { sprintf(mess, "Could not set bit %d.\n", nBit); LOG(logERROR, (mess)); } @@ -10606,13 +10647,15 @@ int set_bit(int file_des) { int clear_bit(int file_des) { ret = OK; memset(mess, 0, sizeof(mess)); - uint32_t args[2] = {-1, -1}; + uint32_t args[3] = {-1, -1, -1}; if (receiveData(file_des, args, sizeof(args), INT32) < 0) return printSocketReadError(); uint32_t addr = args[0]; int nBit = (int)args[1]; - LOG(logDEBUG1, ("Clearing bit %d of reg 0x%x\n", nBit, addr)); + uint32_t validate = args[2]; + LOG(logDEBUG1, + ("Clearing bit %d of reg 0x%x, validate:%d\n", nBit, addr, validate)); // only set if (Server_VerifyLock() == OK) { @@ -10625,20 +10668,23 @@ int clear_bit(int file_des) { LOG(logERROR, (mess)); } else { #ifdef EIGERD - ret = clearBit(addr, nBit); - if (ret == FAIL) { + ret = clearBit(addr, nBit, validate); #else uint32_t bitmask = (1 << nBit); #ifdef GOTTHARDD uint32_t val = readRegister16And32(addr) & ~bitmask; - uint32_t retval = writeRegister16And32(addr, val); + writeRegister16And32(addr, val); + uint32_t retval = readRegister16And32(addr) & ~bitmask; #else uint32_t val = readRegister(addr) & ~bitmask; - uint32_t retval = writeRegister(addr, val); + writeRegister(addr, val); + uint32_t retval = readRegister(addr) & ~bitmask; #endif - if (retval & bitmask) { + if (validate && (retval & bitmask)) { ret = FAIL; + } #endif + if (ret == FAIL) { sprintf(mess, "Could not clear bit %d.\n", nBit); LOG(logERROR, (mess)); } @@ -11049,3 +11095,121 @@ int config_transceiver(int file_des) { #endif return Server_SendResult(file_des, INT32, NULL, 0); } + +int get_timing_info_decoder(int file_des) { + ret = OK; + memset(mess, 0, sizeof(mess)); + enum timingInfoDecoder retval = SWISSFEL; + + LOG(logDEBUG1, ("Getting timing info decoder\n")); + +#ifndef JUNGFRAUD + functionNotImplemented(); +#else + // get only + ret = getTimingInfoDecoder(&retval); + LOG(logDEBUG1, ("retval timing info decoder: %d\n", retval)); + if (ret == FAIL) { + strcpy(mess, "Could not get timing info decoder\n"); + LOG(logERROR, (mess)); + } +#endif + return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); +} + +int set_timing_info_decoder(int file_des) { + ret = OK; + memset(mess, 0, sizeof(mess)); + enum timingInfoDecoder arg = SWISSFEL; + + if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0) + return printSocketReadError(); + LOG(logDEBUG1, ("Setting timing info decoder: %u\n", (int)arg)); + +#ifndef JUNGFRAUD + functionNotImplemented(); +#else + // only set + if (Server_VerifyLock() == OK) { + switch (arg) { + case SWISSFEL: + case SHINE: + break; + default: + modeNotImplemented("Timing info decoder index", (int)arg); + break; + } + if (ret == OK) { + ret = setTimingInfoDecoder(arg); + if (ret == FAIL) { + sprintf(mess, "Could not set timing info decoder\n"); + LOG(logERROR, (mess)); + } else { + enum timingInfoDecoder retval = SWISSFEL; + ret = getTimingInfoDecoder(&retval); + if (ret == FAIL) { + strcpy(mess, "Could not get timing info decoder\n"); + LOG(logERROR, (mess)); + } else { + LOG(logDEBUG1, + ("timing info decoder retval: %u\n", retval)); + validate(&ret, mess, (int)arg, (int)retval, + "set timing info decoder", DEC); + } + } + } + } +#endif + return Server_SendResult(file_des, INT32, NULL, 0); +} + +int get_collection_mode(int file_des) { + ret = OK; + memset(mess, 0, sizeof(mess)); + enum collectionMode retval = HOLE; + + LOG(logDEBUG1, ("Getting collection mode\n")); + +#ifndef JUNGFRAUD + functionNotImplemented(); +#else + // get only + retval = getElectronCollectionMode() ? ELECTRON : HOLE; + LOG(logDEBUG1, ("collection mode retval: %u\n", retval)); +#endif + return Server_SendResult(file_des, INT32, &retval, sizeof(retval)); +} + +int set_collection_mode(int file_des) { + ret = OK; + memset(mess, 0, sizeof(mess)); + enum collectionMode arg = HOLE; + + if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0) + return printSocketReadError(); + LOG(logDEBUG1, ("Setting collection mode: %u\n", (int)arg)); + +#ifndef JUNGFRAUD + functionNotImplemented(); +#else + // only set + if (Server_VerifyLock() == OK) { + switch (arg) { + case HOLE: + setElectronCollectionMode(0); + break; + case ELECTRON: + setElectronCollectionMode(1); + break; + default: + modeNotImplemented("Collection mode index", (int)arg); + break; + } + enum collectionMode retval = + getElectronCollectionMode() ? ELECTRON : HOLE; + validate(&ret, mess, (int)arg, (int)retval, "set collection mode", DEC); + LOG(logDEBUG1, ("collection mode retval: %u\n", retval)); + } +#endif + return Server_SendResult(file_des, INT32, NULL, 0); +} diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/Makefile b/slsDetectorServers/xilinx_ctbDetectorServer/Makefile index e8589a5c7..06a4d986d 100755 --- a/slsDetectorServers/xilinx_ctbDetectorServer/Makefile +++ b/slsDetectorServers/xilinx_ctbDetectorServer/Makefile @@ -23,6 +23,10 @@ SRCS += $(main_src)slsDetectorServer.c $(main_src)slsDetectorServer_funcs.c $(m OBJS = $(SRCS:.c=.o) all: clean $(PROGS) + +local: CC := gcc +local: clean $(PROGS) + version: clean versioning $(PROGS) boot: $(OBJS) diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/RegisterDefs.h b/slsDetectorServers/xilinx_ctbDetectorServer/RegisterDefs.h index 1bd4ca554..3563a8b82 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/RegisterDefs.h +++ b/slsDetectorServers/xilinx_ctbDetectorServer/RegisterDefs.h @@ -817,18 +817,16 @@ #define MATTERHORNSPICTRL (0x608) -#define MATTERHORNSPICTRL_EN_OFST (0) -#define MATTERHORNSPICTRL_EN_MSK (0x00000001 << MATTERHORNSPICTRL_EN_OFST) -#define CONFIGSTART_OFST (1) -#define CONFIGSTART_MSK (0x00000001 << CONFIGSTART_OFST) -#define START_P_OFST (2) -#define START_P_MSK (0x00000001 << START_P_OFST) -#define STARTREAD_P_OFST (3) -#define STARTREAD_P_MSK (0x00000001 << STARTREAD_P_OFST) -#define BUSY_OFST (4) -#define BUSY_MSK (0x00000001 << BUSY_OFST) -#define READOUTFROMASIC_OFST (5) -#define READOUTFROMASIC_MSK (0x00000001 << READOUTFROMASIC_OFST) +#define CONFIGSTART_P_OFST (0) +#define CONFIGSTART_P_MSK (0x00000001 << CONFIGSTART_P_OFST) +#define PERIPHERYRST_P_OFST (1) +#define PERIPHERYRST_P_MSK (0x00000001 << PERIPHERYRST_P_OFST) +#define STARTREAD_P_OFST (2) +#define STARTREAD_P_MSK (0x00000001 << STARTREAD_P_OFST) +#define BUSY_OFST (3) +#define BUSY_MSK (0x00000001 << BUSY_OFST) +#define READOUTFROMASIC_OFST (4) +#define READOUTFROMASIC_MSK (0x00000001 << READOUTFROMASIC_OFST) #define EMPTY60CREG (0x60C) @@ -905,6 +903,8 @@ #define RESETRXPLLANDDATAPATH_MSK (0x00000001 << RESETRXPLLANDDATAPATH_OFST) #define RESETRXDATAPATHIN_OFST (4) #define RESETRXDATAPATHIN_MSK (0x00000001 << RESETRXDATAPATHIN_OFST) +#define RXPOLARITY_OFST (5) +#define RXPOLARITY_MSK (0x0000000f << RXPOLARITY_OFST) #define EMPTY65CREG (0x65C) diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer b/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer index 20f329de2..6a6494d3c 100755 Binary files a/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer and b/slsDetectorServers/xilinx_ctbDetectorServer/bin/xilinx_ctbDetectorServer_developer differ diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c index caa446311..142063da0 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c @@ -39,8 +39,6 @@ char initErrorMessage[MAX_STR_LENGTH]; int detPos[2] = {0, 0}; -int adcDeviceIndex = 0; -int dacDeviceIndex = 0; int chipConfigured = 0; int analogEnable = 0; int digitalEnable = 0; @@ -75,8 +73,7 @@ void basictests() { return; } - initError = - loadDeviceTree(initErrorMessage, &adcDeviceIndex, &dacDeviceIndex); + initError = loadDeviceTree(initErrorMessage); if (initError == FAIL) { return; } @@ -390,7 +387,7 @@ void setupDetector() { initializePatternWord(); #endif // initialization only at start up (restart fpga) - initError = waitTranseiverReset(initErrorMessage); + initError = waitTransceiverReset(initErrorMessage); if (initError == FAIL) { return; } @@ -400,9 +397,8 @@ void setupDetector() { return; } - LTC2620_D_SetDefines(DAC_MAX_MV, DAC_MIN_MV, DAC_DRIVER_FILE_NAME, NDAC, - DAC_DRIVER_NUM_DEVICES, dacDeviceIndex, - DAC_POWERDOWN_DRIVER_FILE_NAME); + LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, + NPWR, DAC_POWERDOWN_DRIVER_FILE_NAME); LOG(logINFOBLUE, ("Powering down all dacs\n")); for (int idac = 0; idac < NDAC; ++idac) { setDAC(idac, LTC2620_D_GetPowerDownValue(), 0); @@ -458,7 +454,7 @@ void resetFlow() { bus_w(FLOW_CONTROL_REG, bus_r(FLOW_CONTROL_REG) & ~RST_F_MSK); } -int waitTranseiverReset(char *mess) { +int waitTransceiverReset(char *mess) { #ifndef VIRTUAL int resetTransceiverDone = (bus_r(TRANSCEIVERSTATUS) & RESETRXDONE_MSK); int times = 0; @@ -473,11 +469,6 @@ int waitTranseiverReset(char *mess) { sprintf(mess, "Resetting transceiver timed out, time:%.2fs\n", (timeNs / (1E9))); LOG(logERROR, (mess)); - - LOG(logINFORED, ("Waiting for Firmware to be fixed here. Skipping " - "this error for now.\n")); - return OK; - return FAIL; } usleep(0); @@ -556,17 +547,14 @@ int powerChip(int on, char *mess) { POWER_VCC_C_MSK | POWER_VCC_D_MSK; if (on) { LOG(logINFOBLUE, ("Powering chip: on\n")); - bus_w(addr, bus_r(addr) & ~mask); + bus_w(addr, bus_r(addr) | mask); if (configureChip(mess) == FAIL) return FAIL; - startPeriphery(); - - chipConfigured = 1; } else { LOG(logINFOBLUE, ("Powering chip: off\n")); - bus_w(addr, bus_r(addr) | mask); + bus_w(addr, bus_r(addr) & ~mask); chipConfigured = 0; @@ -577,6 +565,12 @@ int powerChip(int on, char *mess) { if (isTransceiverAligned()) { sprintf(mess, "Transceiver alignment not reset\n"); LOG(logERROR, (mess)); + + // to be removed when fixed later + LOG(logWARNING, + ("Bypassing this error for now. To be fixed later...\n")); + return OK; + return FAIL; } LOG(logINFO, ("\tTransceiver alignment has been reset\n")); @@ -588,7 +582,7 @@ int getPowerChip() { uint32_t addr = CTRL_REG; uint32_t mask = POWER_VIO_MSK | POWER_VCC_A_MSK | POWER_VCC_B_MSK | POWER_VCC_C_MSK | POWER_VCC_D_MSK; - return (((bus_r(addr) & mask) == mask) ? 0 : 1); + return (((bus_r(addr) & mask) == mask) ? 1 : 0); } int configureChip(char *mess) { @@ -602,8 +596,8 @@ int configureChip(char *mess) { // start configuration uint32_t addr = MATTERHORNSPICTRL; - bus_w(addr, bus_r(addr) | CONFIGSTART_MSK); - bus_w(addr, bus_r(addr) & ~CONFIGSTART_MSK); + bus_w(addr, bus_r(addr) | CONFIGSTART_P_MSK); + bus_w(addr, bus_r(addr) & ~CONFIGSTART_P_MSK); // wait until configuration is done #ifndef VIRTUAL @@ -619,16 +613,11 @@ int configureChip(char *mess) { configDone = (bus_r(MATTERHORNSPICTRL) & BUSY_MSK); } #endif + chipConfigured = 1; LOG(logINFOBLUE, ("\tChip configured\n")); return OK; } -void startPeriphery() { - LOG(logINFOBLUE, ("\tStarting periphery\n")); - bus_w(MATTERHORNSPICTRL, bus_r(MATTERHORNSPICTRL) | START_P_MSK); - // TODO ? -} - /* set parameters - dr */ int setDynamicRange(int dr) { @@ -981,21 +970,8 @@ void setDAC(enum DACINDEX ind, int val, int mV) { LOG(logDEBUG1, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dacName, val, (mV ? "mV" : "dac units"))); int dacval = val; - -#ifdef VIRTUAL - LOG(logINFO, ("Setting dac[%d - %s]: %d %s \n", (int)ind, dacName, val, - (mV ? "mV" : "dac units"))); - if (!mV) { - dacValues[ind] = val; - } - // convert to dac units - else if (LTC2620_D_VoltageToDac(val, &dacval) == OK) { - dacValues[ind] = dacval; - } -#else if (LTC2620_D_SetDACValue((int)ind, val, mV, dacName, &dacval) == OK) dacValues[ind] = dacval; -#endif } int getDAC(enum DACINDEX ind, int mV) { @@ -1045,74 +1021,91 @@ void setVLimit(int l) { vLimit = l; } -int getPower(enum DACINDEX ind) { - // check power enable first - uint32_t addr = CTRL_REG; - uint32_t offset = POWER_VCC_A_OFST + (int)(D_PWR_A - ind); - if (ind == D_PWR_IO) - offset = POWER_VIO_OFST; - uint32_t mask = (1 << offset); - if ((bus_r(addr) & mask) != 0) { - LOG(logINFO, ("Power for dac %d is off\n", ind)); +int isPowerValid(enum DACINDEX ind, int val) { + char *powerNames[] = {PWR_NAMES}; + int pwrIndex = (int)(ind - D_PWR_D); + + int min = POWER_RGLTR_MIN; + if (!strcmp(powerNames[pwrIndex], "IO")) { + min = VIO_MIN_MV; + } + + // not power_rgltr_max because it is allowed only upto vchip max - 200 + if (val != 0 && (val != LTC2620_D_GetPowerDownValue()) && + (val < min || val > POWER_RGLTR_MAX)) { + LOG(logERROR, + ("Invalid value of %d mV for Power V%s. Is not between %d and " + "%d mV\n", + val, powerNames[pwrIndex], min, POWER_RGLTR_MAX)); return 0; } + return 1; +} + +int getPower(enum DACINDEX ind) { + char *powerNames[] = {PWR_NAMES}; + int pwrIndex = (int)(ind - D_PWR_D); // check dac value // not set yet if (dacValues[ind] == -1) { LOG(logERROR, - ("Power enabled, but unknown dac value for power index %d!", ind)); + ("Unknown dac value for Power V%s!\n", powerNames[pwrIndex])); return -1; } // dac powered off if (dacValues[ind] == LTC2620_D_GetPowerDownValue()) { - LOG(logWARNING, - ("Power %d enabled, dac value %d, voltage at minimum or 0\n", ind, - LTC2620_D_GetPowerDownValue())); + LOG(logWARNING, ("Power V%s powered down\n", powerNames[pwrIndex])); return LTC2620_D_GetPowerDownValue(); } // get dac in mV - // (unless its a different voltage range compared to other dacs) - return getDAC(ind, 1); + int retval = -1; + ConvertToDifferentRange(LTC2620_D_GetMaxInput(), LTC2620_D_GetMinInput(), + POWER_RGLTR_MIN, POWER_RGLTR_MAX, dacValues[ind], + &retval); + + return retval; } void setPower(enum DACINDEX ind, int val) { + char *powerNames[] = {PWR_NAMES}; + int pwrIndex = (int)(ind - D_PWR_D); - uint32_t addr = CTRL_REG; - uint32_t offset = POWER_VCC_A_OFST + (int)(D_PWR_A - ind); - if (ind == D_PWR_IO) - offset = POWER_VIO_OFST; - uint32_t mask = (1 << offset); - - if (val >= 0 || val == LTC2620_D_GetPowerDownValue()) { - if (val > 0) { - LOG(logINFO, ("Setting Power to %d mV\n", val)); - } - - // switch off power enable - LOG(logINFO, ("\tSwitching off enable for P%d (ctrl reg)\n", - (int)(ind - D_PWR_A))); - bus_w(addr, bus_r(addr) | mask); - - // power down dac - LOG(logINFO, ("\tPowering down P%d\n", (int)(ind - D_PWR_A))); + // power down dac + if (val == LTC2620_D_GetPowerDownValue()) { + LOG(logINFO, ("\tPowering down V%d\n", powerNames[pwrIndex])); setDAC(ind, LTC2620_D_GetPowerDownValue(), 0); + } - // set dac in mV - if (val > 0) { - LOG(logINFO, ("\tSetting Power P%d (DAC %d) to %d mV\n", - (int)(ind - D_PWR_A), (int)ind, val)); - setDAC(ind, val, 1); + // set dac + else if (val >= 0) { + LOG(logINFO, + ("Setting Power V%s to %d mV\n", powerNames[pwrIndex], val)); + + // validate value (already checked at tcp (funcs.c)) + if (!isPowerValid(ind, val)) { + return; } - // switch on power enable - if (getDAC(ind, 1) == val || val == LTC2620_D_GetPowerDownValue()) { - LOG(logINFO, ("\tSwitching on enable for P%d (ctrl reg)\n", - (int)(ind - D_PWR_A))); - bus_w(addr, bus_r(addr) & ~mask); + // convert voltage to dac + int dacval = -1; + if (ConvertToDifferentRange( + POWER_RGLTR_MIN, POWER_RGLTR_MAX, LTC2620_D_GetMaxInput(), + LTC2620_D_GetMinInput(), val, &dacval) == FAIL) { + LOG(logERROR, + ("\tCannot convert Power V%s to dac value. Invalid value of %d " + "mV. Is not between " + "%d and %d mV\n", + powerNames[pwrIndex], val, POWER_RGLTR_MIN, POWER_RGLTR_MAX)); + return; } + + // set and power on/ update dac + LOG(logINFO, ("Setting Power V%s: %d mV (%d dac)\n", + powerNames[pwrIndex], val, dacval)); + setDAC(ind, dacval, 0); } } @@ -1147,13 +1140,13 @@ int getSlowADC(int ichan, int *retval) { #ifndef VIRTUAL char fname[MAX_STR_LENGTH]; memset(fname, 0, MAX_STR_LENGTH); - sprintf(fname, SLOWADC_DRIVER_FILE_NAME, adcDeviceIndex, ichan); + sprintf(fname, SLOWADC_DRIVER_FILE_NAME, ichan); LOG(logDEBUG1, ("fname %s\n", fname)); - if (readADCFromFile(fname, retval) == FAIL) { + if (readParameterFromFile(fname, "slow adc", retval) == FAIL) { + LOG(logERROR, ("Could not get slow adc\n")); return FAIL; } - // TODO assuming already converted to uV // convert to uV // double value = SLOWDAC_CONVERTION_FACTOR_TO_UV * (double)(*retval); @@ -1168,11 +1161,11 @@ int getSlowADC(int ichan, int *retval) { int getTemperature(int *retval) { *retval = 0; #ifndef VIRTUAL - if (readADCFromFile(TEMP_DRIVER_FILE_NAME, retval) == FAIL) { + if (readParameterFromFile(TEMP_DRIVER_FILE_NAME, "temperature", retval) == + FAIL) { + LOG(logERROR, ("Could not get temperature\n")); return FAIL; } - - // value already in millidegree celsius LOG(logINFO, ("Temperature: %.2f °C\n", (double)(*retval) / 1000.00)); #endif return OK; @@ -1223,14 +1216,21 @@ void calcChecksum(udp_header *udp) { // ignore ethertype (from udp header) addr++; + // ignore udp_srcmac_lsb (from udp header) + addr++; + addr++; - // from identification to srcip_lsb + // from ip_protocol to ip_checksum while (count > 2) { sum += *addr++; count -= 2; } - // ignore src udp port (from udp header) + // ignore udp_checksum (from udp header) + addr++; + // ignore udp_destport (from udp header) + addr++; + // ignore udp_srcport (from udp header) addr++; if (count > 0) @@ -1240,6 +1240,7 @@ void calcChecksum(udp_header *udp) { long int checksum = sum & 0xffff; checksum += UDP_IP_HEADER_LENGTH_BYTES; udp->ip_checksum = checksum; + LOG(logINFO, ("\tIP checksum: 0x%x\n", checksum)); } int configureMAC() { @@ -1334,7 +1335,7 @@ int startStateMachine() { #endif LOG(logINFOBLUE, ("Starting State Machine\n")); - cleanFifos(); + // cleanFifos(); removing this for now as its done before readout pattern // start state machine bus_w(FLOW_CONTROL_REG, bus_r(FLOW_CONTROL_REG) | START_F_MSK); @@ -1356,6 +1357,7 @@ int startStateMachine() { usleep(0); commaDet = (bus_r(TRANSCEIVERSTATUS) & RXCOMMADET_MSK); } + LOG(logINFORED, ("Kwords or end of acquisition detected\n")); return OK; } @@ -1516,6 +1518,7 @@ int startReadOut() { usleep(0); streamingBusy = (bus_r(STATUSREG1) & TRANSMISSIONBUSY_MSK); } + LOG(logINFORED, ("Streaming done\n")); return OK; } diff --git a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h index 288275dbd..54cb758de 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h @@ -25,18 +25,20 @@ #define DYNAMIC_RANGE (16) #define NUM_BYTES_PER_PIXEL (DYNAMIC_RANGE / 8) -#define DAC_DRIVER_NUM_DEVICES (3) -#define DAC_DRIVER_FILE_NAME \ - ("/sys/bus/iio/devices/iio:device%d/out_voltage%d_raw") -#define DAC_POWERDOWN_DRIVER_FILE_NAME \ - ("/sys/bus/iio/devices/iio:device%d/out_voltage%d_powerdown") +#define MAIN_APP_FOLDER "/root/apps/xilinx-ctb" +#define FIRMWARE_FILE MAIN_APP_FOLDER "/XilinxCTB.bit" +#define DEVICE_TREE_OVERLAY_FILE MAIN_APP_FOLDER "/pl.dtbo" +#define CURRENT_BOARD_LINKS_FOLDER MAIN_APP_FOLDER "/current_board_links" +#define IIO_DEVICE_FOLDER MAIN_APP_FOLDER "/iio_device_links" -#define SLOWADC_DRIVER_FILE_NAME \ - ("/sys/bus/iio/devices/iio:device%d/in_voltage%d_raw") -//#define SLOWDAC_CONVERTION_FACTOR_TO_UV (62.500953) +#define DEVICE_TREE_DST "/sys/bus/iio/devices/iio:device" +#define DEVICE_NAME_LIST "xilinx-ams", "ad7689", "dac@0", "dac@1", "dac@2" +#define DEVICE_TREE_API_FOLDER "/sys/kernel/config/device-tree/overlays/spidr" -#define TEMP_DRIVER_FILE_NAME \ - ("/sys/bus/iio/devices/iio:device0/in_temp7_input") +#define DAC_DRIVER_FILE_NAME CURRENT_BOARD_LINKS_FOLDER "/ao%d" +#define DAC_POWERDOWN_DRIVER_FILE_NAME CURRENT_BOARD_LINKS_FOLDER "/ao%d_pd" +#define SLOWADC_DRIVER_FILE_NAME CURRENT_BOARD_LINKS_FOLDER "/ai%d" +#define TEMP_DRIVER_FILE_NAME DEVICE_TREE_DST "0/in_temp7_input" /** Default Parameters */ #define DEFAULT_NUM_FRAMES (1) @@ -60,8 +62,11 @@ #define MAX_ANALOG_SAMPLES (0x3FFF) #define MAX_DIGITAL_SAMPLES (0x3FFF) -#define DAC_MIN_MV (0) -#define DAC_MAX_MV (2500) +#define DAC_MIN_MV (0) +#define DAC_MAX_MV (2048) +#define POWER_RGLTR_MIN (1041) +#define POWER_RGLTR_MAX (2661) +#define VIO_MIN_MV (1200) // for fpga to function #define TICK_CLK (20) // MHz (trig_timeFromStart, frametime, timeFromStart) #define RUN_CLK \ @@ -117,28 +122,35 @@ enum DACINDEX { D_PWR_C }; +#define PWR_NAMES "D", "_unknown", "IO", "A", "B", "C" + /* Struct Definitions */ +// For arm has to be multiple of 16 +// We dont byteswap in the upd_gen so the order has to be different typedef struct udp_header_struct { - uint32_t udp_destmac_msb; uint16_t udp_srcmac_msb; uint16_t udp_destmac_lsb; - uint32_t udp_srcmac_lsb; + uint32_t udp_destmac_msb; uint8_t ip_tos; uint8_t ip_ihl : 4, ip_ver : 4; uint16_t udp_ethertype; - uint16_t ip_identification; - uint16_t ip_totallength; + uint32_t udp_srcmac_lsb; uint8_t ip_protocol; uint8_t ip_ttl; uint16_t ip_fragmentoffset : 13, ip_flags : 3; - uint16_t ip_srcip_msb; - uint16_t ip_checksum; + uint16_t ip_identification; + uint16_t ip_totallength; uint16_t ip_destip_msb; uint16_t ip_srcip_lsb; - uint16_t udp_srcport; - uint16_t ip_destip_lsb; + uint16_t ip_srcip_msb; + uint16_t ip_checksum; uint16_t udp_checksum; uint16_t udp_destport; + uint16_t udp_srcport; + uint16_t ip_destip_lsb; + // padding + uint32_t padding0; + uint32_t padding1; } udp_header; #define IP_HEADER_SIZE (20) diff --git a/slsDetectorSoftware/CMakeLists.txt b/slsDetectorSoftware/CMakeLists.txt index e97f31bb9..e61084330 100755 --- a/slsDetectorSoftware/CMakeLists.txt +++ b/slsDetectorSoftware/CMakeLists.txt @@ -82,10 +82,11 @@ if(SLS_USE_TEXTCLIENT) set(det_bin_names "sls_detector_put" "sls_detector_get" "sls_detector_acquire" + "sls_detector_acquire_zmq" "sls_detector_help" "sls_detector" ) - set(det_cmd_name "PUT" "GET" "READOUT" "HELP" "INFER") + set(det_cmd_name "PUT" "GET" "READOUT" "READOUTZMQ" "HELP" "INFER") list(LENGTH det_bin_names len1) math(EXPR len2 "${len1} - 1") diff --git a/slsDetectorSoftware/generator/Caller.in.h b/slsDetectorSoftware/generator/Caller.in.h index 21c4ac098..79043d514 100644 --- a/slsDetectorSoftware/generator/Caller.in.h +++ b/slsDetectorSoftware/generator/Caller.in.h @@ -66,11 +66,14 @@ class Caller { int rx_id{-1}; private: - bool ReplaceIfDepreciated(std::string &command); + bool ReplaceIfDeprecated(std::string &command); using FunctionMap = std::map; using StringMap = std::map; Detector *ptr; // pointer to the detector that executes the command + static void EmptyDataCallBack(detectorData *data, uint64_t frameIndex, + uint32_t subFrameIndex, void *this_pointer); + FunctionMap functions{ {"list", &Caller::list}, @@ -78,7 +81,7 @@ class Caller { }; - StringMap depreciated_functions{ + StringMap deprecated_functions{ // THIS COMMENT TO BE REPLACED BY THE ACTUAL CODE (3) diff --git a/slsDetectorSoftware/generator/autocomplete/autocomplete.py b/slsDetectorSoftware/generator/autocomplete/autocomplete.py index 008531a05..513c2fa47 100644 --- a/slsDetectorSoftware/generator/autocomplete/autocomplete.py +++ b/slsDetectorSoftware/generator/autocomplete/autocomplete.py @@ -21,8 +21,8 @@ type_values = { "special::currentSourceFix": ["fix", "nofix"], "special::currentSourceLow": ["normal", "low"], "special::path": [], - "special::pedestal_parameters" : ["", "0"] - + "special::pedestal_parameters" : ["", "0"], + "special::validate": ["--validate"] } diff --git a/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh b/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh index dc698ef1b..2da4347ed 100644 --- a/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh +++ b/slsDetectorSoftware/generator/autocomplete/bash_autocomplete.sh @@ -80,7 +80,7 @@ _sd() { local IS_PATH=0 -local SLS_COMMANDS=" acquire activate adcclk adcenable adcenable10g adcindex adcinvert adclist adcname adcphase adcpipeline adcreg adcvpp apulse asamples autocompdisable badchannels blockingtrigger burstmode burstperiod bursts burstsl bustest cdsgain chipversion clearbit clearbusy clearroi clientversion clkdiv clkfreq clkphase column compdisabletime confadc config configtransceiver counters currentsource dac dacindex daclist dacname dacvalues datastream dbitclk dbitphase dbitpipeline defaultdac defaultpattern delay delayl detectorserverversion detsize diodelay dpulse dr drlist dsamples execcommand exptime exptime1 exptime2 exptime3 exptimel extrastoragecells extsampling extsamplingsrc extsig fformat filtercells filterresistor findex firmwaretest firmwareversion fliprows flowcontrol10g fmaster fname foverwrite fpath framecounter frames framesl frametime free fwrite gaincaps gainmode gappixels gatedelay gatedelay1 gatedelay2 gatedelay3 gates getbit hardwareversion highvoltage hostname im_a im_b im_c im_d im_io imagetest initialchecks inj_ch interpolation interruptsubframe kernelversion lastclient led lock master maxadcphaseshift maxclkphaseshift maxdbitphaseshift measuredperiod measuredsubperiod moduleid nextframenumber nmod numinterfaces overflow packageversion parallel parameters partialreset patfname patioctrl patlimits patloop patloop0 patloop1 patloop2 patmask patnloop patnloop0 patnloop1 patnloop2 patsetbit patternX patternstart patwait patwait0 patwait1 patwait2 patwaittime patwaittime0 patwaittime1 patwaittime2 patword pedestalmode period periodl polarity port powerchip powerindex powerlist powername powervalues programfpga pulse pulsechip pulsenmove pumpprobe quad ratecorr readnrows readout readoutspeed readoutspeedlist rebootcontroller reg resetdacs resetfpga roi romode row runclk runtime rx_arping rx_clearroi rx_dbitlist rx_dbitoffset rx_discardpolicy rx_fifodepth rx_frameindex rx_framescaught rx_framesperfile rx_hostname rx_jsonaddheader rx_jsonpara rx_lastclient rx_lock rx_missingpackets rx_padding rx_printconfig rx_realudpsocksize rx_roi rx_silent rx_start rx_status rx_stop rx_tcpport rx_threads rx_udpsocksize rx_version rx_zmqfreq rx_zmqhwm rx_zmqip rx_zmqport rx_zmqstartfnum rx_zmqstream samples savepattern scan scanerrmsg selinterface serialnumber setbit settings settingslist settingspath signalindex signallist signalname slowadc slowadcindex slowadclist slowadcname slowadcvalues start status stop stopport storagecell_delay storagecell_start subdeadtime subexptime sync syncclk temp_10ge temp_adc temp_control temp_dcdc temp_event temp_fpga temp_fpgaext temp_fpgafl temp_fpgafr temp_slowadc temp_sodl temp_sodr temp_threshold templist tempvalues tengiga threshold thresholdnotb timing timinglist timingsource top transceiverenable trigger triggers triggersl trimbits trimen trimval tsamples txdelay txdelay_frame txdelay_left txdelay_right type udp_cleardst udp_dstip udp_dstip2 udp_dstlist udp_dstmac udp_dstmac2 udp_dstport udp_dstport2 udp_firstdst udp_numdst udp_reconfigure udp_srcip udp_srcip2 udp_srcmac udp_srcmac2 udp_validate update updatedetectorserver updatekernel updatemode user v_a v_b v_c v_chip v_d v_io v_limit vchip_comp_adc vchip_comp_fe vchip_cs vchip_opa_1st vchip_opa_fd vchip_ref_comp_fe versions veto vetoalg vetofile vetophoton vetoref vetostream virtual vm_a vm_b vm_c vm_d vm_io zmqhwm zmqip zmqport " +local SLS_COMMANDS=" acquire activate adcclk adcenable adcenable10g adcindex adcinvert adclist adcname adcphase adcpipeline adcreg adcvpp apulse asamples autocompdisable badchannels blockingtrigger burstmode burstperiod bursts burstsl bustest cdsgain chipversion clearbit clearbusy clearroi clientversion clkdiv clkfreq clkphase collectionmode column compdisabletime confadc config configtransceiver counters currentsource dac dacindex daclist dacname dacvalues datastream dbitclk dbitphase dbitpipeline defaultdac defaultpattern delay delayl detectorserverversion detsize diodelay dpulse dr drlist dsamples execcommand exptime exptime1 exptime2 exptime3 exptimel extrastoragecells extsampling extsamplingsrc extsig fformat filtercells filterresistor findex firmwaretest firmwareversion fliprows flowcontrol10g fmaster fname foverwrite fpath framecounter frames framesl frametime free fwrite gaincaps gainmode gappixels gatedelay gatedelay1 gatedelay2 gatedelay3 gates getbit hardwareversion highvoltage hostname im_a im_b im_c im_d im_io imagetest initialchecks inj_ch interpolation interruptsubframe kernelversion lastclient led lock master maxadcphaseshift maxclkphaseshift maxdbitphaseshift measuredperiod measuredsubperiod moduleid nextframenumber nmod numinterfaces overflow packageversion parallel parameters partialreset patfname patioctrl patlimits patloop patloop0 patloop1 patloop2 patmask patnloop patnloop0 patnloop1 patnloop2 patsetbit patternX patternstart patwait patwait0 patwait1 patwait2 patwaittime patwaittime0 patwaittime1 patwaittime2 patword pedestalmode period periodl polarity port powerchip powerindex powerlist powername powervalues programfpga pulse pulsechip pulsenmove pumpprobe quad ratecorr readnrows readout readoutspeed readoutspeedlist rebootcontroller reg resetdacs resetfpga roi romode row runclk runtime rx_arping rx_clearroi rx_dbitlist rx_dbitoffset rx_discardpolicy rx_fifodepth rx_frameindex rx_framescaught rx_framesperfile rx_hostname rx_jsonaddheader rx_jsonpara rx_lastclient rx_lock rx_missingpackets rx_padding rx_printconfig rx_realudpsocksize rx_roi rx_silent rx_start rx_status rx_stop rx_tcpport rx_threads rx_udpsocksize rx_version rx_zmqfreq rx_zmqhwm rx_zmqip rx_zmqport rx_zmqstartfnum rx_zmqstream samples savepattern scan scanerrmsg selinterface serialnumber setbit settings settingslist settingspath signalindex signallist signalname sleep slowadc slowadcindex slowadclist slowadcname slowadcvalues start status stop stopport storagecell_delay storagecell_start subdeadtime subexptime sync syncclk temp_10ge temp_adc temp_control temp_dcdc temp_event temp_fpga temp_fpgaext temp_fpgafl temp_fpgafr temp_slowadc temp_sodl temp_sodr temp_threshold templist tempvalues tengiga threshold thresholdnotb timing timing_info_decoder timinglist timingsource top transceiverenable trigger triggers triggersl trimbits trimen trimval tsamples txdelay txdelay_frame txdelay_left txdelay_right type udp_cleardst udp_dstip udp_dstip2 udp_dstlist udp_dstmac udp_dstmac2 udp_dstport udp_dstport2 udp_firstdst udp_numdst udp_reconfigure udp_srcip udp_srcip2 udp_srcmac udp_srcmac2 udp_validate update updatedetectorserver updatekernel updatemode user v_a v_b v_c v_chip v_d v_io v_limit vchip_comp_adc vchip_comp_fe vchip_cs vchip_opa_1st vchip_opa_fd vchip_ref_comp_fe versions veto vetoalg vetofile vetophoton vetoref vetostream virtual vm_a vm_b vm_c vm_d vm_io zmqhwm zmqip zmqport " __acquire() { FCN_RETURN="" return 0 @@ -330,6 +330,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -342,6 +345,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -407,6 +413,15 @@ fi fi return 0 } +__collectionmode() { +FCN_RETURN="" +if [[ ${IS_GET} -eq 0 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="electron hole" +fi +fi +return 0 +} __column() { FCN_RETURN="" if [[ ${IS_GET} -eq 0 ]]; then @@ -1814,6 +1829,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -1826,6 +1844,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi if [[ ${IS_GET} -eq 0 ]]; then if [[ "${cword}" == "2" ]]; then @@ -2111,11 +2132,6 @@ return 0 } __rx_zmqip() { FCN_RETURN="" -if [[ ${IS_GET} -eq 0 ]]; then -if [[ "${cword}" == "2" ]]; then -FCN_RETURN="" -fi -fi return 0 } __rx_zmqport() { @@ -2216,6 +2232,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -2277,6 +2296,26 @@ fi fi return 0 } +__sleep() { +FCN_RETURN="" +if [[ ${IS_GET} -eq 1 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="" +fi +if [[ "${cword}" == "3" ]]; then +FCN_RETURN="" +fi +fi +if [[ ${IS_GET} -eq 0 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="" +fi +if [[ "${cword}" == "3" ]]; then +FCN_RETURN="ms ns s us" +fi +fi +return 0 +} __slowadc() { FCN_RETURN="" if [[ ${IS_GET} -eq 1 ]]; then @@ -2553,6 +2592,15 @@ fi fi return 0 } +__timing_info_decoder() { +FCN_RETURN="" +if [[ ${IS_GET} -eq 0 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="shine swissfel" +fi +fi +return 0 +} __timinglist() { FCN_RETURN="" return 0 diff --git a/slsDetectorSoftware/generator/autocomplete/dump.json b/slsDetectorSoftware/generator/autocomplete/dump.json index d2500d581..278859f6a 100644 --- a/slsDetectorSoftware/generator/autocomplete/dump.json +++ b/slsDetectorSoftware/generator/autocomplete/dump.json @@ -1,10 +1,10 @@ { - "id": "0x3654da8", + "id": "0x2d33fd20", "kind": "FunctionTemplateDecl", "loc": { - "offset": 8539, + "offset": 8829, "file": "../include/sls/ToString.h", - "line": 271, + "line": 276, "col": 3, "tokLen": 8, "includedFrom": { @@ -13,8 +13,8 @@ }, "range": { "begin": { - "offset": 8515, - "line": 270, + "offset": 8805, + "line": 275, "col": 1, "tokLen": 8, "includedFrom": { @@ -22,8 +22,8 @@ } }, "end": { - "offset": 9380, - "line": 293, + "offset": 9670, + "line": 298, "col": 1, "tokLen": 1, "includedFrom": { @@ -34,11 +34,11 @@ "name": "StringTo", "inner": [ { - "id": "0x3654a48", + "id": "0x2d33f9b8", "kind": "TemplateTypeParmDecl", "loc": { - "offset": 8534, - "line": 270, + "offset": 8824, + "line": 275, "col": 20, "tokLen": 1, "includedFrom": { @@ -47,7 +47,7 @@ }, "range": { "begin": { - "offset": 8525, + "offset": 8815, "col": 11, "tokLen": 8, "includedFrom": { @@ -55,7 +55,7 @@ } }, "end": { - "offset": 8534, + "offset": 8824, "col": 20, "tokLen": 1, "includedFrom": { @@ -70,11 +70,11 @@ "index": 0 }, { - "id": "0x3654d08", + "id": "0x2d33fc78", "kind": "FunctionDecl", "loc": { - "offset": 8539, - "line": 271, + "offset": 8829, + "line": 276, "col": 3, "tokLen": 8, "includedFrom": { @@ -83,7 +83,7 @@ }, "range": { "begin": { - "offset": 8537, + "offset": 8827, "col": 1, "tokLen": 1, "includedFrom": { @@ -91,8 +91,8 @@ } }, "end": { - "offset": 9380, - "line": 293, + "offset": 9670, + "line": 298, "col": 1, "tokLen": 1, "includedFrom": { @@ -106,11 +106,11 @@ }, "inner": [ { - "id": "0x3654b38", + "id": "0x2d33faa8", "kind": "ParmVarDecl", "loc": { - "offset": 8567, - "line": 271, + "offset": 8857, + "line": 276, "col": 31, "tokLen": 1, "includedFrom": { @@ -119,7 +119,7 @@ }, "range": { "begin": { - "offset": 8548, + "offset": 8838, "col": 12, "tokLen": 5, "includedFrom": { @@ -127,7 +127,7 @@ } }, "end": { - "offset": 8567, + "offset": 8857, "col": 31, "tokLen": 1, "includedFrom": { @@ -142,10 +142,10 @@ } }, { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "loc": { - "offset": 8589, + "offset": 8879, "col": 53, "tokLen": 4, "includedFrom": { @@ -154,7 +154,7 @@ }, "range": { "begin": { - "offset": 8570, + "offset": 8860, "col": 34, "tokLen": 5, "includedFrom": { @@ -162,7 +162,7 @@ } }, "end": { - "offset": 8589, + "offset": 8879, "col": 53, "tokLen": 4, "includedFrom": { @@ -177,11 +177,11 @@ } }, { - "id": "0x3687658", + "id": "0x2d374e28", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8595, + "offset": 8885, "col": 59, "tokLen": 1, "includedFrom": { @@ -189,8 +189,8 @@ } }, "end": { - "offset": 9380, - "line": 293, + "offset": 9670, + "line": 298, "col": 1, "tokLen": 1, "includedFrom": { @@ -200,12 +200,12 @@ }, "inner": [ { - "id": "0x3654fe0", + "id": "0x2d33ff58", "kind": "DeclStmt", "range": { "begin": { - "offset": 8601, - "line": 272, + "offset": 8891, + "line": 277, "col": 5, "tokLen": 6, "includedFrom": { @@ -213,7 +213,7 @@ } }, "end": { - "offset": 8615, + "offset": 8905, "col": 19, "tokLen": 1, "includedFrom": { @@ -223,10 +223,10 @@ }, "inner": [ { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "loc": { - "offset": 8608, + "offset": 8898, "col": 12, "tokLen": 4, "includedFrom": { @@ -235,7 +235,7 @@ }, "range": { "begin": { - "offset": 8601, + "offset": 8891, "col": 5, "tokLen": 6, "includedFrom": { @@ -243,7 +243,7 @@ } }, "end": { - "offset": 8614, + "offset": 8904, "col": 18, "tokLen": 1, "includedFrom": { @@ -259,11 +259,11 @@ "init": "list", "inner": [ { - "id": "0x3654f80", + "id": "0x2d33fef8", "kind": "InitListExpr", "range": { "begin": { - "offset": 8612, + "offset": 8902, "col": 16, "tokLen": 1, "includedFrom": { @@ -271,7 +271,7 @@ } }, "end": { - "offset": 8614, + "offset": 8904, "col": 18, "tokLen": 1, "includedFrom": { @@ -285,11 +285,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3654fc0", + "id": "0x2d33ff38", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -297,7 +297,7 @@ } }, "end": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -312,11 +312,11 @@ "castKind": "IntegralToFloating", "inner": [ { - "id": "0x3654f08", + "id": "0x2d33fe80", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -324,7 +324,7 @@ } }, "end": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -347,12 +347,12 @@ ] }, { - "id": "0x3655488", + "id": "0x2d3404a8", "kind": "CXXTryStmt", "range": { "begin": { - "offset": 8621, - "line": 273, + "offset": 8911, + "line": 278, "col": 5, "tokLen": 3, "includedFrom": { @@ -360,8 +360,8 @@ } }, "end": { - "offset": 8771, - "line": 277, + "offset": 9061, + "line": 282, "col": 5, "tokLen": 1, "includedFrom": { @@ -371,12 +371,12 @@ }, "inner": [ { - "id": "0x36551c0", + "id": "0x2d340130", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8625, - "line": 273, + "offset": 8915, + "line": 278, "col": 9, "tokLen": 1, "includedFrom": { @@ -384,8 +384,8 @@ } }, "end": { - "offset": 8660, - "line": 275, + "offset": 8950, + "line": 280, "col": 5, "tokLen": 1, "includedFrom": { @@ -395,12 +395,12 @@ }, "inner": [ { - "id": "0x36551a0", + "id": "0x2d340110", "kind": "BinaryOperator", "range": { "begin": { - "offset": 8635, - "line": 274, + "offset": 8925, + "line": 279, "col": 9, "tokLen": 4, "includedFrom": { @@ -408,7 +408,7 @@ } }, "end": { - "offset": 8653, + "offset": 8943, "col": 27, "tokLen": 1, "includedFrom": { @@ -423,11 +423,11 @@ "opcode": "=", "inner": [ { - "id": "0x3654ff8", + "id": "0x2d33ff70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8635, + "offset": 8925, "col": 9, "tokLen": 4, "includedFrom": { @@ -435,7 +435,7 @@ } }, "end": { - "offset": 8635, + "offset": 8925, "col": 9, "tokLen": 4, "includedFrom": { @@ -448,7 +448,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -457,11 +457,11 @@ } }, { - "id": "0x3655150", + "id": "0x2d3400c0", "kind": "CallExpr", "range": { "begin": { - "offset": 8642, + "offset": 8932, "col": 16, "tokLen": 3, "includedFrom": { @@ -469,7 +469,7 @@ } }, "end": { - "offset": 8653, + "offset": 8943, "col": 27, "tokLen": 1, "includedFrom": { @@ -483,11 +483,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3655138", + "id": "0x2d3400a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8642, + "offset": 8932, "col": 16, "tokLen": 3, "includedFrom": { @@ -495,7 +495,7 @@ } }, "end": { - "offset": 8647, + "offset": 8937, "col": 21, "tokLen": 4, "includedFrom": { @@ -504,17 +504,17 @@ } }, "type": { - "qualType": "double (*)(const std::string &, std::size_t *)" + "qualType": "double (*)(const string &, size_t *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36550a8", + "id": "0x2d340020", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8642, + "offset": 8932, "col": 16, "tokLen": 3, "includedFrom": { @@ -522,7 +522,7 @@ } }, "end": { - "offset": 8647, + "offset": 8937, "col": 21, "tokLen": 4, "includedFrom": { @@ -531,26 +531,26 @@ } }, "type": { - "qualType": "double (const std::string &, std::size_t *)" + "qualType": "double (const string &, size_t *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2caf050", + "id": "0x2c8d75c0", "kind": "FunctionDecl", "name": "stod", "type": { - "qualType": "double (const std::string &, std::size_t *)" + "qualType": "double (const string &, size_t *)" } } } ] }, { - "id": "0x3655088", + "id": "0x2d340000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8652, + "offset": 8942, "col": 26, "tokLen": 1, "includedFrom": { @@ -558,7 +558,7 @@ } }, "end": { - "offset": 8652, + "offset": 8942, "col": 26, "tokLen": 1, "includedFrom": { @@ -569,11 +569,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654b38", + "id": "0x2d33faa8", "kind": "ParmVarDecl", "name": "t", "type": { @@ -582,14 +582,14 @@ } }, { - "id": "0x3655180", + "id": "0x2d3400f0", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, "end": {} }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue" } @@ -600,12 +600,12 @@ ] }, { - "id": "0x3655468", + "id": "0x2d340488", "kind": "CXXCatchStmt", "range": { "begin": { - "offset": 8662, - "line": 275, + "offset": 8952, + "line": 280, "col": 7, "tokLen": 5, "includedFrom": { @@ -613,8 +613,8 @@ } }, "end": { - "offset": 8771, - "line": 277, + "offset": 9061, + "line": 282, "col": 5, "tokLen": 1, "includedFrom": { @@ -624,11 +624,11 @@ }, "inner": [ { - "id": "0x3655290", + "id": "0x2d340200", "kind": "VarDecl", "loc": { - "offset": 8698, - "line": 275, + "offset": 8988, + "line": 280, "col": 43, "tokLen": 1, "includedFrom": { @@ -637,7 +637,7 @@ }, "range": { "begin": { - "offset": 8669, + "offset": 8959, "col": 14, "tokLen": 5, "includedFrom": { @@ -645,7 +645,7 @@ } }, "end": { - "offset": 8698, + "offset": 8988, "col": 43, "tokLen": 1, "includedFrom": { @@ -659,11 +659,11 @@ } }, { - "id": "0x3655450", + "id": "0x2d340470", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8701, + "offset": 8991, "col": 46, "tokLen": 1, "includedFrom": { @@ -671,8 +671,8 @@ } }, "end": { - "offset": 8771, - "line": 277, + "offset": 9061, + "line": 282, "col": 5, "tokLen": 1, "includedFrom": { @@ -682,12 +682,12 @@ }, "inner": [ { - "id": "0x3655438", + "id": "0x2d340458", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 8711, - "line": 276, + "offset": 9001, + "line": 281, "col": 9, "tokLen": 5, "includedFrom": { @@ -695,7 +695,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -710,11 +710,11 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3655420", + "id": "0x2d340440", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 8711, + "offset": 9001, "col": 9, "tokLen": 5, "includedFrom": { @@ -722,7 +722,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -736,11 +736,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x36553f0", + "id": "0x2d340410", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -748,7 +748,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -757,22 +757,23 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x36553d8", + "id": "0x2d3403f8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -780,7 +781,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -789,17 +790,18 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36553b0", + "id": "0x2d3403d0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -807,7 +809,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -816,12 +818,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da84b8", + "id": "0x2c968a58", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -830,11 +833,11 @@ }, "inner": [ { - "id": "0x3655390", + "id": "0x2d3403b0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -842,7 +845,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -851,12 +854,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3655388", + "temp": "0x2d3403a8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -865,11 +869,11 @@ }, "inner": [ { - "id": "0x3655358", + "id": "0x2d340378", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -877,7 +881,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -886,7 +890,8 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -896,11 +901,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3655340", + "id": "0x2d340330", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -908,7 +913,7 @@ } }, "end": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -923,11 +928,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3655308", + "id": "0x2d3402f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -935,7 +940,7 @@ } }, "end": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -972,12 +977,12 @@ ] }, { - "id": "0x3655560", + "id": "0x2d340580", "kind": "DeclStmt", "range": { "begin": { - "offset": 8778, - "line": 279, + "offset": 9068, + "line": 284, "col": 5, "tokLen": 5, "includedFrom": { @@ -985,7 +990,7 @@ } }, "end": { - "offset": 8805, + "offset": 9095, "col": 32, "tokLen": 1, "includedFrom": { @@ -995,10 +1000,10 @@ }, "inner": [ { - "id": "0x36554b8", + "id": "0x2d3404d8", "kind": "UsingDecl", "loc": { - "offset": 8797, + "offset": 9087, "col": 24, "tokLen": 8, "includedFrom": { @@ -1007,7 +1012,7 @@ }, "range": { "begin": { - "offset": 8778, + "offset": 9068, "col": 5, "tokLen": 5, "includedFrom": { @@ -1015,7 +1020,7 @@ } }, "end": { - "offset": 8797, + "offset": 9087, "col": 24, "tokLen": 8, "includedFrom": { @@ -1028,12 +1033,12 @@ ] }, { - "id": "0x3655630", + "id": "0x2d340650", "kind": "DeclStmt", "range": { "begin": { - "offset": 8811, - "line": 280, + "offset": 9101, + "line": 285, "col": 5, "tokLen": 5, "includedFrom": { @@ -1041,7 +1046,7 @@ } }, "end": { - "offset": 8843, + "offset": 9133, "col": 37, "tokLen": 1, "includedFrom": { @@ -1051,10 +1056,10 @@ }, "inner": [ { - "id": "0x3655588", + "id": "0x2d3405a8", "kind": "UsingDecl", "loc": { - "offset": 8830, + "offset": 9120, "col": 24, "tokLen": 13, "includedFrom": { @@ -1063,7 +1068,7 @@ }, "range": { "begin": { - "offset": 8811, + "offset": 9101, "col": 5, "tokLen": 5, "includedFrom": { @@ -1071,7 +1076,7 @@ } }, "end": { - "offset": 8830, + "offset": 9120, "col": 24, "tokLen": 13, "includedFrom": { @@ -1084,12 +1089,12 @@ ] }, { - "id": "0x3687628", + "id": "0x2d374df8", "kind": "IfStmt", "range": { "begin": { - "offset": 8849, - "line": 281, + "offset": 9139, + "line": 286, "col": 5, "tokLen": 2, "includedFrom": { @@ -1097,8 +1102,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -1109,12 +1114,12 @@ "hasElse": true, "inner": [ { - "id": "0x36563f0", + "id": "0x2d3418c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 8853, - "line": 281, + "offset": 9143, + "line": 286, "col": 9, "tokLen": 4, "includedFrom": { @@ -1122,7 +1127,7 @@ } }, "end": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1137,11 +1142,11 @@ "adl": true, "inner": [ { - "id": "0x36563d8", + "id": "0x2d3418b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1149,7 +1154,7 @@ } }, "end": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1158,17 +1163,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36563b8", + "id": "0x2d341890", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1176,7 +1181,7 @@ } }, "end": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1185,26 +1190,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3655648", + "id": "0x2d340668", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8853, + "offset": 9143, "col": 9, "tokLen": 4, "includedFrom": { @@ -1212,7 +1217,7 @@ } }, "end": { - "offset": 8853, + "offset": 9143, "col": 9, "tokLen": 4, "includedFrom": { @@ -1223,11 +1228,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -1236,11 +1241,11 @@ } }, { - "id": "0x36563a0", + "id": "0x2d341878", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1248,7 +1253,7 @@ } }, "end": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1263,11 +1268,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3655668", + "id": "0x2d340688", "kind": "StringLiteral", "range": { "begin": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1275,7 +1280,7 @@ } }, "end": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1294,11 +1299,11 @@ ] }, { - "id": "0x366ce00", + "id": "0x2d355c50", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8867, + "offset": 9157, "col": 23, "tokLen": 1, "includedFrom": { @@ -1306,8 +1311,8 @@ } }, "end": { - "offset": 8941, - "line": 283, + "offset": 9231, + "line": 288, "col": 5, "tokLen": 1, "includedFrom": { @@ -1317,12 +1322,12 @@ }, "inner": [ { - "id": "0x366cdf0", + "id": "0x2d355c40", "kind": "ReturnStmt", "range": { "begin": { - "offset": 8877, - "line": 282, + "offset": 9167, + "line": 287, "col": 9, "tokLen": 6, "includedFrom": { @@ -1330,7 +1335,7 @@ } }, "end": { - "offset": 8934, + "offset": 9224, "col": 66, "tokLen": 1, "includedFrom": { @@ -1340,11 +1345,11 @@ }, "inner": [ { - "id": "0x366cdc8", + "id": "0x2d355c18", "kind": "CallExpr", "range": { "begin": { - "offset": 8884, + "offset": 9174, "col": 16, "tokLen": 13, "includedFrom": { @@ -1352,7 +1357,7 @@ } }, "end": { - "offset": 8934, + "offset": 9224, "col": 66, "tokLen": 1, "includedFrom": { @@ -1366,11 +1371,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3656438", + "id": "0x2d341910", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 8884, + "offset": 9174, "col": 16, "tokLen": 13, "includedFrom": { @@ -1378,7 +1383,7 @@ } }, "end": { - "offset": 8899, + "offset": 9189, "col": 31, "tokLen": 1, "includedFrom": { @@ -1394,18 +1399,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x366cda0", + "id": "0x2d355bf0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 8901, + "offset": 9191, "col": 33, "tokLen": 8, "includedFrom": { @@ -1413,7 +1418,7 @@ } }, "end": { - "offset": 8933, + "offset": 9223, "col": 65, "tokLen": 1, "includedFrom": { @@ -1428,7 +1433,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x366ca28", + "id": "0x2d355898", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -1437,11 +1442,11 @@ }, "inner": [ { - "id": "0x366cd70", + "id": "0x2d355bc0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 8901, + "offset": 9191, "col": 33, "tokLen": 8, "includedFrom": { @@ -1449,7 +1454,7 @@ } }, "end": { - "offset": 8933, + "offset": 9223, "col": 65, "tokLen": 1, "includedFrom": { @@ -1469,11 +1474,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x366cb78", + "id": "0x2d3559f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1481,7 +1486,7 @@ } }, "end": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1497,11 +1502,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x36566d8", + "id": "0x2d341be0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1509,7 +1514,7 @@ } }, "end": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1522,7 +1527,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -1543,12 +1548,12 @@ ] }, { - "id": "0x36875f8", + "id": "0x2d374dc8", "kind": "IfStmt", "range": { "begin": { - "offset": 8948, - "line": 283, + "offset": 9238, + "line": 288, "col": 12, "tokLen": 2, "includedFrom": { @@ -1556,8 +1561,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -1568,12 +1573,12 @@ "hasElse": true, "inner": [ { - "id": "0x366dbc0", + "id": "0x2d356ec8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 8952, - "line": 283, + "offset": 9242, + "line": 288, "col": 16, "tokLen": 4, "includedFrom": { @@ -1581,7 +1586,7 @@ } }, "end": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1596,11 +1601,11 @@ "adl": true, "inner": [ { - "id": "0x366dba8", + "id": "0x2d356eb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1608,7 +1613,7 @@ } }, "end": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1617,17 +1622,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x366db88", + "id": "0x2d356e90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1635,7 +1640,7 @@ } }, "end": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1644,26 +1649,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x366ce18", + "id": "0x2d355c68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8952, + "offset": 9242, "col": 16, "tokLen": 4, "includedFrom": { @@ -1671,7 +1676,7 @@ } }, "end": { - "offset": 8952, + "offset": 9242, "col": 16, "tokLen": 4, "includedFrom": { @@ -1682,11 +1687,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -1695,11 +1700,11 @@ } }, { - "id": "0x366db70", + "id": "0x2d356e78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1707,7 +1712,7 @@ } }, "end": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1722,11 +1727,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x366ce38", + "id": "0x2d355c88", "kind": "StringLiteral", "range": { "begin": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1734,7 +1739,7 @@ } }, "end": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1753,11 +1758,11 @@ ] }, { - "id": "0x3675a60", + "id": "0x2d360050", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8966, + "offset": 9256, "col": 30, "tokLen": 1, "includedFrom": { @@ -1765,8 +1770,8 @@ } }, "end": { - "offset": 9041, - "line": 285, + "offset": 9331, + "line": 290, "col": 5, "tokLen": 1, "includedFrom": { @@ -1776,12 +1781,12 @@ }, "inner": [ { - "id": "0x3675a50", + "id": "0x2d360040", "kind": "ReturnStmt", "range": { "begin": { - "offset": 8976, - "line": 284, + "offset": 9266, + "line": 289, "col": 9, "tokLen": 6, "includedFrom": { @@ -1789,7 +1794,7 @@ } }, "end": { - "offset": 9034, + "offset": 9324, "col": 67, "tokLen": 1, "includedFrom": { @@ -1799,11 +1804,11 @@ }, "inner": [ { - "id": "0x3675a28", + "id": "0x2d360018", "kind": "CallExpr", "range": { "begin": { - "offset": 8983, + "offset": 9273, "col": 16, "tokLen": 13, "includedFrom": { @@ -1811,7 +1816,7 @@ } }, "end": { - "offset": 9034, + "offset": 9324, "col": 67, "tokLen": 1, "includedFrom": { @@ -1825,11 +1830,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x366dc08", + "id": "0x2d356f10", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 8983, + "offset": 9273, "col": 16, "tokLen": 13, "includedFrom": { @@ -1837,7 +1842,7 @@ } }, "end": { - "offset": 8998, + "offset": 9288, "col": 31, "tokLen": 1, "includedFrom": { @@ -1853,18 +1858,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x3675a00", + "id": "0x2d35fff0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9000, + "offset": 9290, "col": 33, "tokLen": 8, "includedFrom": { @@ -1872,7 +1877,7 @@ } }, "end": { - "offset": 9033, + "offset": 9323, "col": 66, "tokLen": 1, "includedFrom": { @@ -1887,7 +1892,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x3675688", + "id": "0x2d35fc98", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -1896,11 +1901,11 @@ }, "inner": [ { - "id": "0x36759d0", + "id": "0x2d35ffc0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9000, + "offset": 9290, "col": 33, "tokLen": 8, "includedFrom": { @@ -1908,7 +1913,7 @@ } }, "end": { - "offset": 9033, + "offset": 9323, "col": 66, "tokLen": 1, "includedFrom": { @@ -1928,11 +1933,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x36757d8", + "id": "0x2d35fdf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1940,7 +1945,7 @@ } }, "end": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1956,11 +1961,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x366dea8", + "id": "0x2d3571e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1968,7 +1973,7 @@ } }, "end": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1981,7 +1986,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -2002,12 +2007,12 @@ ] }, { - "id": "0x36875c8", + "id": "0x2d374d98", "kind": "IfStmt", "range": { "begin": { - "offset": 9048, - "line": 285, + "offset": 9338, + "line": 290, "col": 12, "tokLen": 2, "includedFrom": { @@ -2015,8 +2020,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -2027,12 +2032,12 @@ "hasElse": true, "inner": [ { - "id": "0x3676820", + "id": "0x2d3612c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 9052, - "line": 285, + "offset": 9342, + "line": 290, "col": 16, "tokLen": 4, "includedFrom": { @@ -2040,7 +2045,7 @@ } }, "end": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2055,11 +2060,11 @@ "adl": true, "inner": [ { - "id": "0x3676808", + "id": "0x2d3612b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2067,7 +2072,7 @@ } }, "end": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2076,17 +2081,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36767e8", + "id": "0x2d361290", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2094,7 +2099,7 @@ } }, "end": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2103,26 +2108,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3675a78", + "id": "0x2d360068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9052, + "offset": 9342, "col": 16, "tokLen": 4, "includedFrom": { @@ -2130,7 +2135,7 @@ } }, "end": { - "offset": 9052, + "offset": 9342, "col": 16, "tokLen": 4, "includedFrom": { @@ -2141,11 +2146,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -2154,11 +2159,11 @@ } }, { - "id": "0x36767d0", + "id": "0x2d361278", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2166,7 +2171,7 @@ } }, "end": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2181,11 +2186,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3675a98", + "id": "0x2d360088", "kind": "StringLiteral", "range": { "begin": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2193,7 +2198,7 @@ } }, "end": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2212,11 +2217,11 @@ ] }, { - "id": "0x367e6d0", + "id": "0x2d36a4b0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9066, + "offset": 9356, "col": 30, "tokLen": 1, "includedFrom": { @@ -2224,8 +2229,8 @@ } }, "end": { - "offset": 9141, - "line": 287, + "offset": 9431, + "line": 292, "col": 5, "tokLen": 1, "includedFrom": { @@ -2235,12 +2240,12 @@ }, "inner": [ { - "id": "0x367e6c0", + "id": "0x2d36a4a0", "kind": "ReturnStmt", "range": { "begin": { - "offset": 9076, - "line": 286, + "offset": 9366, + "line": 291, "col": 9, "tokLen": 6, "includedFrom": { @@ -2248,7 +2253,7 @@ } }, "end": { - "offset": 9134, + "offset": 9424, "col": 67, "tokLen": 1, "includedFrom": { @@ -2258,11 +2263,11 @@ }, "inner": [ { - "id": "0x367e698", + "id": "0x2d36a478", "kind": "CallExpr", "range": { "begin": { - "offset": 9083, + "offset": 9373, "col": 16, "tokLen": 13, "includedFrom": { @@ -2270,7 +2275,7 @@ } }, "end": { - "offset": 9134, + "offset": 9424, "col": 67, "tokLen": 1, "includedFrom": { @@ -2284,11 +2289,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3676868", + "id": "0x2d361310", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 9083, + "offset": 9373, "col": 16, "tokLen": 13, "includedFrom": { @@ -2296,7 +2301,7 @@ } }, "end": { - "offset": 9098, + "offset": 9388, "col": 31, "tokLen": 1, "includedFrom": { @@ -2312,18 +2317,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x367e670", + "id": "0x2d36a450", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9100, + "offset": 9390, "col": 33, "tokLen": 8, "includedFrom": { @@ -2331,7 +2336,7 @@ } }, "end": { - "offset": 9133, + "offset": 9423, "col": 66, "tokLen": 1, "includedFrom": { @@ -2346,7 +2351,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x367e2f8", + "id": "0x2d36a0f8", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -2355,11 +2360,11 @@ }, "inner": [ { - "id": "0x367e640", + "id": "0x2d36a420", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9100, + "offset": 9390, "col": 33, "tokLen": 8, "includedFrom": { @@ -2367,7 +2372,7 @@ } }, "end": { - "offset": 9133, + "offset": 9423, "col": 66, "tokLen": 1, "includedFrom": { @@ -2387,11 +2392,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x367e448", + "id": "0x2d36a250", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2399,7 +2404,7 @@ } }, "end": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2415,11 +2420,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x3676b08", + "id": "0x2d3615e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2427,7 +2432,7 @@ } }, "end": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2440,7 +2445,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -2461,12 +2466,12 @@ ] }, { - "id": "0x3687598", + "id": "0x2d374d68", "kind": "IfStmt", "range": { "begin": { - "offset": 9148, - "line": 287, + "offset": 9438, + "line": 292, "col": 12, "tokLen": 2, "includedFrom": { @@ -2474,8 +2479,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -2486,12 +2491,12 @@ "hasElse": true, "inner": [ { - "id": "0x367f568", + "id": "0x2d36b7f8", "kind": "BinaryOperator", "range": { "begin": { - "offset": 9152, - "line": 287, + "offset": 9442, + "line": 292, "col": 16, "tokLen": 4, "includedFrom": { @@ -2499,7 +2504,7 @@ } }, "end": { - "offset": 9178, + "offset": 9468, "col": 42, "tokLen": 1, "includedFrom": { @@ -2514,11 +2519,11 @@ "opcode": "||", "inner": [ { - "id": "0x367f490", + "id": "0x2d36b728", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 9152, + "offset": 9442, "col": 16, "tokLen": 4, "includedFrom": { @@ -2526,7 +2531,7 @@ } }, "end": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2541,11 +2546,11 @@ "adl": true, "inner": [ { - "id": "0x367f478", + "id": "0x2d36b710", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2553,7 +2558,7 @@ } }, "end": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2562,17 +2567,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x367f458", + "id": "0x2d36b6f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2580,7 +2585,7 @@ } }, "end": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2589,26 +2594,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x367e6e8", + "id": "0x2d36a4c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9152, + "offset": 9442, "col": 16, "tokLen": 4, "includedFrom": { @@ -2616,7 +2621,7 @@ } }, "end": { - "offset": 9152, + "offset": 9442, "col": 16, "tokLen": 4, "includedFrom": { @@ -2627,11 +2632,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -2640,11 +2645,11 @@ } }, { - "id": "0x367f440", + "id": "0x2d36b6d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2652,7 +2657,7 @@ } }, "end": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2667,11 +2672,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x367e708", + "id": "0x2d36a4e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2679,7 +2684,7 @@ } }, "end": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2698,11 +2703,11 @@ ] }, { - "id": "0x367f518", + "id": "0x2d36b7b0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2710,7 +2715,7 @@ } }, "end": { - "offset": 9178, + "offset": 9468, "col": 42, "tokLen": 1, "includedFrom": { @@ -2724,11 +2729,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x367f4e8", + "id": "0x2d36b780", "kind": "MemberExpr", "range": { "begin": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2736,7 +2741,7 @@ } }, "end": { - "offset": 9172, + "offset": 9462, "col": 36, "tokLen": 5, "includedFrom": { @@ -2750,14 +2755,14 @@ "valueCategory": "prvalue", "name": "empty", "isArrow": false, - "referencedMemberDecl": "0x2c94de8", + "referencedMemberDecl": "0x2c8bc688", "inner": [ { - "id": "0x367f4c8", + "id": "0x2d36b760", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2765,7 +2770,7 @@ } }, "end": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2776,11 +2781,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -2795,11 +2800,11 @@ ] }, { - "id": "0x36873f0", + "id": "0x2d374b80", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9181, + "offset": 9471, "col": 45, "tokLen": 1, "includedFrom": { @@ -2807,8 +2812,8 @@ } }, "end": { - "offset": 9257, - "line": 289, + "offset": 9547, + "line": 294, "col": 5, "tokLen": 1, "includedFrom": { @@ -2818,12 +2823,12 @@ }, "inner": [ { - "id": "0x36873e0", + "id": "0x2d374b70", "kind": "ReturnStmt", "range": { "begin": { - "offset": 9191, - "line": 288, + "offset": 9481, + "line": 293, "col": 9, "tokLen": 6, "includedFrom": { @@ -2831,7 +2836,7 @@ } }, "end": { - "offset": 9250, + "offset": 9540, "col": 68, "tokLen": 1, "includedFrom": { @@ -2841,11 +2846,11 @@ }, "inner": [ { - "id": "0x36873b8", + "id": "0x2d374b48", "kind": "CallExpr", "range": { "begin": { - "offset": 9198, + "offset": 9488, "col": 16, "tokLen": 13, "includedFrom": { @@ -2853,7 +2858,7 @@ } }, "end": { - "offset": 9250, + "offset": 9540, "col": 68, "tokLen": 1, "includedFrom": { @@ -2867,11 +2872,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x367f598", + "id": "0x2d36b828", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 9198, + "offset": 9488, "col": 16, "tokLen": 13, "includedFrom": { @@ -2879,7 +2884,7 @@ } }, "end": { - "offset": 9213, + "offset": 9503, "col": 31, "tokLen": 1, "includedFrom": { @@ -2895,18 +2900,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x3687390", + "id": "0x2d374b20", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9215, + "offset": 9505, "col": 33, "tokLen": 3, "includedFrom": { @@ -2914,7 +2919,7 @@ } }, "end": { - "offset": 9249, + "offset": 9539, "col": 67, "tokLen": 1, "includedFrom": { @@ -2929,7 +2934,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x3687018", + "id": "0x2d3747c8", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -2938,11 +2943,11 @@ }, "inner": [ { - "id": "0x3687360", + "id": "0x2d374af0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9215, + "offset": 9505, "col": 33, "tokLen": 3, "includedFrom": { @@ -2950,7 +2955,7 @@ } }, "end": { - "offset": 9249, + "offset": 9539, "col": 67, "tokLen": 1, "includedFrom": { @@ -2970,11 +2975,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3687168", + "id": "0x2d374920", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -2982,7 +2987,7 @@ } }, "end": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -2998,11 +3003,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x367f840", + "id": "0x2d36bad0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -3010,7 +3015,7 @@ } }, "end": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -3023,7 +3028,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -3044,12 +3049,12 @@ ] }, { - "id": "0x3687580", + "id": "0x2d374d50", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9264, - "line": 289, + "offset": 9554, + "line": 294, "col": 12, "tokLen": 1, "includedFrom": { @@ -3057,8 +3062,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -3068,12 +3073,12 @@ }, "inner": [ { - "id": "0x3687568", + "id": "0x2d374d38", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 9274, - "line": 290, + "offset": 9564, + "line": 295, "col": 9, "tokLen": 5, "includedFrom": { @@ -3081,8 +3086,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3097,12 +3102,12 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3687550", + "id": "0x2d374d20", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 9274, - "line": 290, + "offset": 9564, + "line": 295, "col": 9, "tokLen": 5, "includedFrom": { @@ -3110,8 +3115,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3125,12 +3130,12 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3687520", + "id": "0x2d374cf0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3138,8 +3143,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3148,23 +3153,24 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3687508", + "id": "0x2d374cd8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3172,8 +3178,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3182,18 +3188,19 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36874e0", + "id": "0x2d374cb0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3201,8 +3208,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3211,12 +3218,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da84b8", + "id": "0x2c968a58", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -3225,12 +3233,12 @@ }, "inner": [ { - "id": "0x36874c0", + "id": "0x2d374c90", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3238,8 +3246,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3248,12 +3256,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x36874b8", + "temp": "0x2d374c88", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -3262,12 +3271,12 @@ }, "inner": [ { - "id": "0x3687488", + "id": "0x2d374c58", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3275,8 +3284,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3285,7 +3294,8 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -3295,11 +3305,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3687470", + "id": "0x2d374c40", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3307,7 +3317,7 @@ } }, "end": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3322,11 +3332,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3687418", + "id": "0x2d374be8", "kind": "StringLiteral", "range": { "begin": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3334,7 +3344,7 @@ } }, "end": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3381,12 +3391,12 @@ ] } { - "id": "0x3687908", + "id": "0x2d3750e0", "kind": "FunctionTemplateDecl", "loc": { - "offset": 9407, + "offset": 9697, "file": "../include/sls/ToString.h", - "line": 295, + "line": 300, "col": 25, "tokLen": 8, "includedFrom": { @@ -3395,7 +3405,7 @@ }, "range": { "begin": { - "offset": 9383, + "offset": 9673, "col": 1, "tokLen": 8, "includedFrom": { @@ -3403,8 +3413,8 @@ } }, "end": { - "offset": 9532, - "line": 299, + "offset": 9822, + "line": 304, "col": 1, "tokLen": 1, "includedFrom": { @@ -3415,11 +3425,11 @@ "name": "StringTo", "inner": [ { - "id": "0x3687690", + "id": "0x2d374e60", "kind": "TemplateTypeParmDecl", "loc": { - "offset": 9402, - "line": 295, + "offset": 9692, + "line": 300, "col": 20, "tokLen": 1, "includedFrom": { @@ -3428,7 +3438,7 @@ }, "range": { "begin": { - "offset": 9393, + "offset": 9683, "col": 11, "tokLen": 8, "includedFrom": { @@ -3436,7 +3446,7 @@ } }, "end": { - "offset": 9402, + "offset": 9692, "col": 20, "tokLen": 1, "includedFrom": { @@ -3451,10 +3461,10 @@ "index": 0 }, { - "id": "0x3687868", + "id": "0x2d375038", "kind": "FunctionDecl", "loc": { - "offset": 9407, + "offset": 9697, "col": 25, "tokLen": 8, "includedFrom": { @@ -3463,7 +3473,7 @@ }, "range": { "begin": { - "offset": 9405, + "offset": 9695, "col": 23, "tokLen": 1, "includedFrom": { @@ -3471,8 +3481,8 @@ } }, "end": { - "offset": 9532, - "line": 299, + "offset": 9822, + "line": 304, "col": 1, "tokLen": 1, "includedFrom": { @@ -3486,11 +3496,11 @@ }, "inner": [ { - "id": "0x3687778", + "id": "0x2d374f48", "kind": "ParmVarDecl", "loc": { - "offset": 9435, - "line": 295, + "offset": 9725, + "line": 300, "col": 53, "tokLen": 1, "includedFrom": { @@ -3499,7 +3509,7 @@ }, "range": { "begin": { - "offset": 9416, + "offset": 9706, "col": 34, "tokLen": 5, "includedFrom": { @@ -3507,7 +3517,7 @@ } }, "end": { - "offset": 9435, + "offset": 9725, "col": 53, "tokLen": 1, "includedFrom": { @@ -3522,11 +3532,11 @@ } }, { - "id": "0x3688030", + "id": "0x2d375810", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9438, + "offset": 9728, "col": 56, "tokLen": 1, "includedFrom": { @@ -3534,8 +3544,8 @@ } }, "end": { - "offset": 9532, - "line": 299, + "offset": 9822, + "line": 304, "col": 1, "tokLen": 1, "includedFrom": { @@ -3545,12 +3555,12 @@ }, "inner": [ { - "id": "0x3687b68", + "id": "0x2d375340", "kind": "DeclStmt", "range": { "begin": { - "offset": 9444, - "line": 296, + "offset": 9734, + "line": 301, "col": 5, "tokLen": 3, "includedFrom": { @@ -3558,7 +3568,7 @@ } }, "end": { - "offset": 9462, + "offset": 9752, "col": 23, "tokLen": 1, "includedFrom": { @@ -3568,10 +3578,10 @@ }, "inner": [ { - "id": "0x3687a38", + "id": "0x2d375210", "kind": "VarDecl", "loc": { - "offset": 9456, + "offset": 9746, "col": 17, "tokLen": 3, "includedFrom": { @@ -3580,7 +3590,7 @@ }, "range": { "begin": { - "offset": 9444, + "offset": 9734, "col": 5, "tokLen": 3, "includedFrom": { @@ -3588,7 +3598,7 @@ } }, "end": { - "offset": 9461, + "offset": 9751, "col": 22, "tokLen": 1, "includedFrom": { @@ -3601,16 +3611,16 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "init": "list", "inner": [ { - "id": "0x3687b38", + "id": "0x2d375310", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9456, + "offset": 9746, "col": 17, "tokLen": 3, "includedFrom": { @@ -3618,7 +3628,7 @@ } }, "end": { - "offset": 9461, + "offset": 9751, "col": 22, "tokLen": 1, "includedFrom": { @@ -3629,22 +3639,22 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (const std::basic_string &)" + "qualType": "void (const basic_string &)" }, "list": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3687aa0", + "id": "0x2d375278", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9460, + "offset": 9750, "col": 21, "tokLen": 1, "includedFrom": { @@ -3652,7 +3662,7 @@ } }, "end": { - "offset": 9460, + "offset": 9750, "col": 21, "tokLen": 1, "includedFrom": { @@ -3663,11 +3673,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687778", + "id": "0x2d374f48", "kind": "ParmVarDecl", "name": "t", "type": { @@ -3682,12 +3692,12 @@ ] }, { - "id": "0x3687ef0", + "id": "0x2d3756d0", "kind": "DeclStmt", "range": { "begin": { - "offset": 9468, - "line": 297, + "offset": 9758, + "line": 302, "col": 5, "tokLen": 4, "includedFrom": { @@ -3695,7 +3705,7 @@ } }, "end": { - "offset": 9495, + "offset": 9785, "col": 32, "tokLen": 1, "includedFrom": { @@ -3705,10 +3715,10 @@ }, "inner": [ { - "id": "0x3687bc0", + "id": "0x2d375398", "kind": "VarDecl", "loc": { - "offset": 9473, + "offset": 9763, "col": 10, "tokLen": 4, "includedFrom": { @@ -3717,7 +3727,7 @@ }, "range": { "begin": { - "offset": 9468, + "offset": 9758, "col": 5, "tokLen": 4, "includedFrom": { @@ -3725,7 +3735,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3738,16 +3748,16 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "init": "c", "inner": [ { - "id": "0x3687ed8", + "id": "0x2d3756b8", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3755,7 +3765,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3766,17 +3776,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3687ea8", + "id": "0x2d375688", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3784,7 +3794,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3795,22 +3805,22 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (std::basic_string &&) noexcept" + "qualType": "void (basic_string &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3687e60", + "id": "0x2d375640", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3818,7 +3828,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3829,17 +3839,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3687d50", + "id": "0x2d375530", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3847,7 +3857,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3858,12 +3868,12 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", - "temp": "0x3687d48", + "temp": "0x2d375528", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -3872,11 +3882,11 @@ }, "inner": [ { - "id": "0x3687d20", + "id": "0x2d375500", "kind": "CallExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3884,7 +3894,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3895,16 +3905,16 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x3687d08", + "id": "0x2d3754e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3912,7 +3922,7 @@ } }, "end": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3927,11 +3937,11 @@ "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3687c90", + "id": "0x2d375468", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3939,7 +3949,7 @@ } }, "end": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3952,7 +3962,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2fb3d48", + "id": "0x2ce1e5b8", "kind": "FunctionDecl", "name": "RemoveUnit", "type": { @@ -3963,11 +3973,11 @@ ] }, { - "id": "0x3687c70", + "id": "0x2d375448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9491, + "offset": 9781, "col": 28, "tokLen": 3, "includedFrom": { @@ -3975,7 +3985,7 @@ } }, "end": { - "offset": 9491, + "offset": 9781, "col": 28, "tokLen": 3, "includedFrom": { @@ -3986,17 +3996,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687a38", + "id": "0x2d375210", "kind": "VarDecl", "name": "tmp", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } @@ -4015,12 +4025,12 @@ ] }, { - "id": "0x3688020", + "id": "0x2d375800", "kind": "ReturnStmt", "range": { "begin": { - "offset": 9501, - "line": 298, + "offset": 9791, + "line": 303, "col": 5, "tokLen": 6, "includedFrom": { @@ -4028,7 +4038,7 @@ } }, "end": { - "offset": 9529, + "offset": 9819, "col": 33, "tokLen": 1, "includedFrom": { @@ -4038,11 +4048,11 @@ }, "inner": [ { - "id": "0x3687ff0", + "id": "0x2d3757d0", "kind": "CallExpr", "range": { "begin": { - "offset": 9508, + "offset": 9798, "col": 12, "tokLen": 8, "includedFrom": { @@ -4050,7 +4060,7 @@ } }, "end": { - "offset": 9529, + "offset": 9819, "col": 33, "tokLen": 1, "includedFrom": { @@ -4064,11 +4074,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3687f30", + "id": "0x2d375710", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 9508, + "offset": 9798, "col": 12, "tokLen": 8, "includedFrom": { @@ -4076,7 +4086,7 @@ } }, "end": { - "offset": 9518, + "offset": 9808, "col": 22, "tokLen": 1, "includedFrom": { @@ -4092,23 +4102,23 @@ "name": "StringTo", "lookups": [ { - "id": "0x3687908", + "id": "0x2d3750e0", "kind": "FunctionTemplateDecl", "name": "StringTo" }, { - "id": "0x3654da8", + "id": "0x2d33fd20", "kind": "FunctionTemplateDecl", "name": "StringTo" } ] }, { - "id": "0x3687fb0", + "id": "0x2d375790", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9520, + "offset": 9810, "col": 24, "tokLen": 3, "includedFrom": { @@ -4116,7 +4126,7 @@ } }, "end": { - "offset": 9520, + "offset": 9810, "col": 24, "tokLen": 3, "includedFrom": { @@ -4127,26 +4137,26 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687a38", + "id": "0x2d375210", "kind": "VarDecl", "name": "tmp", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } }, { - "id": "0x3687fd0", + "id": "0x2d3757b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9525, + "offset": 9815, "col": 29, "tokLen": 4, "includedFrom": { @@ -4154,7 +4164,7 @@ } }, "end": { - "offset": 9525, + "offset": 9815, "col": 29, "tokLen": 4, "includedFrom": { @@ -4165,17 +4175,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687bc0", + "id": "0x2d375398", "kind": "VarDecl", "name": "unit", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } @@ -4188,7 +4198,7 @@ ] }, { - "id": "0x3849458", + "id": "0x7f0da6e85d18", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4196,7 +4206,7 @@ } }, { - "id": "0x3850318", + "id": "0x7f0da6e90148", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4204,7 +4214,7 @@ } }, { - "id": "0x3866a58", + "id": "0x7f0da6e67ba8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4212,7 +4222,7 @@ } }, { - "id": "0x386e798", + "id": "0x7f0da6e71f68", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4220,7 +4230,7 @@ } }, { - "id": "0x3873968", + "id": "0x7f0da6e37988", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4228,7 +4238,7 @@ } }, { - "id": "0x3876e78", + "id": "0x7f0da6e3bd78", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4236,7 +4246,7 @@ } }, { - "id": "0x38794b8", + "id": "0x7f0da6e3ede8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4244,7 +4254,7 @@ } }, { - "id": "0x387d838", + "id": "0x7f0da6e444e8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4252,7 +4262,7 @@ } }, { - "id": "0x3882a18", + "id": "0x7f0da6e4af48", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4260,7 +4270,7 @@ } }, { - "id": "0x7f1964638418", + "id": "0x7f0da6b961f8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4268,7 +4278,7 @@ } }, { - "id": "0x7f196463c788", + "id": "0x7f0da6b9b8e8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4276,7 +4286,7 @@ } }, { - "id": "0x7f196463edd8", + "id": "0x7f0da6b5d9a8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4284,7 +4294,7 @@ } }, { - "id": "0x7f1964644df8", + "id": "0x7f0da6b656f8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4292,7 +4302,7 @@ } }, { - "id": "0x38d72a8", + "id": "0x7f0da6b6add8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4300,7 +4310,7 @@ } }, { - "id": "0x38dae78", + "id": "0x7f0da6b6f8c8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4308,7 +4318,7 @@ } }, { - "id": "0x38dd4b8", + "id": "0x7f0da6b72938", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4316,7 +4326,7 @@ } }, { - "id": "0x38e34f8", + "id": "0x7f0da6b7a688", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4324,7 +4334,39 @@ } }, { - "id": "0x38e5ae8", + "id": "0x7f0da6b3c708", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "defs::timingInfoDecoder (const std::string &)" + } + }, + { + "id": "0x7f0da6b3f7a8", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "defs::collectionMode (const std::string &)" + } + }, + { + "id": "0x7f0da6b427f8", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "uint8_t (const std::string &)" + } + }, + { + "id": "0x7f0da6b44d88", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "uint16_t (const std::string &)" + } + }, + { + "id": "0x7f0da6b466b8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4332,7 +4374,7 @@ } }, { - "id": "0x38e62f8", + "id": "0x7f0da6b46ed8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4340,7 +4382,7 @@ } }, { - "id": "0x38e6af0", + "id": "0x7f0da6b47700", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4348,7 +4390,7 @@ } }, { - "id": "0x38e72d8", + "id": "0x7f0da6b47eb8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4356,7 +4398,7 @@ } }, { - "id": "0x38e7b28", + "id": "0x7f0da6b486c8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4366,12 +4408,12 @@ ] } { - "id": "0x3688208", + "id": "0x2d3759e8", "kind": "FunctionDecl", "loc": { - "offset": 9566, + "offset": 9856, "file": "../include/sls/ToString.h", - "line": 301, + "line": 306, "col": 32, "tokLen": 8, "includedFrom": { @@ -4380,7 +4422,7 @@ }, "range": { "begin": { - "offset": 9535, + "offset": 9825, "col": 1, "tokLen": 8, "includedFrom": { @@ -4388,7 +4430,7 @@ } }, "end": { - "offset": 9595, + "offset": 9885, "col": 61, "tokLen": 1, "includedFrom": { @@ -4396,7 +4438,7 @@ } } }, - "previousDecl": "0x3688438", + "previousDecl": "0x2d375c48", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12detectorTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4410,13 +4452,13 @@ }, "inner": [ { - "id": "0x2f41f40", + "id": "0x2cd03d20", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorType" }, "decl": { - "id": "0x2f41ea0", + "id": "0x2cd03c80", "kind": "EnumDecl", "name": "detectorType" } @@ -4424,10 +4466,10 @@ ] }, { - "id": "0x3688100", + "id": "0x2d3758e0", "kind": "ParmVarDecl", "loc": { - "offset": 9594, + "offset": 9884, "col": 60, "tokLen": 1, "includedFrom": { @@ -4436,7 +4478,7 @@ }, "range": { "begin": { - "offset": 9575, + "offset": 9865, "col": 41, "tokLen": 5, "includedFrom": { @@ -4444,7 +4486,7 @@ } }, "end": { - "offset": 9594, + "offset": 9884, "col": 60, "tokLen": 1, "includedFrom": { @@ -4460,12 +4502,12 @@ ] } { - "id": "0x3688728", + "id": "0x2d375f38", "kind": "FunctionDecl", "loc": { - "offset": 9633, + "offset": 9923, "file": "../include/sls/ToString.h", - "line": 302, + "line": 307, "col": 36, "tokLen": 8, "includedFrom": { @@ -4474,7 +4516,7 @@ }, "range": { "begin": { - "offset": 9598, + "offset": 9888, "col": 1, "tokLen": 8, "includedFrom": { @@ -4482,7 +4524,7 @@ } }, "end": { - "offset": 9662, + "offset": 9952, "col": 65, "tokLen": 1, "includedFrom": { @@ -4490,7 +4532,7 @@ } } }, - "previousDecl": "0x3688958", + "previousDecl": "0x2d376198", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16detectorSettingsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4504,13 +4546,13 @@ }, "inner": [ { - "id": "0x2f5a2c0", + "id": "0x2cdc0300", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorSettings" }, "decl": { - "id": "0x2f5a218", + "id": "0x2cdc0258", "kind": "EnumDecl", "name": "detectorSettings" } @@ -4518,10 +4560,10 @@ ] }, { - "id": "0x3688620", + "id": "0x2d375e38", "kind": "ParmVarDecl", "loc": { - "offset": 9661, + "offset": 9951, "col": 64, "tokLen": 1, "includedFrom": { @@ -4530,7 +4572,7 @@ }, "range": { "begin": { - "offset": 9642, + "offset": 9932, "col": 45, "tokLen": 5, "includedFrom": { @@ -4538,7 +4580,7 @@ } }, "end": { - "offset": 9661, + "offset": 9951, "col": 64, "tokLen": 1, "includedFrom": { @@ -4554,12 +4596,12 @@ ] } { - "id": "0x3688c48", + "id": "0x2d376488", "kind": "FunctionDecl", "loc": { - "offset": 9694, + "offset": 9984, "file": "../include/sls/ToString.h", - "line": 303, + "line": 308, "col": 30, "tokLen": 8, "includedFrom": { @@ -4568,7 +4610,7 @@ }, "range": { "begin": { - "offset": 9665, + "offset": 9955, "col": 1, "tokLen": 8, "includedFrom": { @@ -4576,7 +4618,7 @@ } }, "end": { - "offset": 9723, + "offset": 10013, "col": 59, "tokLen": 1, "includedFrom": { @@ -4584,7 +4626,7 @@ } } }, - "previousDecl": "0x3688e78", + "previousDecl": "0x2d3766e8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10speedLevelEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4598,13 +4640,13 @@ }, "inner": [ { - "id": "0x2f5af70", + "id": "0x2cdc0fb0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::speedLevel" }, "decl": { - "id": "0x2f5aec8", + "id": "0x2cdc0f08", "kind": "EnumDecl", "name": "speedLevel" } @@ -4612,10 +4654,10 @@ ] }, { - "id": "0x3688b40", + "id": "0x2d376388", "kind": "ParmVarDecl", "loc": { - "offset": 9722, + "offset": 10012, "col": 58, "tokLen": 1, "includedFrom": { @@ -4624,7 +4666,7 @@ }, "range": { "begin": { - "offset": 9703, + "offset": 9993, "col": 39, "tokLen": 5, "includedFrom": { @@ -4632,7 +4674,7 @@ } }, "end": { - "offset": 9722, + "offset": 10012, "col": 58, "tokLen": 1, "includedFrom": { @@ -4648,12 +4690,12 @@ ] } { - "id": "0x3689168", + "id": "0x2d3769d8", "kind": "FunctionDecl", "loc": { - "offset": 9755, + "offset": 10045, "file": "../include/sls/ToString.h", - "line": 304, + "line": 309, "col": 30, "tokLen": 8, "includedFrom": { @@ -4662,7 +4704,7 @@ }, "range": { "begin": { - "offset": 9726, + "offset": 10016, "col": 1, "tokLen": 8, "includedFrom": { @@ -4670,7 +4712,7 @@ } }, "end": { - "offset": 9784, + "offset": 10074, "col": 59, "tokLen": 1, "includedFrom": { @@ -4678,7 +4720,7 @@ } } }, - "previousDecl": "0x3689398", + "previousDecl": "0x2d376c38", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10timingModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4692,13 +4734,13 @@ }, "inner": [ { - "id": "0x2f57730", + "id": "0x2cdbd770", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingMode" }, "decl": { - "id": "0x2f57688", + "id": "0x2cdbd6c8", "kind": "EnumDecl", "name": "timingMode" } @@ -4706,10 +4748,10 @@ ] }, { - "id": "0x3689060", + "id": "0x2d3768d8", "kind": "ParmVarDecl", "loc": { - "offset": 9783, + "offset": 10073, "col": 58, "tokLen": 1, "includedFrom": { @@ -4718,7 +4760,7 @@ }, "range": { "begin": { - "offset": 9764, + "offset": 10054, "col": 39, "tokLen": 5, "includedFrom": { @@ -4726,7 +4768,7 @@ } }, "end": { - "offset": 9783, + "offset": 10073, "col": 58, "tokLen": 1, "includedFrom": { @@ -4742,12 +4784,12 @@ ] } { - "id": "0x3689688", + "id": "0x2d376f28", "kind": "FunctionDecl", "loc": { - "offset": 9824, + "offset": 10114, "file": "../include/sls/ToString.h", - "line": 305, + "line": 310, "col": 38, "tokLen": 8, "includedFrom": { @@ -4756,7 +4798,7 @@ }, "range": { "begin": { - "offset": 9787, + "offset": 10077, "col": 1, "tokLen": 8, "includedFrom": { @@ -4764,7 +4806,7 @@ } }, "end": { - "offset": 9853, + "offset": 10143, "col": 67, "tokLen": 1, "includedFrom": { @@ -4772,7 +4814,7 @@ } } }, - "previousDecl": "0x36898b8", + "previousDecl": "0x2d377188", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18frameDiscardPolicyEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4786,13 +4828,13 @@ }, "inner": [ { - "id": "0x2f554b0", + "id": "0x2cdb87d0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::frameDiscardPolicy" }, "decl": { - "id": "0x2f55410", + "id": "0x2cdb8730", "kind": "EnumDecl", "name": "frameDiscardPolicy" } @@ -4800,10 +4842,10 @@ ] }, { - "id": "0x3689580", + "id": "0x2d376e28", "kind": "ParmVarDecl", "loc": { - "offset": 9852, + "offset": 10142, "col": 66, "tokLen": 1, "includedFrom": { @@ -4812,7 +4854,7 @@ }, "range": { "begin": { - "offset": 9833, + "offset": 10123, "col": 47, "tokLen": 5, "includedFrom": { @@ -4820,7 +4862,7 @@ } }, "end": { - "offset": 9852, + "offset": 10142, "col": 66, "tokLen": 1, "includedFrom": { @@ -4836,12 +4878,12 @@ ] } { - "id": "0x3689ba8", + "id": "0x2d377478", "kind": "FunctionDecl", "loc": { - "offset": 9885, + "offset": 10175, "file": "../include/sls/ToString.h", - "line": 306, + "line": 311, "col": 30, "tokLen": 8, "includedFrom": { @@ -4850,7 +4892,7 @@ }, "range": { "begin": { - "offset": 9856, + "offset": 10146, "col": 1, "tokLen": 8, "includedFrom": { @@ -4858,7 +4900,7 @@ } }, "end": { - "offset": 9914, + "offset": 10204, "col": 59, "tokLen": 1, "includedFrom": { @@ -4866,7 +4908,7 @@ } } }, - "previousDecl": "0x3689dd8", + "previousDecl": "0x2d3776d8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10fileFormatEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4880,13 +4922,13 @@ }, "inner": [ { - "id": "0x2f556b0", + "id": "0x2cdbbda0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::fileFormat" }, "decl": { - "id": "0x2f55610", + "id": "0x2cdbbd00", "kind": "EnumDecl", "name": "fileFormat" } @@ -4894,10 +4936,10 @@ ] }, { - "id": "0x3689aa0", + "id": "0x2d377378", "kind": "ParmVarDecl", "loc": { - "offset": 9913, + "offset": 10203, "col": 58, "tokLen": 1, "includedFrom": { @@ -4906,7 +4948,7 @@ }, "range": { "begin": { - "offset": 9894, + "offset": 10184, "col": 39, "tokLen": 5, "includedFrom": { @@ -4914,7 +4956,7 @@ } }, "end": { - "offset": 9913, + "offset": 10203, "col": 58, "tokLen": 1, "includedFrom": { @@ -4930,12 +4972,12 @@ ] } { - "id": "0x368abf0", + "id": "0x2d3779c8", "kind": "FunctionDecl", "loc": { - "offset": 9954, + "offset": 10244, "file": "../include/sls/ToString.h", - "line": 307, + "line": 312, "col": 38, "tokLen": 8, "includedFrom": { @@ -4944,7 +4986,7 @@ }, "range": { "begin": { - "offset": 9917, + "offset": 10207, "col": 1, "tokLen": 8, "includedFrom": { @@ -4952,7 +4994,7 @@ } }, "end": { - "offset": 9983, + "offset": 10273, "col": 67, "tokLen": 1, "includedFrom": { @@ -4960,7 +5002,7 @@ } } }, - "previousDecl": "0x368ae28", + "previousDecl": "0x2d377c28", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18externalSignalFlagEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4974,13 +5016,13 @@ }, "inner": [ { - "id": "0x2f57500", + "id": "0x2cdbd540", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::externalSignalFlag" }, "decl": { - "id": "0x2f57458", + "id": "0x2cdbd498", "kind": "EnumDecl", "name": "externalSignalFlag" } @@ -4988,10 +5030,10 @@ ] }, { - "id": "0x3689fc0", + "id": "0x2d3778c8", "kind": "ParmVarDecl", "loc": { - "offset": 9982, + "offset": 10272, "col": 66, "tokLen": 1, "includedFrom": { @@ -5000,7 +5042,7 @@ }, "range": { "begin": { - "offset": 9963, + "offset": 10253, "col": 47, "tokLen": 5, "includedFrom": { @@ -5008,7 +5050,7 @@ } }, "end": { - "offset": 9982, + "offset": 10272, "col": 66, "tokLen": 1, "includedFrom": { @@ -5024,12 +5066,12 @@ ] } { - "id": "0x368b118", + "id": "0x2d377f18", "kind": "FunctionDecl", "loc": { - "offset": 10016, + "offset": 10306, "file": "../include/sls/ToString.h", - "line": 308, + "line": 313, "col": 31, "tokLen": 8, "includedFrom": { @@ -5038,7 +5080,7 @@ }, "range": { "begin": { - "offset": 9986, + "offset": 10276, "col": 1, "tokLen": 8, "includedFrom": { @@ -5046,7 +5088,7 @@ } }, "end": { - "offset": 10045, + "offset": 10335, "col": 60, "tokLen": 1, "includedFrom": { @@ -5054,7 +5096,7 @@ } } }, - "previousDecl": "0x368b348", + "previousDecl": "0x2d378178", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11readoutModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5068,13 +5110,13 @@ }, "inner": [ { - "id": "0x2f5acf0", + "id": "0x2cdc0d30", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::readoutMode" }, "decl": { - "id": "0x2f5ac48", + "id": "0x2cdc0c88", "kind": "EnumDecl", "name": "readoutMode" } @@ -5082,10 +5124,10 @@ ] }, { - "id": "0x368b010", + "id": "0x2d377e18", "kind": "ParmVarDecl", "loc": { - "offset": 10044, + "offset": 10334, "col": 59, "tokLen": 1, "includedFrom": { @@ -5094,7 +5136,7 @@ }, "range": { "begin": { - "offset": 10025, + "offset": 10315, "col": 40, "tokLen": 5, "includedFrom": { @@ -5102,7 +5144,7 @@ } }, "end": { - "offset": 10044, + "offset": 10334, "col": 59, "tokLen": 1, "includedFrom": { @@ -5118,12 +5160,12 @@ ] } { - "id": "0x368b638", + "id": "0x2d378468", "kind": "FunctionDecl", "loc": { - "offset": 10075, + "offset": 10365, "file": "../include/sls/ToString.h", - "line": 309, + "line": 314, "col": 28, "tokLen": 8, "includedFrom": { @@ -5132,7 +5174,7 @@ }, "range": { "begin": { - "offset": 10048, + "offset": 10338, "col": 1, "tokLen": 8, "includedFrom": { @@ -5140,7 +5182,7 @@ } }, "end": { - "offset": 10104, + "offset": 10394, "col": 57, "tokLen": 1, "includedFrom": { @@ -5148,7 +5190,7 @@ } } }, - "previousDecl": "0x368b868", + "previousDecl": "0x2d3786c8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8dacIndexEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5162,13 +5204,13 @@ }, "inner": [ { - "id": "0x2f57a00", + "id": "0x2cdbda40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::dacIndex" }, "decl": { - "id": "0x2f57958", + "id": "0x2cdbd998", "kind": "EnumDecl", "name": "dacIndex" } @@ -5176,10 +5218,10 @@ ] }, { - "id": "0x368b530", + "id": "0x2d378368", "kind": "ParmVarDecl", "loc": { - "offset": 10103, + "offset": 10393, "col": 56, "tokLen": 1, "includedFrom": { @@ -5188,7 +5230,7 @@ }, "range": { "begin": { - "offset": 10084, + "offset": 10374, "col": 37, "tokLen": 5, "includedFrom": { @@ -5196,7 +5238,7 @@ } }, "end": { - "offset": 10103, + "offset": 10393, "col": 56, "tokLen": 1, "includedFrom": { @@ -5212,12 +5254,12 @@ ] } { - "id": "0x368bb58", + "id": "0x2d3789b8", "kind": "FunctionDecl", "loc": { - "offset": 10135, + "offset": 10425, "file": "../include/sls/ToString.h", - "line": 310, + "line": 315, "col": 29, "tokLen": 8, "includedFrom": { @@ -5226,7 +5268,7 @@ }, "range": { "begin": { - "offset": 10107, + "offset": 10397, "col": 1, "tokLen": 8, "includedFrom": { @@ -5234,7 +5276,7 @@ } }, "end": { - "offset": 10164, + "offset": 10454, "col": 58, "tokLen": 1, "includedFrom": { @@ -5242,7 +5284,7 @@ } } }, - "previousDecl": "0x368bd88", + "previousDecl": "0x2d378c18", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs9burstModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5256,13 +5298,13 @@ }, "inner": [ { - "id": "0x2f5b1f0", + "id": "0x2cdc1230", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::burstMode" }, "decl": { - "id": "0x2f5b148", + "id": "0x2cdc1188", "kind": "EnumDecl", "name": "burstMode" } @@ -5270,10 +5312,10 @@ ] }, { - "id": "0x368ba50", + "id": "0x2d3788b8", "kind": "ParmVarDecl", "loc": { - "offset": 10163, + "offset": 10453, "col": 57, "tokLen": 1, "includedFrom": { @@ -5282,7 +5324,7 @@ }, "range": { "begin": { - "offset": 10144, + "offset": 10434, "col": 38, "tokLen": 5, "includedFrom": { @@ -5290,7 +5332,7 @@ } }, "end": { - "offset": 10163, + "offset": 10453, "col": 57, "tokLen": 1, "includedFrom": { @@ -5306,12 +5348,12 @@ ] } { - "id": "0x368c078", + "id": "0x2d378f08", "kind": "FunctionDecl", "loc": { - "offset": 10202, + "offset": 10492, "file": "../include/sls/ToString.h", - "line": 311, + "line": 316, "col": 36, "tokLen": 8, "includedFrom": { @@ -5320,7 +5362,7 @@ }, "range": { "begin": { - "offset": 10167, + "offset": 10457, "col": 1, "tokLen": 8, "includedFrom": { @@ -5328,7 +5370,7 @@ } }, "end": { - "offset": 10231, + "offset": 10521, "col": 65, "tokLen": 1, "includedFrom": { @@ -5336,7 +5378,7 @@ } } }, - "previousDecl": "0x368c2a8", + "previousDecl": "0x2d379168", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16timingSourceTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5350,13 +5392,13 @@ }, "inner": [ { - "id": "0x2f5b470", + "id": "0x2cdc14b0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingSourceType" }, "decl": { - "id": "0x2f5b3c8", + "id": "0x2cdc1408", "kind": "EnumDecl", "name": "timingSourceType" } @@ -5364,10 +5406,10 @@ ] }, { - "id": "0x368bf70", + "id": "0x2d378e08", "kind": "ParmVarDecl", "loc": { - "offset": 10230, + "offset": 10520, "col": 64, "tokLen": 1, "includedFrom": { @@ -5376,7 +5418,7 @@ }, "range": { "begin": { - "offset": 10211, + "offset": 10501, "col": 45, "tokLen": 5, "includedFrom": { @@ -5384,7 +5426,7 @@ } }, "end": { - "offset": 10230, + "offset": 10520, "col": 64, "tokLen": 1, "includedFrom": { @@ -5400,12 +5442,12 @@ ] } { - "id": "0x368c598", + "id": "0x2d379458", "kind": "FunctionDecl", "loc": { - "offset": 10264, + "offset": 10554, "file": "../include/sls/ToString.h", - "line": 312, + "line": 317, "col": 31, "tokLen": 8, "includedFrom": { @@ -5414,7 +5456,7 @@ }, "range": { "begin": { - "offset": 10234, + "offset": 10524, "col": 1, "tokLen": 8, "includedFrom": { @@ -5422,7 +5464,7 @@ } }, "end": { - "offset": 10293, + "offset": 10583, "col": 60, "tokLen": 1, "includedFrom": { @@ -5430,7 +5472,7 @@ } } }, - "previousDecl": "0x368c7c8", + "previousDecl": "0x2d3796b8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11M3_GainCapsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5444,13 +5486,13 @@ }, "inner": [ { - "id": "0x2f5b5d0", + "id": "0x2cdc1610", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::M3_GainCaps" }, "decl": { - "id": "0x2f5b530", + "id": "0x2cdc1570", "kind": "EnumDecl", "name": "M3_GainCaps" } @@ -5458,10 +5500,10 @@ ] }, { - "id": "0x368c490", + "id": "0x2d379358", "kind": "ParmVarDecl", "loc": { - "offset": 10292, + "offset": 10582, "col": 59, "tokLen": 1, "includedFrom": { @@ -5470,7 +5512,7 @@ }, "range": { "begin": { - "offset": 10273, + "offset": 10563, "col": 40, "tokLen": 5, "includedFrom": { @@ -5478,7 +5520,7 @@ } }, "end": { - "offset": 10292, + "offset": 10582, "col": 59, "tokLen": 1, "includedFrom": { @@ -5494,12 +5536,12 @@ ] } { - "id": "0x368cab8", + "id": "0x2d3799a8", "kind": "FunctionDecl", "loc": { - "offset": 10327, + "offset": 10617, "file": "../include/sls/ToString.h", - "line": 313, + "line": 318, "col": 32, "tokLen": 8, "includedFrom": { @@ -5508,7 +5550,7 @@ }, "range": { "begin": { - "offset": 10296, + "offset": 10586, "col": 1, "tokLen": 8, "includedFrom": { @@ -5516,7 +5558,7 @@ } }, "end": { - "offset": 10356, + "offset": 10646, "col": 61, "tokLen": 1, "includedFrom": { @@ -5524,7 +5566,7 @@ } } }, - "previousDecl": "0x368cce8", + "previousDecl": "0x2d379c08", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12portPositionEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5538,13 +5580,13 @@ }, "inner": [ { - "id": "0x2f5bc00", + "id": "0x2cdc1c40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::portPosition" }, "decl": { - "id": "0x2f5bb60", + "id": "0x2cdc1ba0", "kind": "EnumDecl", "name": "portPosition" } @@ -5552,10 +5594,10 @@ ] }, { - "id": "0x368c9b0", + "id": "0x2d3798a8", "kind": "ParmVarDecl", "loc": { - "offset": 10355, + "offset": 10645, "col": 60, "tokLen": 1, "includedFrom": { @@ -5564,7 +5606,7 @@ }, "range": { "begin": { - "offset": 10336, + "offset": 10626, "col": 41, "tokLen": 5, "includedFrom": { @@ -5572,7 +5614,7 @@ } }, "end": { - "offset": 10355, + "offset": 10645, "col": 60, "tokLen": 1, "includedFrom": { @@ -5588,12 +5630,12 @@ ] } { - "id": "0x368cfd8", + "id": "0x2d379ef8", "kind": "FunctionDecl", "loc": { - "offset": 10396, + "offset": 10686, "file": "../include/sls/ToString.h", - "line": 314, + "line": 319, "col": 38, "tokLen": 8, "includedFrom": { @@ -5602,7 +5644,7 @@ }, "range": { "begin": { - "offset": 10359, + "offset": 10649, "col": 1, "tokLen": 8, "includedFrom": { @@ -5610,7 +5652,7 @@ } }, "end": { - "offset": 10425, + "offset": 10715, "col": 67, "tokLen": 1, "includedFrom": { @@ -5618,7 +5660,7 @@ } } }, - "previousDecl": "0x368d208", + "previousDecl": "0x2d37a158", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18streamingInterfaceEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5632,13 +5674,13 @@ }, "inner": [ { - "id": "0x2f5bf90", + "id": "0x2cdc1fd0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::streamingInterface" }, "decl": { - "id": "0x2f5bef0", + "id": "0x2cdc1f30", "kind": "EnumDecl", "name": "streamingInterface" } @@ -5646,10 +5688,10 @@ ] }, { - "id": "0x368ced0", + "id": "0x2d379df8", "kind": "ParmVarDecl", "loc": { - "offset": 10424, + "offset": 10714, "col": 66, "tokLen": 1, "includedFrom": { @@ -5658,7 +5700,7 @@ }, "range": { "begin": { - "offset": 10405, + "offset": 10695, "col": 47, "tokLen": 5, "includedFrom": { @@ -5666,7 +5708,7 @@ } }, "end": { - "offset": 10424, + "offset": 10714, "col": 66, "tokLen": 1, "includedFrom": { @@ -5682,12 +5724,12 @@ ] } { - "id": "0x368d4f8", + "id": "0x2d37a448", "kind": "FunctionDecl", "loc": { - "offset": 10460, + "offset": 10750, "file": "../include/sls/ToString.h", - "line": 315, + "line": 320, "col": 33, "tokLen": 8, "includedFrom": { @@ -5696,7 +5738,7 @@ }, "range": { "begin": { - "offset": 10428, + "offset": 10718, "col": 1, "tokLen": 8, "includedFrom": { @@ -5704,7 +5746,7 @@ } }, "end": { - "offset": 10489, + "offset": 10779, "col": 62, "tokLen": 1, "includedFrom": { @@ -5712,7 +5754,7 @@ } } }, - "previousDecl": "0x368d728", + "previousDecl": "0x2d37a6a8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs13vetoAlgorithmEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5726,13 +5768,13 @@ }, "inner": [ { - "id": "0x2f5c350", + "id": "0x2cdc2390", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::vetoAlgorithm" }, "decl": { - "id": "0x2f5c2b0", + "id": "0x2cdc22f0", "kind": "EnumDecl", "name": "vetoAlgorithm" } @@ -5740,10 +5782,10 @@ ] }, { - "id": "0x368d3f0", + "id": "0x2d37a348", "kind": "ParmVarDecl", "loc": { - "offset": 10488, + "offset": 10778, "col": 61, "tokLen": 1, "includedFrom": { @@ -5752,7 +5794,7 @@ }, "range": { "begin": { - "offset": 10469, + "offset": 10759, "col": 42, "tokLen": 5, "includedFrom": { @@ -5760,7 +5802,7 @@ } }, "end": { - "offset": 10488, + "offset": 10778, "col": 61, "tokLen": 1, "includedFrom": { @@ -5776,12 +5818,12 @@ ] } { - "id": "0x368da18", + "id": "0x2d37a998", "kind": "FunctionDecl", "loc": { - "offset": 10519, + "offset": 10809, "file": "../include/sls/ToString.h", - "line": 316, + "line": 321, "col": 28, "tokLen": 8, "includedFrom": { @@ -5790,7 +5832,7 @@ }, "range": { "begin": { - "offset": 10492, + "offset": 10782, "col": 1, "tokLen": 8, "includedFrom": { @@ -5798,7 +5840,7 @@ } }, "end": { - "offset": 10548, + "offset": 10838, "col": 57, "tokLen": 1, "includedFrom": { @@ -5806,7 +5848,7 @@ } } }, - "previousDecl": "0x368dc48", + "previousDecl": "0x2d37abf8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8gainModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5820,13 +5862,13 @@ }, "inner": [ { - "id": "0x2f5c4b0", + "id": "0x2cdc24f0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::gainMode" }, "decl": { - "id": "0x2f5c410", + "id": "0x2cdc2450", "kind": "EnumDecl", "name": "gainMode" } @@ -5834,10 +5876,10 @@ ] }, { - "id": "0x368d910", + "id": "0x2d37a898", "kind": "ParmVarDecl", "loc": { - "offset": 10547, + "offset": 10837, "col": 56, "tokLen": 1, "includedFrom": { @@ -5846,7 +5888,7 @@ }, "range": { "begin": { - "offset": 10528, + "offset": 10818, "col": 37, "tokLen": 5, "includedFrom": { @@ -5854,7 +5896,7 @@ } }, "end": { - "offset": 10547, + "offset": 10837, "col": 56, "tokLen": 1, "includedFrom": { @@ -5870,12 +5912,12 @@ ] } { - "id": "0x368df38", + "id": "0x2d37aee8", "kind": "FunctionDecl", "loc": { - "offset": 10578, + "offset": 10868, "file": "../include/sls/ToString.h", - "line": 317, + "line": 322, "col": 28, "tokLen": 8, "includedFrom": { @@ -5884,7 +5926,7 @@ }, "range": { "begin": { - "offset": 10551, + "offset": 10841, "col": 1, "tokLen": 8, "includedFrom": { @@ -5892,7 +5934,7 @@ } }, "end": { - "offset": 10607, + "offset": 10897, "col": 57, "tokLen": 1, "includedFrom": { @@ -5900,7 +5942,7 @@ } } }, - "previousDecl": "0x368e168", + "previousDecl": "0x2d37b148", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8polarityEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5914,13 +5956,13 @@ }, "inner": [ { - "id": "0x2f5c750", + "id": "0x2cdc2790", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::polarity" }, "decl": { - "id": "0x2f5c6b0", + "id": "0x2cdc26f0", "kind": "EnumDecl", "name": "polarity" } @@ -5928,10 +5970,10 @@ ] }, { - "id": "0x368de30", + "id": "0x2d37ade8", "kind": "ParmVarDecl", "loc": { - "offset": 10606, + "offset": 10896, "col": 56, "tokLen": 1, "includedFrom": { @@ -5940,7 +5982,7 @@ }, "range": { "begin": { - "offset": 10587, + "offset": 10877, "col": 37, "tokLen": 5, "includedFrom": { @@ -5948,7 +5990,7 @@ } }, "end": { - "offset": 10606, + "offset": 10896, "col": 56, "tokLen": 1, "includedFrom": { @@ -5964,368 +6006,200 @@ ] } { - "id": "0x368e408", + "id": "0x2d37b438", "kind": "FunctionDecl", "loc": { - "offset": 10632, - "file": "../include/sls/ToString.h", - "line": 319, - "col": 22, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10611, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10661, - "col": 51, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368e608", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToIjEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "uint32_t (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "unsigned int" - }, - "inner": [ - { - "id": "0x230bbd0", - "kind": "BuiltinType", - "type": { - "qualType": "unsigned int" - } - } - ] - }, - { - "id": "0x368e310", - "kind": "ParmVarDecl", - "loc": { - "offset": 10660, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10641, - "col": 31, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10660, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -} -{ - "id": "0x368e8a8", - "kind": "FunctionDecl", - "loc": { - "offset": 10685, - "file": "../include/sls/ToString.h", - "line": 320, - "col": 22, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10664, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10714, - "col": 51, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368eaa8", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToImEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "uint64_t (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "unsigned long" - }, - "inner": [ - { - "id": "0x230bbf0", - "kind": "BuiltinType", - "type": { - "qualType": "unsigned long" - } - } - ] - }, - { - "id": "0x368e7b0", - "kind": "ParmVarDecl", - "loc": { - "offset": 10713, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10694, - "col": 31, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10713, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -} -{ - "id": "0x368ed50", - "kind": "FunctionDecl", - "loc": { - "offset": 10733, - "file": "../include/sls/ToString.h", - "line": 321, - "col": 17, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10717, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10762, - "col": 46, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368ef58", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToIiEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "int (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "int" - }, - "inner": [ - { - "id": "0x230bb30", - "kind": "BuiltinType", - "type": { - "qualType": "int" - } - } - ] - }, - { - "id": "0x368ec50", - "kind": "ParmVarDecl", - "loc": { - "offset": 10761, - "col": 45, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10742, - "col": 26, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10761, - "col": 45, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -} -{ - "id": "0x368f1c8", - "kind": "FunctionDecl", - "loc": { - "offset": 10782, - "file": "../include/sls/ToString.h", - "line": 322, - "col": 18, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10765, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10811, - "col": 47, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368f3c8", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToIbEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "bool (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "bool" - }, - "inner": [ - { - "id": "0x230bab0", - "kind": "BuiltinType", - "type": { - "qualType": "bool" - } - } - ] - }, - { - "id": "0x368f100", - "kind": "ParmVarDecl", - "loc": { - "offset": 10810, - "col": 46, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10791, - "col": 27, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10810, - "col": 46, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -} -{ - "id": "0x368f668", - "kind": "FunctionDecl", - "loc": { - "offset": 10834, + "offset": 10936, "file": "../include/sls/ToString.h", "line": 323, + "col": 37, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 10900, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 10965, + "col": 66, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37b698", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs17timingInfoDecoderEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::timingInfoDecoder (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "inner": [ + { + "id": "0x2cdc28f0", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "decl": { + "id": "0x2cdc2850", + "kind": "EnumDecl", + "name": "timingInfoDecoder" + } + } + ] + }, + { + "id": "0x2d37b338", + "kind": "ParmVarDecl", + "loc": { + "offset": 10964, + "col": 65, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 10945, + "col": 46, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 10964, + "col": 65, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37b988", + "kind": "FunctionDecl", + "loc": { + "offset": 11001, + "file": "../include/sls/ToString.h", + "line": 324, + "col": 34, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 10968, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11030, + "col": 63, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37bbe8", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs14collectionModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::collectionMode (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "inner": [ + { + "id": "0x2cdc2a50", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "decl": { + "id": "0x2cdc29b0", + "kind": "EnumDecl", + "name": "collectionMode" + } + } + ] + }, + { + "id": "0x2d37b888", + "kind": "ParmVarDecl", + "loc": { + "offset": 11029, + "col": 62, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11010, + "col": 43, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11029, + "col": 62, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37be88", + "kind": "FunctionDecl", + "loc": { + "offset": 11054, + "file": "../include/sls/ToString.h", + "line": 326, "col": 21, "tokLen": 8, "includedFrom": { @@ -6334,7 +6208,7 @@ }, "range": { "begin": { - "offset": 10814, + "offset": 11034, "col": 1, "tokLen": 8, "includedFrom": { @@ -6342,7 +6216,7 @@ } }, "end": { - "offset": 10863, + "offset": 11083, "col": 50, "tokLen": 1, "includedFrom": { @@ -6350,33 +6224,33 @@ } } }, - "previousDecl": "0x368f868", + "previousDecl": "0x2d37c0b8", "name": "StringTo", - "mangledName": "_ZN3sls8StringToIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "mangledName": "_ZN3sls8StringToIhEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { - "qualType": "int64_t (const std::string &)" + "qualType": "uint8_t (const std::string &)" }, "inner": [ { "kind": "TemplateArgument", "type": { - "qualType": "long" + "qualType": "unsigned char" }, "inner": [ { - "id": "0x230bb50", + "id": "0x2bf08d50", "kind": "BuiltinType", "type": { - "qualType": "long" + "qualType": "unsigned char" } } ] }, { - "id": "0x368f570", + "id": "0x2d37bd98", "kind": "ParmVarDecl", "loc": { - "offset": 10862, + "offset": 11082, "col": 49, "tokLen": 1, "includedFrom": { @@ -6385,7 +6259,7 @@ }, "range": { "begin": { - "offset": 10843, + "offset": 11063, "col": 30, "tokLen": 5, "includedFrom": { @@ -6393,7 +6267,7 @@ } }, "end": { - "offset": 10862, + "offset": 11082, "col": 49, "tokLen": 1, "includedFrom": { @@ -6409,12 +6283,546 @@ ] } { - "id": "0x3690758", + "id": "0x2d37c358", + "kind": "FunctionDecl", + "loc": { + "offset": 11107, + "file": "../include/sls/ToString.h", + "line": 327, + "col": 22, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11086, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11136, + "col": 51, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37c588", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToItEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint16_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned short" + }, + "inner": [ + { + "id": "0x2bf08d70", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned short" + } + } + ] + }, + { + "id": "0x2d37c268", + "kind": "ParmVarDecl", + "loc": { + "offset": 11135, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11116, + "col": 31, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11135, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37c828", + "kind": "FunctionDecl", + "loc": { + "offset": 11160, + "file": "../include/sls/ToString.h", + "line": 328, + "col": 22, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11139, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11189, + "col": 51, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37ca58", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIjEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint32_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned int" + }, + "inner": [ + { + "id": "0x2bf08d90", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned int" + } + } + ] + }, + { + "id": "0x2d37c738", + "kind": "ParmVarDecl", + "loc": { + "offset": 11188, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11169, + "col": 31, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11188, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37ccc8", + "kind": "FunctionDecl", + "loc": { + "offset": 11213, + "file": "../include/sls/ToString.h", + "line": 329, + "col": 22, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11192, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11242, + "col": 51, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37cef8", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToImEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint64_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned long" + }, + "inner": [ + { + "id": "0x2bf08db0", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned long" + } + } + ] + }, + { + "id": "0x2d37cc08", + "kind": "ParmVarDecl", + "loc": { + "offset": 11241, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11222, + "col": 31, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11241, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37d1a0", + "kind": "FunctionDecl", + "loc": { + "offset": 11261, + "file": "../include/sls/ToString.h", + "line": 330, + "col": 17, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11245, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11290, + "col": 46, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37d3d8", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIiEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "int (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "int" + }, + "inner": [ + { + "id": "0x2bf08cf0", + "kind": "BuiltinType", + "type": { + "qualType": "int" + } + } + ] + }, + { + "id": "0x2d37d0a8", + "kind": "ParmVarDecl", + "loc": { + "offset": 11289, + "col": 45, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11270, + "col": 26, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11289, + "col": 45, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37d648", + "kind": "FunctionDecl", + "loc": { + "offset": 11310, + "file": "../include/sls/ToString.h", + "line": 331, + "col": 18, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11293, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11339, + "col": 47, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37d878", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIbEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "bool (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "bool" + }, + "inner": [ + { + "id": "0x2bf08c70", + "kind": "BuiltinType", + "type": { + "qualType": "bool" + } + } + ] + }, + { + "id": "0x2d37d588", + "kind": "ParmVarDecl", + "loc": { + "offset": 11338, + "col": 46, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11319, + "col": 27, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11338, + "col": 46, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37db18", + "kind": "FunctionDecl", + "loc": { + "offset": 11362, + "file": "../include/sls/ToString.h", + "line": 332, + "col": 21, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11342, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11391, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37dd48", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "int64_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "long" + }, + "inner": [ + { + "id": "0x2bf08d10", + "kind": "BuiltinType", + "type": { + "qualType": "long" + } + } + ] + }, + { + "id": "0x2d37da28", + "kind": "ParmVarDecl", + "loc": { + "offset": 11390, + "col": 49, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11371, + "col": 30, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11390, + "col": 49, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +} +{ + "id": "0x2d37ec60", "kind": "FunctionTemplateDecl", "loc": { - "offset": 11100, + "offset": 11628, "file": "../include/sls/ToString.h", - "line": 333, + "line": 342, "col": 16, "tokLen": 8, "includedFrom": { @@ -6423,8 +6831,8 @@ }, "range": { "begin": { - "offset": 11063, - "line": 332, + "offset": 11591, + "line": 341, "col": 1, "tokLen": 8, "includedFrom": { @@ -6432,8 +6840,8 @@ } }, "end": { - "offset": 11310, - "line": 339, + "offset": 11838, + "line": 348, "col": 1, "tokLen": 1, "includedFrom": { @@ -6444,11 +6852,11 @@ "name": "StringTo", "inner": [ { - "id": "0x3690160", + "id": "0x2d37e648", "kind": "TemplateTypeParmDecl", "loc": { - "offset": 11082, - "line": 332, + "offset": 11610, + "line": 341, "col": 20, "tokLen": 1, "includedFrom": { @@ -6457,7 +6865,7 @@ }, "range": { "begin": { - "offset": 11073, + "offset": 11601, "col": 11, "tokLen": 8, "includedFrom": { @@ -6465,7 +6873,7 @@ } }, "end": { - "offset": 11082, + "offset": 11610, "col": 20, "tokLen": 1, "includedFrom": { @@ -6480,11 +6888,11 @@ "index": 0 }, { - "id": "0x36906b8", + "id": "0x2d37ebb8", "kind": "FunctionDecl", "loc": { - "offset": 11100, - "line": 333, + "offset": 11628, + "line": 342, "col": 16, "tokLen": 8, "includedFrom": { @@ -6493,7 +6901,7 @@ }, "range": { "begin": { - "offset": 11085, + "offset": 11613, "col": 1, "tokLen": 3, "includedFrom": { @@ -6501,8 +6909,8 @@ } }, "end": { - "offset": 11310, - "line": 339, + "offset": 11838, + "line": 348, "col": 1, "tokLen": 1, "includedFrom": { @@ -6516,11 +6924,11 @@ }, "inner": [ { - "id": "0x36905a0", + "id": "0x2d37eaa0", "kind": "ParmVarDecl", "loc": { - "offset": 11141, - "line": 333, + "offset": 11669, + "line": 342, "col": 57, "tokLen": 7, "includedFrom": { @@ -6529,7 +6937,7 @@ }, "range": { "begin": { - "offset": 11109, + "offset": 11637, "col": 25, "tokLen": 5, "includedFrom": { @@ -6537,7 +6945,7 @@ } }, "end": { - "offset": 11141, + "offset": 11669, "col": 57, "tokLen": 7, "includedFrom": { @@ -6552,11 +6960,11 @@ } }, { - "id": "0x36bd368", + "id": "0x2d3b6478", "kind": "CompoundStmt", "range": { "begin": { - "offset": 11150, + "offset": 11678, "col": 66, "tokLen": 1, "includedFrom": { @@ -6564,8 +6972,8 @@ } }, "end": { - "offset": 11310, - "line": 339, + "offset": 11838, + "line": 348, "col": 1, "tokLen": 1, "includedFrom": { @@ -6575,12 +6983,12 @@ }, "inner": [ { - "id": "0x3690a40", + "id": "0x2d37ef50", "kind": "DeclStmt", "range": { "begin": { - "offset": 11156, - "line": 334, + "offset": 11684, + "line": 343, "col": 5, "tokLen": 3, "includedFrom": { @@ -6588,7 +6996,7 @@ } }, "end": { - "offset": 11177, + "offset": 11705, "col": 26, "tokLen": 1, "includedFrom": { @@ -6598,10 +7006,10 @@ }, "inner": [ { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "loc": { - "offset": 11171, + "offset": 11699, "col": 20, "tokLen": 6, "includedFrom": { @@ -6610,7 +7018,7 @@ }, "range": { "begin": { - "offset": 11156, + "offset": 11684, "col": 5, "tokLen": 3, "includedFrom": { @@ -6618,7 +7026,7 @@ } }, "end": { - "offset": 11171, + "offset": 11699, "col": 20, "tokLen": 6, "includedFrom": { @@ -6637,12 +7045,12 @@ ] }, { - "id": "0x36b69a8", + "id": "0x2d3a9118", "kind": "CallExpr", "range": { "begin": { - "offset": 11183, - "line": 335, + "offset": 11711, + "line": 344, "col": 5, "tokLen": 6, "includedFrom": { @@ -6650,7 +7058,7 @@ } }, "end": { - "offset": 11212, + "offset": 11740, "col": 34, "tokLen": 1, "includedFrom": { @@ -6664,11 +7072,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3690a78", + "id": "0x2d37ef88", "kind": "CXXDependentScopeMemberExpr", "range": { "begin": { - "offset": 11183, + "offset": 11711, "col": 5, "tokLen": 6, "includedFrom": { @@ -6676,7 +7084,7 @@ } }, "end": { - "offset": 11190, + "offset": 11718, "col": 12, "tokLen": 7, "includedFrom": { @@ -6692,11 +7100,11 @@ "member": "reserve", "inner": [ { - "id": "0x3690a58", + "id": "0x2d37ef68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11183, + "offset": 11711, "col": 5, "tokLen": 6, "includedFrom": { @@ -6704,7 +7112,7 @@ } }, "end": { - "offset": 11183, + "offset": 11711, "col": 5, "tokLen": 6, "includedFrom": { @@ -6718,7 +7126,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "name": "result", "type": { @@ -6730,11 +7138,11 @@ ] }, { - "id": "0x36b6490", + "id": "0x2d3a8c00", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6742,7 +7150,7 @@ } }, "end": { - "offset": 11211, + "offset": 11739, "col": 33, "tokLen": 1, "includedFrom": { @@ -6752,17 +7160,17 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::vector::size_type", - "typeAliasDeclId": "0x29007b8" + "qualType": "size_type", + "typeAliasDeclId": "0x2c532128" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36b6460", + "id": "0x2d3a8bd0", "kind": "MemberExpr", "range": { "begin": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6770,7 +7178,7 @@ } }, "end": { - "offset": 11206, + "offset": 11734, "col": 28, "tokLen": 4, "includedFrom": { @@ -6784,14 +7192,14 @@ "valueCategory": "prvalue", "name": "size", "isArrow": false, - "referencedMemberDecl": "0x36a9e90", + "referencedMemberDecl": "0x2d39e748", "inner": [ { - "id": "0x3690ac0", + "id": "0x2d37efd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6799,7 +7207,7 @@ } }, "end": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6813,7 +7221,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36905a0", + "id": "0x2d37eaa0", "kind": "ParmVarDecl", "name": "strings", "type": { @@ -6828,12 +7236,12 @@ ] }, { - "id": "0x36bd140", + "id": "0x2d3b6250", "kind": "CXXForRangeStmt", "range": { "begin": { - "offset": 11219, - "line": 336, + "offset": 11747, + "line": 345, "col": 5, "tokLen": 3, "includedFrom": { @@ -6841,8 +7249,8 @@ } }, "end": { - "offset": 11288, - "line": 337, + "offset": 11816, + "line": 346, "col": 40, "tokLen": 1, "includedFrom": { @@ -6853,12 +7261,12 @@ "inner": [ {}, { - "id": "0x36b6d50", + "id": "0x2d3a94c0", "kind": "DeclStmt", "range": { "begin": { - "offset": 11240, - "line": 336, + "offset": 11768, + "line": 345, "col": 26, "tokLen": 7, "includedFrom": { @@ -6866,7 +7274,7 @@ } }, "end": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6876,10 +7284,10 @@ }, "inner": [ { - "id": "0x36b6b50", + "id": "0x2d3a92c0", "kind": "VarDecl", "loc": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6888,7 +7296,7 @@ }, "range": { "begin": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6896,7 +7304,7 @@ } }, "end": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6913,11 +7321,11 @@ "init": "c", "inner": [ { - "id": "0x36b69d0", + "id": "0x2d3a9140", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6925,7 +7333,7 @@ } }, "end": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6939,7 +7347,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36905a0", + "id": "0x2d37eaa0", "kind": "ParmVarDecl", "name": "strings", "type": { @@ -6952,11 +7360,11 @@ ] }, { - "id": "0x36bb028", + "id": "0x2d3b3a60", "kind": "DeclStmt", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6964,7 +7372,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6974,10 +7382,10 @@ }, "inner": [ { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "loc": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6986,7 +7394,7 @@ }, "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6994,7 +7402,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7007,17 +7415,17 @@ "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "init": "c", "inner": [ { - "id": "0x36babf8", + "id": "0x2d3b3320", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7025,7 +7433,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7035,17 +7443,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36babc8", + "id": "0x2d3b32f0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7053,7 +7461,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7063,23 +7471,23 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (__gnu_cxx::__normal_iterator *, std::vector>> &&) noexcept" + "qualType": "void (__normal_iterator *, vector>> &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x36ba968", + "id": "0x2d3b30b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7087,7 +7495,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7097,18 +7505,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36b6f88", + "id": "0x2d3a96f8", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7116,7 +7524,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7126,17 +7534,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36b6f58", + "id": "0x2d3a96c8", "kind": "MemberExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7144,7 +7552,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7158,14 +7566,14 @@ "valueCategory": "prvalue", "name": "begin", "isArrow": false, - "referencedMemberDecl": "0x36a9440", + "referencedMemberDecl": "0x2d39da60", "inner": [ { - "id": "0x36b6d68", + "id": "0x2d3a94d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7173,7 +7581,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7187,7 +7595,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6b50", + "id": "0x2d3a92c0", "kind": "VarDecl", "name": "__range2", "type": { @@ -7210,11 +7618,11 @@ ] }, { - "id": "0x36bb040", + "id": "0x2d3b3a78", "kind": "DeclStmt", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7222,7 +7630,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7232,10 +7640,10 @@ }, "inner": [ { - "id": "0x36b6e90", + "id": "0x2d3a9600", "kind": "VarDecl", "loc": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7244,7 +7652,7 @@ }, "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7252,7 +7660,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7265,17 +7673,17 @@ "name": "__end2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "init": "c", "inner": [ { - "id": "0x36bb010", + "id": "0x2d3b3a48", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7283,7 +7691,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7293,17 +7701,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36bafe0", + "id": "0x2d3b3a18", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7311,7 +7719,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7321,23 +7729,23 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (__gnu_cxx::__normal_iterator *, std::vector>> &&) noexcept" + "qualType": "void (__normal_iterator *, vector>> &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x36bafc8", + "id": "0x2d3b3a00", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7345,7 +7753,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7355,18 +7763,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36baca0", + "id": "0x2d3b33c8", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7374,7 +7782,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7384,17 +7792,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36bac70", + "id": "0x2d3b3398", "kind": "MemberExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7402,7 +7810,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7416,14 +7824,14 @@ "valueCategory": "prvalue", "name": "end", "isArrow": false, - "referencedMemberDecl": "0x36a9600", + "referencedMemberDecl": "0x2d39dc30", "inner": [ { - "id": "0x36b6d88", + "id": "0x2d3a94f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7431,7 +7839,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7445,7 +7853,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6b50", + "id": "0x2d3a92c0", "kind": "VarDecl", "name": "__range2", "type": { @@ -7468,11 +7876,11 @@ ] }, { - "id": "0x36bcd60", + "id": "0x2d3b5e70", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7480,7 +7888,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7495,11 +7903,11 @@ "adl": true, "inner": [ { - "id": "0x36bcd48", + "id": "0x2d3b5e58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7507,7 +7915,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7516,17 +7924,17 @@ } }, "type": { - "qualType": "bool (*)(const __normal_iterator *, std::vector>> &, const __normal_iterator *, std::vector>> &) noexcept" + "qualType": "bool (*)(const __normal_iterator *, vector, allocator>>> &, const __normal_iterator *, vector, allocator>>> &) noexcept" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36bccd0", + "id": "0x2d3b5dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7534,7 +7942,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7543,26 +7951,26 @@ } }, "type": { - "qualType": "bool (const __normal_iterator *, std::vector>> &, const __normal_iterator *, std::vector>> &) noexcept" + "qualType": "bool (const __normal_iterator *, vector, allocator>>> &, const __normal_iterator *, vector, allocator>>> &) noexcept" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36bb9d0", + "id": "0x2d3b4560", "kind": "FunctionDecl", "name": "operator!=", "type": { - "qualType": "bool (const __normal_iterator *, std::vector>> &, const __normal_iterator *, std::vector>> &) noexcept" + "qualType": "bool (const __normal_iterator *, vector, allocator>>> &, const __normal_iterator *, vector, allocator>>> &) noexcept" } } } ] }, { - "id": "0x36bcca0", + "id": "0x2d3b5da8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7570,7 +7978,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7580,17 +7988,17 @@ }, "type": { "desugaredQualType": "const __gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "const __normal_iterator *, std::vector>>" + "qualType": "const __normal_iterator *, vector, allocator>>>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x36bb058", + "id": "0x2d3b3a90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7598,7 +8006,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7608,29 +8016,29 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } ] }, { - "id": "0x36bccb8", + "id": "0x2d3b5dc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7638,7 +8046,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7648,17 +8056,17 @@ }, "type": { "desugaredQualType": "const __gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "const __normal_iterator *, std::vector>>" + "qualType": "const __normal_iterator *, vector, allocator>>>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x36bb078", + "id": "0x2d3b3ab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7666,7 +8074,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7676,18 +8084,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6e90", + "id": "0x2d3a9600", "kind": "VarDecl", "name": "__end2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } @@ -7696,11 +8104,11 @@ ] }, { - "id": "0x36bce50", + "id": "0x2d3b5f60", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7708,7 +8116,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7717,16 +8125,17 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>" + "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", + "qualType": "__normal_iterator *, vector>>" }, "valueCategory": "lvalue", "inner": [ { - "id": "0x36bce38", + "id": "0x2d3b5f48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7734,7 +8143,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7743,17 +8152,17 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>> &(*)() noexcept" + "qualType": "__normal_iterator *, vector>> &(*)() noexcept" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36bcdb8", + "id": "0x2d3b5ec8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7761,7 +8170,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7770,26 +8179,26 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>> &() noexcept" + "qualType": "__normal_iterator *, vector>> &() noexcept" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b8d20", + "id": "0x2d3b0dc8", "kind": "CXXMethodDecl", "name": "operator++", "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>> &() noexcept" + "qualType": "__normal_iterator *, vector>> &() noexcept" } } } ] }, { - "id": "0x36bcd98", + "id": "0x2d3b5ea8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7797,7 +8206,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7807,29 +8216,29 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } ] }, { - "id": "0x36b6ac8", + "id": "0x2d3a9238", "kind": "DeclStmt", "range": { "begin": { - "offset": 11224, + "offset": 11752, "col": 10, "tokLen": 5, "includedFrom": { @@ -7837,7 +8246,7 @@ } }, "end": { - "offset": 11247, + "offset": 11775, "col": 33, "tokLen": 1, "includedFrom": { @@ -7847,10 +8256,10 @@ }, "inner": [ { - "id": "0x36b6a60", + "id": "0x2d3a91d0", "kind": "VarDecl", "loc": { - "offset": 11236, + "offset": 11764, "col": 22, "tokLen": 1, "includedFrom": { @@ -7859,7 +8268,7 @@ }, "range": { "begin": { - "offset": 11224, + "offset": 11752, "col": 10, "tokLen": 5, "includedFrom": { @@ -7867,7 +8276,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7883,11 +8292,11 @@ "init": "c", "inner": [ { - "id": "0x36bcf70", + "id": "0x2d3b6080", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7895,7 +8304,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7910,11 +8319,11 @@ "valueCategory": "lvalue", "inner": [ { - "id": "0x36bcf58", + "id": "0x2d3b6068", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7922,7 +8331,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7931,17 +8340,17 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>::reference (*)() const noexcept" + "qualType": "reference (*)() const noexcept" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36bcee0", + "id": "0x2d3b5ff0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7949,7 +8358,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7958,26 +8367,26 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>::reference () const noexcept" + "qualType": "reference () const noexcept" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b8aa0", + "id": "0x2d3b0a80", "kind": "CXXMethodDecl", "name": "operator*", "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>::reference () const noexcept" + "qualType": "reference () const noexcept" } } } ] }, { - "id": "0x36bcec8", + "id": "0x2d3b5fd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7985,7 +8394,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -8000,11 +8409,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x36bce80", + "id": "0x2d3b5f90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -8012,7 +8421,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -8022,18 +8431,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } @@ -8046,12 +8455,12 @@ ] }, { - "id": "0x36bd308", + "id": "0x2d3b6418", "kind": "CallExpr", "range": { "begin": { - "offset": 11257, - "line": 337, + "offset": 11785, + "line": 346, "col": 9, "tokLen": 6, "includedFrom": { @@ -8059,7 +8468,7 @@ } }, "end": { - "offset": 11288, + "offset": 11816, "col": 40, "tokLen": 1, "includedFrom": { @@ -8073,11 +8482,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x36bd1c0", + "id": "0x2d3b62d0", "kind": "CXXDependentScopeMemberExpr", "range": { "begin": { - "offset": 11257, + "offset": 11785, "col": 9, "tokLen": 6, "includedFrom": { @@ -8085,7 +8494,7 @@ } }, "end": { - "offset": 11264, + "offset": 11792, "col": 16, "tokLen": 9, "includedFrom": { @@ -8101,11 +8510,11 @@ "member": "push_back", "inner": [ { - "id": "0x36bd1a0", + "id": "0x2d3b62b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11257, + "offset": 11785, "col": 9, "tokLen": 6, "includedFrom": { @@ -8113,7 +8522,7 @@ } }, "end": { - "offset": 11257, + "offset": 11785, "col": 9, "tokLen": 6, "includedFrom": { @@ -8127,7 +8536,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "name": "result", "type": { @@ -8139,11 +8548,11 @@ ] }, { - "id": "0x36bd2e0", + "id": "0x2d3b63f0", "kind": "CallExpr", "range": { "begin": { - "offset": 11274, + "offset": 11802, "col": 26, "tokLen": 8, "includedFrom": { @@ -8151,7 +8560,7 @@ } }, "end": { - "offset": 11287, + "offset": 11815, "col": 39, "tokLen": 1, "includedFrom": { @@ -8165,11 +8574,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x36bd238", + "id": "0x2d3b6348", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 11274, + "offset": 11802, "col": 26, "tokLen": 8, "includedFrom": { @@ -8177,7 +8586,7 @@ } }, "end": { - "offset": 11284, + "offset": 11812, "col": 36, "tokLen": 1, "includedFrom": { @@ -8193,28 +8602,28 @@ "name": "StringTo", "lookups": [ { - "id": "0x3690758", + "id": "0x2d37ec60", "kind": "FunctionTemplateDecl", "name": "StringTo" }, { - "id": "0x3687908", + "id": "0x2d3750e0", "kind": "FunctionTemplateDecl", "name": "StringTo" }, { - "id": "0x3654da8", + "id": "0x2d33fd20", "kind": "FunctionTemplateDecl", "name": "StringTo" } ] }, { - "id": "0x36bd2c0", + "id": "0x2d3b63d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11286, + "offset": 11814, "col": 38, "tokLen": 1, "includedFrom": { @@ -8222,7 +8631,7 @@ } }, "end": { - "offset": 11286, + "offset": 11814, "col": 38, "tokLen": 1, "includedFrom": { @@ -8236,7 +8645,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6a60", + "id": "0x2d3a91d0", "kind": "VarDecl", "name": "s", "type": { @@ -8251,12 +8660,12 @@ ] }, { - "id": "0x36bd350", + "id": "0x2d3b6460", "kind": "ReturnStmt", "range": { "begin": { - "offset": 11295, - "line": 338, + "offset": 11823, + "line": 347, "col": 5, "tokLen": 6, "includedFrom": { @@ -8264,7 +8673,7 @@ } }, "end": { - "offset": 11302, + "offset": 11830, "col": 12, "tokLen": 6, "includedFrom": { @@ -8274,11 +8683,11 @@ }, "inner": [ { - "id": "0x36bd330", + "id": "0x2d3b6440", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11302, + "offset": 11830, "col": 12, "tokLen": 6, "includedFrom": { @@ -8286,7 +8695,7 @@ } }, "end": { - "offset": 11302, + "offset": 11830, "col": 12, "tokLen": 6, "includedFrom": { @@ -8300,7 +8709,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "name": "result", "type": { @@ -8318,29 +8727,29 @@ ] } { - "id": "0x3849458", + "id": "0x7f0da6e85d18", "kind": "FunctionDecl", "loc": { - "offset": 20783, + "offset": 21816, "file": "ToString.cpp", - "line": 665, + "line": 706, "col": 32, "tokLen": 8 }, "range": { "begin": { - "offset": 20752, + "offset": 21785, "col": 1, "tokLen": 8 }, "end": { - "offset": 21262, - "line": 681, + "offset": 22375, + "line": 724, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3688208", + "previousDecl": "0x2d3759e8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12detectorTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -8354,13 +8763,13 @@ }, "inner": [ { - "id": "0x2f41f40", + "id": "0x2cd03d20", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorType" }, "decl": { - "id": "0x2f41ea0", + "id": "0x2cd03c80", "kind": "EnumDecl", "name": "detectorType" } @@ -8368,22 +8777,22 @@ ] }, { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "loc": { - "offset": 20811, - "line": 665, + "offset": 21844, + "line": 706, "col": 60, "tokLen": 1 }, "range": { "begin": { - "offset": 20792, + "offset": 21825, "col": 41, "tokLen": 5 }, "end": { - "offset": 20811, + "offset": 21844, "col": 60, "tokLen": 1 } @@ -8395,52 +8804,52 @@ } }, { - "id": "0x3850148", + "id": "0x7f0da6e8ff78", "kind": "CompoundStmt", "range": { "begin": { - "offset": 20814, + "offset": 21847, "col": 63, "tokLen": 1 }, "end": { - "offset": 21262, - "line": 681, + "offset": 22375, + "line": 724, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x384a460", + "id": "0x7f0da6e87208", "kind": "IfStmt", "range": { "begin": { - "offset": 20820, - "line": 666, + "offset": 21853, + "line": 707, "col": 5, "tokLen": 2 }, "end": { - "offset": 20859, - "line": 667, + "offset": 21892, + "line": 708, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x384a3b0", + "id": "0x7f0da6e87158", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20824, - "line": 666, + "offset": 21857, + "line": 707, "col": 9, "tokLen": 1 }, "end": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 } @@ -8452,67 +8861,67 @@ "adl": true, "inner": [ { - "id": "0x384a398", + "id": "0x7f0da6e87140", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 }, "end": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384a378", + "id": "0x7f0da6e87120", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 }, "end": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3849610", + "id": "0x7f0da6e85f00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20824, + "offset": 21857, "col": 9, "tokLen": 1 }, "end": { - "offset": 20824, + "offset": 21857, "col": 9, "tokLen": 1 } @@ -8520,11 +8929,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -8533,16 +8942,16 @@ } }, { - "id": "0x384a360", + "id": "0x7f0da6e87108", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 }, "end": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 } @@ -8554,16 +8963,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3849630", + "id": "0x7f0da6e85f20", "kind": "StringLiteral", "range": { "begin": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 }, "end": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 } @@ -8579,33 +8988,33 @@ ] }, { - "id": "0x384a450", + "id": "0x7f0da6e871f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 20846, - "line": 667, + "offset": 21879, + "line": 708, "col": 9, "tokLen": 6 }, "end": { - "offset": 20859, + "offset": 21892, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x384a420", + "id": "0x7f0da6e871c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20853, + "offset": 21886, "col": 16, "tokLen": 4 }, "end": { - "offset": 20859, + "offset": 21892, "col": 22, "tokLen": 5 } @@ -8615,7 +9024,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f41fb0", + "id": "0x2cd03d90", "kind": "EnumConstantDecl", "name": "EIGER", "type": { @@ -8628,35 +9037,35 @@ ] }, { - "id": "0x384b2d0", + "id": "0x7f0da6e88538", "kind": "IfStmt", "range": { "begin": { - "offset": 20870, - "line": 668, + "offset": 21903, + "line": 709, "col": 5, "tokLen": 2 }, "end": { - "offset": 20912, - "line": 669, + "offset": 21945, + "line": 710, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384b220", + "id": "0x7f0da6e88488", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20874, - "line": 668, + "offset": 21907, + "line": 709, "col": 9, "tokLen": 1 }, "end": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 } @@ -8668,67 +9077,67 @@ "adl": true, "inner": [ { - "id": "0x384b208", + "id": "0x7f0da6e88470", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 }, "end": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384b1e8", + "id": "0x7f0da6e88450", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 }, "end": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384a480", + "id": "0x7f0da6e87228", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20874, + "offset": 21907, "col": 9, "tokLen": 1 }, "end": { - "offset": 20874, + "offset": 21907, "col": 9, "tokLen": 1 } @@ -8736,11 +9145,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -8749,16 +9158,16 @@ } }, { - "id": "0x384b1d0", + "id": "0x7f0da6e88438", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 }, "end": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 } @@ -8770,16 +9179,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384a4a0", + "id": "0x7f0da6e87248", "kind": "StringLiteral", "range": { "begin": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 }, "end": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 } @@ -8795,33 +9204,33 @@ ] }, { - "id": "0x384b2c0", + "id": "0x7f0da6e88528", "kind": "ReturnStmt", "range": { "begin": { - "offset": 20899, - "line": 669, + "offset": 21932, + "line": 710, "col": 9, "tokLen": 6 }, "end": { - "offset": 20912, + "offset": 21945, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384b290", + "id": "0x7f0da6e884f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20906, + "offset": 21939, "col": 16, "tokLen": 4 }, "end": { - "offset": 20912, + "offset": 21945, "col": 22, "tokLen": 8 } @@ -8831,7 +9240,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42000", + "id": "0x2cd03de0", "kind": "EnumConstantDecl", "name": "GOTTHARD", "type": { @@ -8844,35 +9253,35 @@ ] }, { - "id": "0x384c140", + "id": "0x7f0da6e89868", "kind": "IfStmt", "range": { "begin": { - "offset": 20926, - "line": 670, + "offset": 21959, + "line": 711, "col": 5, "tokLen": 2 }, "end": { - "offset": 20968, - "line": 671, + "offset": 22001, + "line": 712, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384c090", + "id": "0x7f0da6e897b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20930, - "line": 670, + "offset": 21963, + "line": 711, "col": 9, "tokLen": 1 }, "end": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 } @@ -8884,67 +9293,67 @@ "adl": true, "inner": [ { - "id": "0x384c078", + "id": "0x7f0da6e897a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 }, "end": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384c058", + "id": "0x7f0da6e89780", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 }, "end": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384b2f0", + "id": "0x7f0da6e88558", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20930, + "offset": 21963, "col": 9, "tokLen": 1 }, "end": { - "offset": 20930, + "offset": 21963, "col": 9, "tokLen": 1 } @@ -8952,11 +9361,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -8965,16 +9374,16 @@ } }, { - "id": "0x384c040", + "id": "0x7f0da6e89768", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 }, "end": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 } @@ -8986,16 +9395,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384b310", + "id": "0x7f0da6e88578", "kind": "StringLiteral", "range": { "begin": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 }, "end": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 } @@ -9011,33 +9420,33 @@ ] }, { - "id": "0x384c130", + "id": "0x7f0da6e89858", "kind": "ReturnStmt", "range": { "begin": { - "offset": 20955, - "line": 671, + "offset": 21988, + "line": 712, "col": 9, "tokLen": 6 }, "end": { - "offset": 20968, + "offset": 22001, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384c100", + "id": "0x7f0da6e89828", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20962, + "offset": 21995, "col": 16, "tokLen": 4 }, "end": { - "offset": 20968, + "offset": 22001, "col": 22, "tokLen": 8 } @@ -9047,7 +9456,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42050", + "id": "0x2cd03e30", "kind": "EnumConstantDecl", "name": "JUNGFRAU", "type": { @@ -9060,35 +9469,35 @@ ] }, { - "id": "0x384cfc0", + "id": "0x7f0da6e8ab98", "kind": "IfStmt", "range": { "begin": { - "offset": 20982, - "line": 672, + "offset": 22015, + "line": 713, "col": 5, "tokLen": 2 }, "end": { - "offset": 21029, - "line": 673, + "offset": 22062, + "line": 714, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x384cf10", + "id": "0x7f0da6e8aae8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20986, - "line": 672, + "offset": 22019, + "line": 713, "col": 9, "tokLen": 1 }, "end": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 } @@ -9100,67 +9509,67 @@ "adl": true, "inner": [ { - "id": "0x384cef8", + "id": "0x7f0da6e8aad0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 }, "end": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384ced8", + "id": "0x7f0da6e8aab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 }, "end": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384c160", + "id": "0x7f0da6e89888", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20986, + "offset": 22019, "col": 9, "tokLen": 1 }, "end": { - "offset": 20986, + "offset": 22019, "col": 9, "tokLen": 1 } @@ -9168,11 +9577,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9181,16 +9590,16 @@ } }, { - "id": "0x384cec0", + "id": "0x7f0da6e8aa98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 }, "end": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 } @@ -9202,16 +9611,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384c180", + "id": "0x7f0da6e898a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 }, "end": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 } @@ -9227,33 +9636,33 @@ ] }, { - "id": "0x384cfb0", + "id": "0x7f0da6e8ab88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21016, - "line": 673, + "offset": 22049, + "line": 714, "col": 9, "tokLen": 6 }, "end": { - "offset": 21029, + "offset": 22062, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x384cf80", + "id": "0x7f0da6e8ab58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21023, + "offset": 22056, "col": 16, "tokLen": 4 }, "end": { - "offset": 21029, + "offset": 22062, "col": 22, "tokLen": 13 } @@ -9263,7 +9672,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f420a0", + "id": "0x2cd03e80", "kind": "EnumConstantDecl", "name": "CHIPTESTBOARD", "type": { @@ -9276,35 +9685,35 @@ ] }, { - "id": "0x384de30", + "id": "0x7f0da6e8bec8", "kind": "IfStmt", "range": { "begin": { - "offset": 21048, - "line": 674, + "offset": 22081, + "line": 715, "col": 5, "tokLen": 2 }, "end": { - "offset": 21088, - "line": 675, + "offset": 22121, + "line": 716, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x384dd80", + "id": "0x7f0da6e8be18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21052, - "line": 674, + "offset": 22085, + "line": 715, "col": 9, "tokLen": 1 }, "end": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 } @@ -9316,67 +9725,67 @@ "adl": true, "inner": [ { - "id": "0x384dd68", + "id": "0x7f0da6e8be00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 }, "end": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384dd48", + "id": "0x7f0da6e8bde0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 }, "end": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384cfe0", + "id": "0x7f0da6e8abb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21052, + "offset": 22085, "col": 9, "tokLen": 1 }, "end": { - "offset": 21052, + "offset": 22085, "col": 9, "tokLen": 1 } @@ -9384,11 +9793,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9397,16 +9806,16 @@ } }, { - "id": "0x384dd30", + "id": "0x7f0da6e8bdc8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 }, "end": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 } @@ -9418,16 +9827,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384d000", + "id": "0x7f0da6e8abd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 }, "end": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 } @@ -9443,33 +9852,33 @@ ] }, { - "id": "0x384de20", + "id": "0x7f0da6e8beb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21075, - "line": 675, + "offset": 22108, + "line": 716, "col": 9, "tokLen": 6 }, "end": { - "offset": 21088, + "offset": 22121, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x384ddf0", + "id": "0x7f0da6e8be88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21082, + "offset": 22115, "col": 16, "tokLen": 4 }, "end": { - "offset": 21088, + "offset": 22121, "col": 22, "tokLen": 6 } @@ -9479,7 +9888,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f420f0", + "id": "0x2cd03ed0", "kind": "EnumConstantDecl", "name": "MOENCH", "type": { @@ -9492,35 +9901,35 @@ ] }, { - "id": "0x384eca0", + "id": "0x7f0da6e8d1f8", "kind": "IfStmt", "range": { "begin": { - "offset": 21100, - "line": 676, + "offset": 22133, + "line": 717, "col": 5, "tokLen": 2 }, "end": { - "offset": 21141, - "line": 677, + "offset": 22174, + "line": 718, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x384ebf0", + "id": "0x7f0da6e8d148", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21104, - "line": 676, + "offset": 22137, + "line": 717, "col": 9, "tokLen": 1 }, "end": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 } @@ -9532,67 +9941,67 @@ "adl": true, "inner": [ { - "id": "0x384ebd8", + "id": "0x7f0da6e8d130", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 }, "end": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384ebb8", + "id": "0x7f0da6e8d110", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 }, "end": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384de50", + "id": "0x7f0da6e8bee8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21104, + "offset": 22137, "col": 9, "tokLen": 1 }, "end": { - "offset": 21104, + "offset": 22137, "col": 9, "tokLen": 1 } @@ -9600,11 +10009,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9613,16 +10022,16 @@ } }, { - "id": "0x384eba0", + "id": "0x7f0da6e8d0f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 }, "end": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 } @@ -9634,16 +10043,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384de70", + "id": "0x7f0da6e8bf08", "kind": "StringLiteral", "range": { "begin": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 }, "end": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 } @@ -9659,33 +10068,33 @@ ] }, { - "id": "0x384ec90", + "id": "0x7f0da6e8d1e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21128, - "line": 677, + "offset": 22161, + "line": 718, "col": 9, "tokLen": 6 }, "end": { - "offset": 21141, + "offset": 22174, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x384ec60", + "id": "0x7f0da6e8d1b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21135, + "offset": 22168, "col": 16, "tokLen": 4 }, "end": { - "offset": 21141, + "offset": 22174, "col": 22, "tokLen": 7 } @@ -9695,7 +10104,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42140", + "id": "0x2cd03f20", "kind": "EnumConstantDecl", "name": "MYTHEN3", "type": { @@ -9708,35 +10117,35 @@ ] }, { - "id": "0x384fb20", + "id": "0x7f0da6e8e528", "kind": "IfStmt", "range": { "begin": { - "offset": 21154, - "line": 678, + "offset": 22187, + "line": 719, "col": 5, "tokLen": 2 }, "end": { - "offset": 21197, - "line": 679, + "offset": 22230, + "line": 720, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x384fa70", + "id": "0x7f0da6e8e478", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21158, - "line": 678, + "offset": 22191, + "line": 719, "col": 9, "tokLen": 1 }, "end": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 } @@ -9748,67 +10157,67 @@ "adl": true, "inner": [ { - "id": "0x384fa58", + "id": "0x7f0da6e8e460", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 }, "end": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384fa38", + "id": "0x7f0da6e8e440", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 }, "end": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384ecc0", + "id": "0x7f0da6e8d218", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21158, + "offset": 22191, "col": 9, "tokLen": 1 }, "end": { - "offset": 21158, + "offset": 22191, "col": 9, "tokLen": 1 } @@ -9816,11 +10225,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9829,16 +10238,16 @@ } }, { - "id": "0x384fa20", + "id": "0x7f0da6e8e428", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 }, "end": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 } @@ -9850,16 +10259,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384ece0", + "id": "0x7f0da6e8d238", "kind": "StringLiteral", "range": { "begin": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 }, "end": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 } @@ -9875,33 +10284,33 @@ ] }, { - "id": "0x384fb10", + "id": "0x7f0da6e8e518", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21184, - "line": 679, + "offset": 22217, + "line": 720, "col": 9, "tokLen": 6 }, "end": { - "offset": 21197, + "offset": 22230, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x384fae0", + "id": "0x7f0da6e8e4e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21191, + "offset": 22224, "col": 16, "tokLen": 4 }, "end": { - "offset": 21197, + "offset": 22230, "col": 22, "tokLen": 9 } @@ -9911,7 +10320,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42190", + "id": "0x2cd03f70", "kind": "EnumConstantDecl", "name": "GOTTHARD2", "type": { @@ -9924,17 +10333,233 @@ ] }, { - "id": "0x3850130", + "id": "0x7f0da6e8f898", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 22245, + "line": 721, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 22299, + "line": 722, + "col": 22, + "tokLen": 20 + } + }, + "inner": [ + { + "id": "0x7f0da6e8f7e8", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 22249, + "line": 721, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 22254, + "col": 14, + "tokLen": 22 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6e8f7d0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 22251, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 22251, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6e8f7b0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 22251, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 22251, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6e8e548", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 22249, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 22249, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6e85c40", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6e8f798", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 22254, + "col": 14, + "tokLen": 22 + }, + "end": { + "offset": 22254, + "col": 14, + "tokLen": 22 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6e8e568", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 22254, + "col": 14, + "tokLen": 22 + }, + "end": { + "offset": 22254, + "col": 14, + "tokLen": 22 + } + }, + "type": { + "qualType": "const char[21]" + }, + "valueCategory": "lvalue", + "value": "\"Xilinx_ChipTestBoard\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6e8f888", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 22286, + "line": 722, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 22299, + "col": 22, + "tokLen": 20 + } + }, + "inner": [ + { + "id": "0x7f0da6e8f858", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 22293, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 22299, + "col": 22, + "tokLen": 20 + } + }, + "type": { + "qualType": "slsDetectorDefs::detectorType" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cd03fc0", + "kind": "EnumConstantDecl", + "name": "XILINX_CHIPTESTBOARD", + "type": { + "qualType": "slsDetectorDefs::detectorType" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6e8ff60", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 21212, - "line": 680, + "offset": 22325, + "line": 723, "col": 5, "tokLen": 5 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } @@ -9946,16 +10571,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3850118", + "id": "0x7f0da6e8ff48", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 21212, + "offset": 22325, "col": 5, "tokLen": 5 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } @@ -9966,74 +10591,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38500e8", + "id": "0x7f0da6e8ff18", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38500d0", + "id": "0x7f0da6e8ff00", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38500a8", + "id": "0x7f0da6e8fed8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -10042,27 +10670,28 @@ }, "inner": [ { - "id": "0x3850088", + "id": "0x7f0da6e8feb8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3850080", + "temp": "0x7f0da6e8feb0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -10071,22 +10700,23 @@ }, "inner": [ { - "id": "0x3850050", + "id": "0x7f0da6e8fe80", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -10096,73 +10726,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3850038", + "id": "0x7f0da6e8fe68", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3850020", + "id": "0x7f0da6e8fe50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3850000", + "id": "0x7f0da6e8fe30", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x384fff8", + "temp": "0x7f0da6e8fe28", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -10171,89 +10801,89 @@ }, "inner": [ { - "id": "0x384ffc0", + "id": "0x7f0da6e8fdf0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x384ffa8", + "id": "0x7f0da6e8fdd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 }, "end": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384ff88", + "id": "0x7f0da6e8fdb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 }, "end": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x384ff70", + "id": "0x7f0da6e8fda0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 } @@ -10265,16 +10895,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384fb50", + "id": "0x7f0da6e8f8c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 } @@ -10288,16 +10918,16 @@ ] }, { - "id": "0x384fb80", + "id": "0x7f0da6e8f8f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } @@ -10305,11 +10935,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10344,29 +10974,29 @@ ] } { - "id": "0x3850318", + "id": "0x7f0da6e90148", "kind": "FunctionDecl", "loc": { - "offset": 21300, + "offset": 22413, "file": "ToString.cpp", - "line": 683, + "line": 726, "col": 36, "tokLen": 8 }, "range": { "begin": { - "offset": 21265, + "offset": 22378, "col": 1, "tokLen": 8 }, "end": { - "offset": 22549, - "line": 725, + "offset": 23662, + "line": 768, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3688728", + "previousDecl": "0x2d375f38", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16detectorSettingsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -10380,13 +11010,13 @@ }, "inner": [ { - "id": "0x2f5a2c0", + "id": "0x2cdc0300", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorSettings" }, "decl": { - "id": "0x2f5a218", + "id": "0x2cdc0258", "kind": "EnumDecl", "name": "detectorSettings" } @@ -10394,22 +11024,22 @@ ] }, { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "loc": { - "offset": 21328, - "line": 683, + "offset": 22441, + "line": 726, "col": 64, "tokLen": 1 }, "range": { "begin": { - "offset": 21309, + "offset": 22422, "col": 45, "tokLen": 5 }, "end": { - "offset": 21328, + "offset": 22441, "col": 64, "tokLen": 1 } @@ -10421,52 +11051,52 @@ } }, { - "id": "0x3866820", + "id": "0x7f0da6e67978", "kind": "CompoundStmt", "range": { "begin": { - "offset": 21331, + "offset": 22444, "col": 67, "tokLen": 1 }, "end": { - "offset": 22549, - "line": 725, + "offset": 23662, + "line": 768, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3851320", + "id": "0x7f0da6e91638", "kind": "IfStmt", "range": { "begin": { - "offset": 21337, - "line": 684, + "offset": 22450, + "line": 727, "col": 5, "tokLen": 2 }, "end": { - "offset": 21379, - "line": 685, + "offset": 22492, + "line": 728, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x3851270", + "id": "0x7f0da6e91588", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21341, - "line": 684, + "offset": 22454, + "line": 727, "col": 9, "tokLen": 1 }, "end": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 } @@ -10478,67 +11108,67 @@ "adl": true, "inner": [ { - "id": "0x3851258", + "id": "0x7f0da6e91570", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 }, "end": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3851238", + "id": "0x7f0da6e91550", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 }, "end": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38504d0", + "id": "0x7f0da6e90330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21341, + "offset": 22454, "col": 9, "tokLen": 1 }, "end": { - "offset": 21341, + "offset": 22454, "col": 9, "tokLen": 1 } @@ -10546,11 +11176,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10559,16 +11189,16 @@ } }, { - "id": "0x3851220", + "id": "0x7f0da6e91538", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 }, "end": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 } @@ -10580,16 +11210,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38504f0", + "id": "0x7f0da6e90350", "kind": "StringLiteral", "range": { "begin": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 }, "end": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 } @@ -10605,33 +11235,33 @@ ] }, { - "id": "0x3851310", + "id": "0x7f0da6e91628", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21366, - "line": 685, + "offset": 22479, + "line": 728, "col": 9, "tokLen": 6 }, "end": { - "offset": 21379, + "offset": 22492, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38512e0", + "id": "0x7f0da6e915f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21373, + "offset": 22486, "col": 16, "tokLen": 4 }, "end": { - "offset": 21379, + "offset": 22492, "col": 22, "tokLen": 8 } @@ -10641,7 +11271,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a2e0", + "id": "0x2cdc0320", "kind": "EnumConstantDecl", "name": "STANDARD", "type": { @@ -10654,35 +11284,35 @@ ] }, { - "id": "0x3855dc0", + "id": "0x7f0da6e92968", "kind": "IfStmt", "range": { "begin": { - "offset": 21393, - "line": 686, + "offset": 22506, + "line": 729, "col": 5, "tokLen": 2 }, "end": { - "offset": 21431, - "line": 687, + "offset": 22544, + "line": 730, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3855d10", + "id": "0x7f0da6e928b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21397, - "line": 686, + "offset": 22510, + "line": 729, "col": 9, "tokLen": 1 }, "end": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 } @@ -10694,67 +11324,67 @@ "adl": true, "inner": [ { - "id": "0x3855cf8", + "id": "0x7f0da6e928a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 }, "end": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3855cd8", + "id": "0x7f0da6e92880", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 }, "end": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3851340", + "id": "0x7f0da6e91658", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21397, + "offset": 22510, "col": 9, "tokLen": 1 }, "end": { - "offset": 21397, + "offset": 22510, "col": 9, "tokLen": 1 } @@ -10762,11 +11392,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10775,16 +11405,16 @@ } }, { - "id": "0x3855cc0", + "id": "0x7f0da6e92868", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 }, "end": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 } @@ -10796,16 +11426,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3851360", + "id": "0x7f0da6e91678", "kind": "StringLiteral", "range": { "begin": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 }, "end": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 } @@ -10821,33 +11451,33 @@ ] }, { - "id": "0x3855db0", + "id": "0x7f0da6e92958", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21418, - "line": 687, + "offset": 22531, + "line": 730, "col": 9, "tokLen": 6 }, "end": { - "offset": 21431, + "offset": 22544, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3855d80", + "id": "0x7f0da6e92928", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21425, + "offset": 22538, "col": 16, "tokLen": 4 }, "end": { - "offset": 21431, + "offset": 22544, "col": 22, "tokLen": 4 } @@ -10857,7 +11487,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a330", + "id": "0x2cdc0370", "kind": "EnumConstantDecl", "name": "FAST", "type": { @@ -10870,35 +11500,35 @@ ] }, { - "id": "0x3856c30", + "id": "0x7f0da6e93c98", "kind": "IfStmt", "range": { "begin": { - "offset": 21441, - "line": 688, + "offset": 22554, + "line": 731, "col": 5, "tokLen": 2 }, "end": { - "offset": 21483, - "line": 689, + "offset": 22596, + "line": 732, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x3856b80", + "id": "0x7f0da6e93be8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21445, - "line": 688, + "offset": 22558, + "line": 731, "col": 9, "tokLen": 1 }, "end": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 } @@ -10910,67 +11540,67 @@ "adl": true, "inner": [ { - "id": "0x3856b68", + "id": "0x7f0da6e93bd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 }, "end": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3856b48", + "id": "0x7f0da6e93bb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 }, "end": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3855de0", + "id": "0x7f0da6e92988", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21445, + "offset": 22558, "col": 9, "tokLen": 1 }, "end": { - "offset": 21445, + "offset": 22558, "col": 9, "tokLen": 1 } @@ -10978,11 +11608,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10991,16 +11621,16 @@ } }, { - "id": "0x3856b30", + "id": "0x7f0da6e93b98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 }, "end": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 } @@ -11012,16 +11642,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3855e00", + "id": "0x7f0da6e929a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 }, "end": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 } @@ -11037,33 +11667,33 @@ ] }, { - "id": "0x3856c20", + "id": "0x7f0da6e93c88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21470, - "line": 689, + "offset": 22583, + "line": 732, "col": 9, "tokLen": 6 }, "end": { - "offset": 21483, + "offset": 22596, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x3856bf0", + "id": "0x7f0da6e93c58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21477, + "offset": 22590, "col": 16, "tokLen": 4 }, "end": { - "offset": 21483, + "offset": 22596, "col": 22, "tokLen": 8 } @@ -11073,7 +11703,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a380", + "id": "0x2cdc03c0", "kind": "EnumConstantDecl", "name": "HIGHGAIN", "type": { @@ -11086,35 +11716,35 @@ ] }, { - "id": "0x3857ab0", + "id": "0x7f0da6e94fc8", "kind": "IfStmt", "range": { "begin": { - "offset": 21497, - "line": 690, + "offset": 22610, + "line": 733, "col": 5, "tokLen": 2 }, "end": { - "offset": 21542, - "line": 691, + "offset": 22655, + "line": 734, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x3857a00", + "id": "0x7f0da6e94f18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21501, - "line": 690, + "offset": 22614, + "line": 733, "col": 9, "tokLen": 1 }, "end": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 } @@ -11126,67 +11756,67 @@ "adl": true, "inner": [ { - "id": "0x38579e8", + "id": "0x7f0da6e94f00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 }, "end": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38579c8", + "id": "0x7f0da6e94ee0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 }, "end": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3856c50", + "id": "0x7f0da6e93cb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21501, + "offset": 22614, "col": 9, "tokLen": 1 }, "end": { - "offset": 21501, + "offset": 22614, "col": 9, "tokLen": 1 } @@ -11194,11 +11824,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11207,16 +11837,16 @@ } }, { - "id": "0x38579b0", + "id": "0x7f0da6e94ec8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 }, "end": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 } @@ -11228,16 +11858,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3856c70", + "id": "0x7f0da6e93cd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 }, "end": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 } @@ -11253,33 +11883,33 @@ ] }, { - "id": "0x3857aa0", + "id": "0x7f0da6e94fb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21529, - "line": 691, + "offset": 22642, + "line": 734, "col": 9, "tokLen": 6 }, "end": { - "offset": 21542, + "offset": 22655, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x3857a70", + "id": "0x7f0da6e94f88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21536, + "offset": 22649, "col": 16, "tokLen": 4 }, "end": { - "offset": 21542, + "offset": 22655, "col": 22, "tokLen": 11 } @@ -11289,7 +11919,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a3d0", + "id": "0x2cdc0410", "kind": "EnumConstantDecl", "name": "DYNAMICGAIN", "type": { @@ -11302,35 +11932,35 @@ ] }, { - "id": "0x3858920", + "id": "0x7f0da6e962f8", "kind": "IfStmt", "range": { "begin": { - "offset": 21559, - "line": 692, + "offset": 22672, + "line": 735, "col": 5, "tokLen": 2 }, "end": { - "offset": 21600, - "line": 693, + "offset": 22713, + "line": 736, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x3858870", + "id": "0x7f0da6e96248", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21563, - "line": 692, + "offset": 22676, + "line": 735, "col": 9, "tokLen": 1 }, "end": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 } @@ -11342,67 +11972,67 @@ "adl": true, "inner": [ { - "id": "0x3858858", + "id": "0x7f0da6e96230", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 }, "end": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3858838", + "id": "0x7f0da6e96210", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 }, "end": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3857ad0", + "id": "0x7f0da6e94fe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21563, + "offset": 22676, "col": 9, "tokLen": 1 }, "end": { - "offset": 21563, + "offset": 22676, "col": 9, "tokLen": 1 } @@ -11410,11 +12040,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11423,16 +12053,16 @@ } }, { - "id": "0x3858820", + "id": "0x7f0da6e961f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 }, "end": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 } @@ -11444,16 +12074,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3857af0", + "id": "0x7f0da6e95008", "kind": "StringLiteral", "range": { "begin": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 }, "end": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 } @@ -11469,33 +12099,33 @@ ] }, { - "id": "0x3858910", + "id": "0x7f0da6e962e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21587, - "line": 693, + "offset": 22700, + "line": 736, "col": 9, "tokLen": 6 }, "end": { - "offset": 21600, + "offset": 22713, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38588e0", + "id": "0x7f0da6e962b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21594, + "offset": 22707, "col": 16, "tokLen": 4 }, "end": { - "offset": 21600, + "offset": 22713, "col": 22, "tokLen": 7 } @@ -11505,7 +12135,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a420", + "id": "0x2cdc0460", "kind": "EnumConstantDecl", "name": "LOWGAIN", "type": { @@ -11518,35 +12148,35 @@ ] }, { - "id": "0x38597a0", + "id": "0x7f0da6e56638", "kind": "IfStmt", "range": { "begin": { - "offset": 21613, - "line": 694, + "offset": 22726, + "line": 737, "col": 5, "tokLen": 2 }, "end": { - "offset": 21657, - "line": 695, + "offset": 22770, + "line": 738, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38596f0", + "id": "0x7f0da6e56588", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21617, - "line": 694, + "offset": 22730, + "line": 737, "col": 9, "tokLen": 1 }, "end": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 } @@ -11558,67 +12188,67 @@ "adl": true, "inner": [ { - "id": "0x38596d8", + "id": "0x7f0da6e56570", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 }, "end": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38596b8", + "id": "0x7f0da6e56550", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 }, "end": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3858940", + "id": "0x7f0da6e96318", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21617, + "offset": 22730, "col": 9, "tokLen": 1 }, "end": { - "offset": 21617, + "offset": 22730, "col": 9, "tokLen": 1 } @@ -11626,11 +12256,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11639,16 +12269,16 @@ } }, { - "id": "0x38596a0", + "id": "0x7f0da6e56538", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 }, "end": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 } @@ -11660,16 +12290,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3858960", + "id": "0x7f0da6e96338", "kind": "StringLiteral", "range": { "begin": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 }, "end": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 } @@ -11685,33 +12315,33 @@ ] }, { - "id": "0x3859790", + "id": "0x7f0da6e56628", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21644, - "line": 695, + "offset": 22757, + "line": 738, "col": 9, "tokLen": 6 }, "end": { - "offset": 21657, + "offset": 22770, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3859760", + "id": "0x7f0da6e565f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21651, + "offset": 22764, "col": 16, "tokLen": 4 }, "end": { - "offset": 21657, + "offset": 22770, "col": 22, "tokLen": 10 } @@ -11721,7 +12351,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a470", + "id": "0x2cdc04b0", "kind": "EnumConstantDecl", "name": "MEDIUMGAIN", "type": { @@ -11734,35 +12364,35 @@ ] }, { - "id": "0x385a620", + "id": "0x7f0da6e57968", "kind": "IfStmt", "range": { "begin": { - "offset": 21673, - "line": 696, + "offset": 22786, + "line": 739, "col": 5, "tokLen": 2 }, "end": { - "offset": 21719, - "line": 697, + "offset": 22832, + "line": 740, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x385a570", + "id": "0x7f0da6e578b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21677, - "line": 696, + "offset": 22790, + "line": 739, "col": 9, "tokLen": 1 }, "end": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 } @@ -11774,67 +12404,67 @@ "adl": true, "inner": [ { - "id": "0x385a558", + "id": "0x7f0da6e578a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 }, "end": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385a538", + "id": "0x7f0da6e57880", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 }, "end": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38597c0", + "id": "0x7f0da6e56658", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21677, + "offset": 22790, "col": 9, "tokLen": 1 }, "end": { - "offset": 21677, + "offset": 22790, "col": 9, "tokLen": 1 } @@ -11842,11 +12472,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11855,16 +12485,16 @@ } }, { - "id": "0x385a520", + "id": "0x7f0da6e57868", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 }, "end": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 } @@ -11876,16 +12506,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38597e0", + "id": "0x7f0da6e56678", "kind": "StringLiteral", "range": { "begin": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 }, "end": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 } @@ -11901,33 +12531,33 @@ ] }, { - "id": "0x385a610", + "id": "0x7f0da6e57958", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21706, - "line": 697, + "offset": 22819, + "line": 740, "col": 9, "tokLen": 6 }, "end": { - "offset": 21719, + "offset": 22832, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x385a5e0", + "id": "0x7f0da6e57928", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21713, + "offset": 22826, "col": 16, "tokLen": 4 }, "end": { - "offset": 21719, + "offset": 22832, "col": 22, "tokLen": 12 } @@ -11937,7 +12567,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a4c0", + "id": "0x2cdc0500", "kind": "EnumConstantDecl", "name": "VERYHIGHGAIN", "type": { @@ -11950,35 +12580,35 @@ ] }, { - "id": "0x385b4a0", + "id": "0x7f0da6e58c98", "kind": "IfStmt", "range": { "begin": { - "offset": 21737, - "line": 698, + "offset": 22850, + "line": 741, "col": 5, "tokLen": 2 }, "end": { - "offset": 21780, - "line": 699, + "offset": 22893, + "line": 742, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x385b3f0", + "id": "0x7f0da6e58be8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21741, - "line": 698, + "offset": 22854, + "line": 741, "col": 9, "tokLen": 1 }, "end": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 } @@ -11990,67 +12620,67 @@ "adl": true, "inner": [ { - "id": "0x385b3d8", + "id": "0x7f0da6e58bd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 }, "end": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385b3b8", + "id": "0x7f0da6e58bb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 }, "end": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385a640", + "id": "0x7f0da6e57988", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21741, + "offset": 22854, "col": 9, "tokLen": 1 }, "end": { - "offset": 21741, + "offset": 22854, "col": 9, "tokLen": 1 } @@ -12058,11 +12688,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12071,16 +12701,16 @@ } }, { - "id": "0x385b3a0", + "id": "0x7f0da6e58b98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 }, "end": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 } @@ -12092,16 +12722,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385a660", + "id": "0x7f0da6e579a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 }, "end": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 } @@ -12117,33 +12747,33 @@ ] }, { - "id": "0x385b490", + "id": "0x7f0da6e58c88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21767, - "line": 699, + "offset": 22880, + "line": 742, "col": 9, "tokLen": 6 }, "end": { - "offset": 21780, + "offset": 22893, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x385b460", + "id": "0x7f0da6e58c58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21774, + "offset": 22887, "col": 16, "tokLen": 4 }, "end": { - "offset": 21780, + "offset": 22893, "col": 22, "tokLen": 9 } @@ -12153,7 +12783,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a510", + "id": "0x2cdc0550", "kind": "EnumConstantDecl", "name": "HIGHGAIN0", "type": { @@ -12166,35 +12796,35 @@ ] }, { - "id": "0x385c310", + "id": "0x7f0da6e59fc8", "kind": "IfStmt", "range": { "begin": { - "offset": 21795, - "line": 700, + "offset": 22908, + "line": 743, "col": 5, "tokLen": 2 }, "end": { - "offset": 21837, - "line": 701, + "offset": 22950, + "line": 744, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385c260", + "id": "0x7f0da6e59f18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21799, - "line": 700, + "offset": 22912, + "line": 743, "col": 9, "tokLen": 1 }, "end": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 } @@ -12206,67 +12836,67 @@ "adl": true, "inner": [ { - "id": "0x385c248", + "id": "0x7f0da6e59f00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 }, "end": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385c228", + "id": "0x7f0da6e59ee0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 }, "end": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385b4c0", + "id": "0x7f0da6e58cb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21799, + "offset": 22912, "col": 9, "tokLen": 1 }, "end": { - "offset": 21799, + "offset": 22912, "col": 9, "tokLen": 1 } @@ -12274,11 +12904,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12287,16 +12917,16 @@ } }, { - "id": "0x385c210", + "id": "0x7f0da6e59ec8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 }, "end": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 } @@ -12308,16 +12938,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385b4e0", + "id": "0x7f0da6e58cd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 }, "end": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 } @@ -12333,33 +12963,33 @@ ] }, { - "id": "0x385c300", + "id": "0x7f0da6e59fb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21824, - "line": 701, + "offset": 22937, + "line": 744, "col": 9, "tokLen": 6 }, "end": { - "offset": 21837, + "offset": 22950, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385c2d0", + "id": "0x7f0da6e59f88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21831, + "offset": 22944, "col": 16, "tokLen": 4 }, "end": { - "offset": 21837, + "offset": 22950, "col": 22, "tokLen": 8 } @@ -12369,7 +12999,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a560", + "id": "0x2cdc05a0", "kind": "EnumConstantDecl", "name": "FIXGAIN1", "type": { @@ -12382,35 +13012,35 @@ ] }, { - "id": "0x385d180", + "id": "0x7f0da6e5b2f8", "kind": "IfStmt", "range": { "begin": { - "offset": 21851, - "line": 702, + "offset": 22964, + "line": 745, "col": 5, "tokLen": 2 }, "end": { - "offset": 21893, - "line": 703, + "offset": 23006, + "line": 746, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385d0d0", + "id": "0x7f0da6e5b248", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21855, - "line": 702, + "offset": 22968, + "line": 745, "col": 9, "tokLen": 1 }, "end": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 } @@ -12422,67 +13052,67 @@ "adl": true, "inner": [ { - "id": "0x385d0b8", + "id": "0x7f0da6e5b230", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 }, "end": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385d098", + "id": "0x7f0da6e5b210", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 }, "end": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385c330", + "id": "0x7f0da6e59fe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21855, + "offset": 22968, "col": 9, "tokLen": 1 }, "end": { - "offset": 21855, + "offset": 22968, "col": 9, "tokLen": 1 } @@ -12490,11 +13120,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12503,16 +13133,16 @@ } }, { - "id": "0x385d080", + "id": "0x7f0da6e5b1f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 }, "end": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 } @@ -12524,16 +13154,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385c350", + "id": "0x7f0da6e5a008", "kind": "StringLiteral", "range": { "begin": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 }, "end": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 } @@ -12549,33 +13179,33 @@ ] }, { - "id": "0x385d170", + "id": "0x7f0da6e5b2e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21880, - "line": 703, + "offset": 22993, + "line": 746, "col": 9, "tokLen": 6 }, "end": { - "offset": 21893, + "offset": 23006, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385d140", + "id": "0x7f0da6e5b2b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21887, + "offset": 23000, "col": 16, "tokLen": 4 }, "end": { - "offset": 21893, + "offset": 23006, "col": 22, "tokLen": 8 } @@ -12585,7 +13215,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a5b0", + "id": "0x2cdc05f0", "kind": "EnumConstantDecl", "name": "FIXGAIN2", "type": { @@ -12598,35 +13228,35 @@ ] }, { - "id": "0x385e000", + "id": "0x7f0da6e5c628", "kind": "IfStmt", "range": { "begin": { - "offset": 21907, - "line": 704, + "offset": 23020, + "line": 747, "col": 5, "tokLen": 2 }, "end": { - "offset": 21952, - "line": 705, + "offset": 23065, + "line": 748, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385df50", + "id": "0x7f0da6e5c578", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21911, - "line": 704, + "offset": 23024, + "line": 747, "col": 9, "tokLen": 1 }, "end": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 } @@ -12638,67 +13268,67 @@ "adl": true, "inner": [ { - "id": "0x385df38", + "id": "0x7f0da6e5c560", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 }, "end": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385df18", + "id": "0x7f0da6e5c540", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 }, "end": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385d1a0", + "id": "0x7f0da6e5b318", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21911, + "offset": 23024, "col": 9, "tokLen": 1 }, "end": { - "offset": 21911, + "offset": 23024, "col": 9, "tokLen": 1 } @@ -12706,11 +13336,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12719,16 +13349,16 @@ } }, { - "id": "0x385df00", + "id": "0x7f0da6e5c528", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 }, "end": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 } @@ -12740,16 +13370,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385d1c0", + "id": "0x7f0da6e5b338", "kind": "StringLiteral", "range": { "begin": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 }, "end": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 } @@ -12765,33 +13395,33 @@ ] }, { - "id": "0x385dff0", + "id": "0x7f0da6e5c618", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21939, - "line": 705, + "offset": 23052, + "line": 748, "col": 9, "tokLen": 6 }, "end": { - "offset": 21952, + "offset": 23065, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385dfc0", + "id": "0x7f0da6e5c5e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21946, + "offset": 23059, "col": 16, "tokLen": 4 }, "end": { - "offset": 21952, + "offset": 23065, "col": 22, "tokLen": 11 } @@ -12801,7 +13431,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a600", + "id": "0x2cdc0640", "kind": "EnumConstantDecl", "name": "VERYLOWGAIN", "type": { @@ -12814,35 +13444,35 @@ ] }, { - "id": "0x385ee70", + "id": "0x7f0da6e5d958", "kind": "IfStmt", "range": { "begin": { - "offset": 21969, - "line": 706, + "offset": 23082, + "line": 749, "col": 5, "tokLen": 2 }, "end": { - "offset": 22008, - "line": 707, + "offset": 23121, + "line": 750, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385edc0", + "id": "0x7f0da6e5d8a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21973, - "line": 706, + "offset": 23086, + "line": 749, "col": 9, "tokLen": 1 }, "end": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 } @@ -12854,67 +13484,67 @@ "adl": true, "inner": [ { - "id": "0x385eda8", + "id": "0x7f0da6e5d890", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 }, "end": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385ed88", + "id": "0x7f0da6e5d870", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 }, "end": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385e020", + "id": "0x7f0da6e5c648", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21973, + "offset": 23086, "col": 9, "tokLen": 1 }, "end": { - "offset": 21973, + "offset": 23086, "col": 9, "tokLen": 1 } @@ -12922,11 +13552,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12935,16 +13565,16 @@ } }, { - "id": "0x385ed70", + "id": "0x7f0da6e5d858", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 }, "end": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 } @@ -12956,16 +13586,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385e040", + "id": "0x7f0da6e5c668", "kind": "StringLiteral", "range": { "begin": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 }, "end": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 } @@ -12981,33 +13611,33 @@ ] }, { - "id": "0x385ee60", + "id": "0x7f0da6e5d948", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21995, - "line": 707, + "offset": 23108, + "line": 750, "col": 9, "tokLen": 6 }, "end": { - "offset": 22008, + "offset": 23121, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385ee30", + "id": "0x7f0da6e5d918", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22002, + "offset": 23115, "col": 16, "tokLen": 4 }, "end": { - "offset": 22008, + "offset": 23121, "col": 22, "tokLen": 11 } @@ -13017,7 +13647,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a650", + "id": "0x2cdc0690", "kind": "EnumConstantDecl", "name": "G1_HIGHGAIN", "type": { @@ -13030,35 +13660,35 @@ ] }, { - "id": "0x385fce0", + "id": "0x7f0da6e5ec88", "kind": "IfStmt", "range": { "begin": { - "offset": 22025, - "line": 708, + "offset": 23138, + "line": 751, "col": 5, "tokLen": 2 }, "end": { - "offset": 22064, - "line": 709, + "offset": 23177, + "line": 752, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x385fc30", + "id": "0x7f0da6e5ebd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22029, - "line": 708, + "offset": 23142, + "line": 751, "col": 9, "tokLen": 1 }, "end": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 } @@ -13070,67 +13700,67 @@ "adl": true, "inner": [ { - "id": "0x385fc18", + "id": "0x7f0da6e5ebc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 }, "end": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385fbf8", + "id": "0x7f0da6e5eba0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 }, "end": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385ee90", + "id": "0x7f0da6e5d978", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22029, + "offset": 23142, "col": 9, "tokLen": 1 }, "end": { - "offset": 22029, + "offset": 23142, "col": 9, "tokLen": 1 } @@ -13138,11 +13768,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13151,16 +13781,16 @@ } }, { - "id": "0x385fbe0", + "id": "0x7f0da6e5eb88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 }, "end": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 } @@ -13172,16 +13802,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385eeb0", + "id": "0x7f0da6e5d998", "kind": "StringLiteral", "range": { "begin": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 }, "end": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 } @@ -13197,33 +13827,33 @@ ] }, { - "id": "0x385fcd0", + "id": "0x7f0da6e5ec78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22051, - "line": 709, + "offset": 23164, + "line": 752, "col": 9, "tokLen": 6 }, "end": { - "offset": 22064, + "offset": 23177, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x385fca0", + "id": "0x7f0da6e5ec48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22058, + "offset": 23171, "col": 16, "tokLen": 4 }, "end": { - "offset": 22064, + "offset": 23177, "col": 22, "tokLen": 10 } @@ -13233,7 +13863,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a6a0", + "id": "0x2cdc06e0", "kind": "EnumConstantDecl", "name": "G1_LOWGAIN", "type": { @@ -13246,35 +13876,35 @@ ] }, { - "id": "0x3860b50", + "id": "0x7f0da6e5ffb8", "kind": "IfStmt", "range": { "begin": { - "offset": 22080, - "line": 710, + "offset": 23193, + "line": 753, "col": 5, "tokLen": 2 }, "end": { - "offset": 22122, - "line": 711, + "offset": 23235, + "line": 754, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x3860aa0", + "id": "0x7f0da6e5ff08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22084, - "line": 710, + "offset": 23197, + "line": 753, "col": 9, "tokLen": 1 }, "end": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 } @@ -13286,67 +13916,67 @@ "adl": true, "inner": [ { - "id": "0x3860a88", + "id": "0x7f0da6e5fef0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 }, "end": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3860a68", + "id": "0x7f0da6e5fed0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 }, "end": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385fd00", + "id": "0x7f0da6e5eca8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22084, + "offset": 23197, "col": 9, "tokLen": 1 }, "end": { - "offset": 22084, + "offset": 23197, "col": 9, "tokLen": 1 } @@ -13354,11 +13984,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13367,16 +13997,16 @@ } }, { - "id": "0x3860a50", + "id": "0x7f0da6e5feb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 }, "end": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 } @@ -13388,16 +14018,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385fd20", + "id": "0x7f0da6e5ecc8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 }, "end": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 } @@ -13413,33 +14043,33 @@ ] }, { - "id": "0x3860b40", + "id": "0x7f0da6e5ffa8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22109, - "line": 711, + "offset": 23222, + "line": 754, "col": 9, "tokLen": 6 }, "end": { - "offset": 22122, + "offset": 23235, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x3860b10", + "id": "0x7f0da6e5ff78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22116, + "offset": 23229, "col": 16, "tokLen": 4 }, "end": { - "offset": 22122, + "offset": 23235, "col": 22, "tokLen": 19 } @@ -13449,7 +14079,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a6f0", + "id": "0x2cdc0730", "kind": "EnumConstantDecl", "name": "G2_HIGHCAP_HIGHGAIN", "type": { @@ -13462,35 +14092,35 @@ ] }, { - "id": "0x38619c0", + "id": "0x7f0da6e612e8", "kind": "IfStmt", "range": { "begin": { - "offset": 22147, - "line": 712, + "offset": 23260, + "line": 755, "col": 5, "tokLen": 2 }, "end": { - "offset": 22189, - "line": 713, + "offset": 23302, + "line": 756, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3861910", + "id": "0x7f0da6e61238", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22151, - "line": 712, + "offset": 23264, + "line": 755, "col": 9, "tokLen": 1 }, "end": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 } @@ -13502,67 +14132,67 @@ "adl": true, "inner": [ { - "id": "0x38618f8", + "id": "0x7f0da6e61220", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 }, "end": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38618d8", + "id": "0x7f0da6e61200", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 }, "end": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3860b70", + "id": "0x7f0da6e5ffd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22151, + "offset": 23264, "col": 9, "tokLen": 1 }, "end": { - "offset": 22151, + "offset": 23264, "col": 9, "tokLen": 1 } @@ -13570,11 +14200,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13583,16 +14213,16 @@ } }, { - "id": "0x38618c0", + "id": "0x7f0da6e611e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 }, "end": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 } @@ -13604,16 +14234,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3860b90", + "id": "0x7f0da6e5fff8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 }, "end": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 } @@ -13629,33 +14259,33 @@ ] }, { - "id": "0x38619b0", + "id": "0x7f0da6e612d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22176, - "line": 713, + "offset": 23289, + "line": 756, "col": 9, "tokLen": 6 }, "end": { - "offset": 22189, + "offset": 23302, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3861980", + "id": "0x7f0da6e612a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22183, + "offset": 23296, "col": 16, "tokLen": 4 }, "end": { - "offset": 22189, + "offset": 23302, "col": 22, "tokLen": 18 } @@ -13665,7 +14295,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a740", + "id": "0x2cdc0780", "kind": "EnumConstantDecl", "name": "G2_HIGHCAP_LOWGAIN", "type": { @@ -13678,35 +14308,35 @@ ] }, { - "id": "0x3862830", + "id": "0x7f0da6e62618", "kind": "IfStmt", "range": { "begin": { - "offset": 22213, - "line": 714, + "offset": 23326, + "line": 757, "col": 5, "tokLen": 2 }, "end": { - "offset": 22255, - "line": 715, + "offset": 23368, + "line": 758, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3862780", + "id": "0x7f0da6e62568", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22217, - "line": 714, + "offset": 23330, + "line": 757, "col": 9, "tokLen": 1 }, "end": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 } @@ -13718,67 +14348,67 @@ "adl": true, "inner": [ { - "id": "0x3862768", + "id": "0x7f0da6e62550", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 }, "end": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3862748", + "id": "0x7f0da6e62530", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 }, "end": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38619e0", + "id": "0x7f0da6e61308", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22217, + "offset": 23330, "col": 9, "tokLen": 1 }, "end": { - "offset": 22217, + "offset": 23330, "col": 9, "tokLen": 1 } @@ -13786,11 +14416,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13799,16 +14429,16 @@ } }, { - "id": "0x3862730", + "id": "0x7f0da6e62518", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 }, "end": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 } @@ -13820,16 +14450,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3861a00", + "id": "0x7f0da6e61328", "kind": "StringLiteral", "range": { "begin": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 }, "end": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 } @@ -13845,33 +14475,33 @@ ] }, { - "id": "0x3862820", + "id": "0x7f0da6e62608", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22242, - "line": 715, + "offset": 23355, + "line": 758, "col": 9, "tokLen": 6 }, "end": { - "offset": 22255, + "offset": 23368, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x38627f0", + "id": "0x7f0da6e625d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22249, + "offset": 23362, "col": 16, "tokLen": 4 }, "end": { - "offset": 22255, + "offset": 23368, "col": 22, "tokLen": 18 } @@ -13881,7 +14511,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a790", + "id": "0x2cdc07d0", "kind": "EnumConstantDecl", "name": "G2_LOWCAP_HIGHGAIN", "type": { @@ -13894,35 +14524,35 @@ ] }, { - "id": "0x38636a0", + "id": "0x7f0da6e63948", "kind": "IfStmt", "range": { "begin": { - "offset": 22279, - "line": 716, + "offset": 23392, + "line": 759, "col": 5, "tokLen": 2 }, "end": { - "offset": 22321, - "line": 717, + "offset": 23434, + "line": 760, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x38635f0", + "id": "0x7f0da6e63898", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22283, - "line": 716, + "offset": 23396, + "line": 759, "col": 9, "tokLen": 1 }, "end": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 } @@ -13934,67 +14564,67 @@ "adl": true, "inner": [ { - "id": "0x38635d8", + "id": "0x7f0da6e63880", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 }, "end": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38635b8", + "id": "0x7f0da6e63860", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 }, "end": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3862850", + "id": "0x7f0da6e62638", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22283, + "offset": 23396, "col": 9, "tokLen": 1 }, "end": { - "offset": 22283, + "offset": 23396, "col": 9, "tokLen": 1 } @@ -14002,11 +14632,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14015,16 +14645,16 @@ } }, { - "id": "0x38635a0", + "id": "0x7f0da6e63848", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 }, "end": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 } @@ -14036,16 +14666,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3862870", + "id": "0x7f0da6e62658", "kind": "StringLiteral", "range": { "begin": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 }, "end": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 } @@ -14061,33 +14691,33 @@ ] }, { - "id": "0x3863690", + "id": "0x7f0da6e63938", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22308, - "line": 717, + "offset": 23421, + "line": 760, "col": 9, "tokLen": 6 }, "end": { - "offset": 22321, + "offset": 23434, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x3863660", + "id": "0x7f0da6e63908", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22315, + "offset": 23428, "col": 16, "tokLen": 4 }, "end": { - "offset": 22321, + "offset": 23434, "col": 22, "tokLen": 17 } @@ -14097,7 +14727,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a7e0", + "id": "0x2cdc0820", "kind": "EnumConstantDecl", "name": "G2_LOWCAP_LOWGAIN", "type": { @@ -14110,35 +14740,35 @@ ] }, { - "id": "0x3864510", + "id": "0x7f0da6e64c78", "kind": "IfStmt", "range": { "begin": { - "offset": 22344, - "line": 718, + "offset": 23457, + "line": 761, "col": 5, "tokLen": 2 }, "end": { - "offset": 22383, - "line": 719, + "offset": 23496, + "line": 762, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x3864460", + "id": "0x7f0da6e64bc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22348, - "line": 718, + "offset": 23461, + "line": 761, "col": 9, "tokLen": 1 }, "end": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 } @@ -14150,67 +14780,67 @@ "adl": true, "inner": [ { - "id": "0x3864448", + "id": "0x7f0da6e64bb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 }, "end": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3864428", + "id": "0x7f0da6e64b90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 }, "end": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38636c0", + "id": "0x7f0da6e63968", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22348, + "offset": 23461, "col": 9, "tokLen": 1 }, "end": { - "offset": 22348, + "offset": 23461, "col": 9, "tokLen": 1 } @@ -14218,11 +14848,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14231,16 +14861,16 @@ } }, { - "id": "0x3864410", + "id": "0x7f0da6e64b78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 }, "end": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 } @@ -14252,16 +14882,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38636e0", + "id": "0x7f0da6e63988", "kind": "StringLiteral", "range": { "begin": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 }, "end": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 } @@ -14277,33 +14907,33 @@ ] }, { - "id": "0x3864500", + "id": "0x7f0da6e64c68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22370, - "line": 719, + "offset": 23483, + "line": 762, "col": 9, "tokLen": 6 }, "end": { - "offset": 22383, + "offset": 23496, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38644d0", + "id": "0x7f0da6e64c38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22377, + "offset": 23490, "col": 16, "tokLen": 4 }, "end": { - "offset": 22383, + "offset": 23496, "col": 22, "tokLen": 11 } @@ -14313,7 +14943,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a830", + "id": "0x2cdc0870", "kind": "EnumConstantDecl", "name": "G4_HIGHGAIN", "type": { @@ -14326,35 +14956,35 @@ ] }, { - "id": "0x3865390", + "id": "0x7f0da6e65fa8", "kind": "IfStmt", "range": { "begin": { - "offset": 22400, - "line": 720, + "offset": 23513, + "line": 763, "col": 5, "tokLen": 2 }, "end": { - "offset": 22439, - "line": 721, + "offset": 23552, + "line": 764, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38652e0", + "id": "0x7f0da6e65ef8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22404, - "line": 720, + "offset": 23517, + "line": 763, "col": 9, "tokLen": 1 }, "end": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 } @@ -14366,67 +14996,67 @@ "adl": true, "inner": [ { - "id": "0x38652c8", + "id": "0x7f0da6e65ee0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 }, "end": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38652a8", + "id": "0x7f0da6e65ec0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 }, "end": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3864530", + "id": "0x7f0da6e64c98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22404, + "offset": 23517, "col": 9, "tokLen": 1 }, "end": { - "offset": 22404, + "offset": 23517, "col": 9, "tokLen": 1 } @@ -14434,11 +15064,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14447,16 +15077,16 @@ } }, { - "id": "0x3865290", + "id": "0x7f0da6e65ea8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 }, "end": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 } @@ -14468,16 +15098,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3864550", + "id": "0x7f0da6e64cb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 }, "end": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 } @@ -14493,33 +15123,33 @@ ] }, { - "id": "0x3865380", + "id": "0x7f0da6e65f98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22426, - "line": 721, + "offset": 23539, + "line": 764, "col": 9, "tokLen": 6 }, "end": { - "offset": 22439, + "offset": 23552, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3865350", + "id": "0x7f0da6e65f68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22433, + "offset": 23546, "col": 16, "tokLen": 4 }, "end": { - "offset": 22439, + "offset": 23552, "col": 22, "tokLen": 5 } @@ -14529,7 +15159,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a8d0", + "id": "0x2cdc0910", "kind": "EnumConstantDecl", "name": "GAIN0", "type": { @@ -14542,35 +15172,35 @@ ] }, { - "id": "0x3866200", + "id": "0x7f0da6e672d8", "kind": "IfStmt", "range": { "begin": { - "offset": 22450, - "line": 722, + "offset": 23563, + "line": 765, "col": 5, "tokLen": 2 }, "end": { - "offset": 22489, - "line": 723, + "offset": 23602, + "line": 766, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3866150", + "id": "0x7f0da6e67228", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22454, - "line": 722, + "offset": 23567, + "line": 765, "col": 9, "tokLen": 1 }, "end": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 } @@ -14582,67 +15212,67 @@ "adl": true, "inner": [ { - "id": "0x3866138", + "id": "0x7f0da6e67210", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 }, "end": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3866118", + "id": "0x7f0da6e671f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 }, "end": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38653b0", + "id": "0x7f0da6e65fc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22454, + "offset": 23567, "col": 9, "tokLen": 1 }, "end": { - "offset": 22454, + "offset": 23567, "col": 9, "tokLen": 1 } @@ -14650,11 +15280,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14663,16 +15293,16 @@ } }, { - "id": "0x3866100", + "id": "0x7f0da6e671d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 }, "end": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 } @@ -14684,16 +15314,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38653d0", + "id": "0x7f0da6e65fe8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 }, "end": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 } @@ -14709,33 +15339,33 @@ ] }, { - "id": "0x38661f0", + "id": "0x7f0da6e672c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22476, - "line": 723, + "offset": 23589, + "line": 766, "col": 9, "tokLen": 6 }, "end": { - "offset": 22489, + "offset": 23602, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38661c0", + "id": "0x7f0da6e67298", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22483, + "offset": 23596, "col": 16, "tokLen": 4 }, "end": { - "offset": 22489, + "offset": 23602, "col": 22, "tokLen": 10 } @@ -14745,7 +15375,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a880", + "id": "0x2cdc08c0", "kind": "EnumConstantDecl", "name": "G4_LOWGAIN", "type": { @@ -14758,17 +15388,17 @@ ] }, { - "id": "0x3866808", + "id": "0x7f0da6e67960", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 22505, - "line": 724, + "offset": 23618, + "line": 767, "col": 5, "tokLen": 5 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } @@ -14780,16 +15410,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38667f0", + "id": "0x7f0da6e67948", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 22505, + "offset": 23618, "col": 5, "tokLen": 5 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } @@ -14800,74 +15430,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38667c0", + "id": "0x7f0da6e67918", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38667a8", + "id": "0x7f0da6e67900", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3866780", + "id": "0x7f0da6e678d8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -14876,27 +15509,28 @@ }, "inner": [ { - "id": "0x3866760", + "id": "0x7f0da6e678b8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3866758", + "temp": "0x7f0da6e678b0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -14905,22 +15539,23 @@ }, "inner": [ { - "id": "0x3866728", + "id": "0x7f0da6e67880", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -14930,73 +15565,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3866710", + "id": "0x7f0da6e67868", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38666f8", + "id": "0x7f0da6e67850", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38666d8", + "id": "0x7f0da6e67830", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38666d0", + "temp": "0x7f0da6e67828", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -15005,89 +15640,89 @@ }, "inner": [ { - "id": "0x3866698", + "id": "0x7f0da6e677f0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3866680", + "id": "0x7f0da6e677d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 }, "end": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3866660", + "id": "0x7f0da6e677b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 }, "end": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3866648", + "id": "0x7f0da6e677a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 } @@ -15099,16 +15734,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3866230", + "id": "0x7f0da6e67308", "kind": "StringLiteral", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 } @@ -15122,16 +15757,16 @@ ] }, { - "id": "0x3866258", + "id": "0x7f0da6e67330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } @@ -15139,11 +15774,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15178,29 +15813,29 @@ ] } { - "id": "0x3866a58", + "id": "0x7f0da6e67ba8", "kind": "FunctionDecl", "loc": { - "offset": 22581, + "offset": 23694, "file": "ToString.cpp", - "line": 727, + "line": 770, "col": 30, "tokLen": 8 }, "range": { "begin": { - "offset": 22552, + "offset": 23665, "col": 1, "tokLen": 8 }, "end": { - "offset": 23106, - "line": 745, + "offset": 24219, + "line": 788, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3688c48", + "previousDecl": "0x2d376488", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10speedLevelEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -15214,13 +15849,13 @@ }, "inner": [ { - "id": "0x2f5af70", + "id": "0x2cdc0fb0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::speedLevel" }, "decl": { - "id": "0x2f5aec8", + "id": "0x2cdc0f08", "kind": "EnumDecl", "name": "speedLevel" } @@ -15228,22 +15863,22 @@ ] }, { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "loc": { - "offset": 22609, - "line": 727, + "offset": 23722, + "line": 770, "col": 58, "tokLen": 1 }, "range": { "begin": { - "offset": 22590, + "offset": 23703, "col": 39, "tokLen": 5 }, "end": { - "offset": 22609, + "offset": 23722, "col": 58, "tokLen": 1 } @@ -15255,52 +15890,52 @@ } }, { - "id": "0x386e5c0", + "id": "0x7f0da6e71d98", "kind": "CompoundStmt", "range": { "begin": { - "offset": 22612, + "offset": 23725, "col": 61, "tokLen": 1 }, "end": { - "offset": 23106, - "line": 745, + "offset": 24219, + "line": 788, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3867a70", + "id": "0x7f0da6e690a8", "kind": "IfStmt", "range": { "begin": { - "offset": 22618, - "line": 728, + "offset": 23731, + "line": 771, "col": 5, "tokLen": 2 }, "end": { - "offset": 22662, - "line": 729, + "offset": 23775, + "line": 772, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38679c0", + "id": "0x7f0da6e68ff8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22622, - "line": 728, + "offset": 23735, + "line": 771, "col": 9, "tokLen": 1 }, "end": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 } @@ -15312,67 +15947,67 @@ "adl": true, "inner": [ { - "id": "0x38679a8", + "id": "0x7f0da6e68fe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 }, "end": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3867988", + "id": "0x7f0da6e68fc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 }, "end": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3866c10", + "id": "0x7f0da6e67d90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22622, + "offset": 23735, "col": 9, "tokLen": 1 }, "end": { - "offset": 22622, + "offset": 23735, "col": 9, "tokLen": 1 } @@ -15380,11 +16015,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15393,16 +16028,16 @@ } }, { - "id": "0x3867970", + "id": "0x7f0da6e68fa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 }, "end": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 } @@ -15414,16 +16049,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3866c30", + "id": "0x7f0da6e67db0", "kind": "StringLiteral", "range": { "begin": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 }, "end": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 } @@ -15439,33 +16074,33 @@ ] }, { - "id": "0x3867a60", + "id": "0x7f0da6e69098", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22649, - "line": 729, + "offset": 23762, + "line": 772, "col": 9, "tokLen": 6 }, "end": { - "offset": 22662, + "offset": 23775, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3867a30", + "id": "0x7f0da6e69068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22656, + "offset": 23769, "col": 16, "tokLen": 4 }, "end": { - "offset": 22662, + "offset": 23775, "col": 22, "tokLen": 10 } @@ -15475,7 +16110,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5af90", + "id": "0x2cdc0fd0", "kind": "EnumConstantDecl", "name": "FULL_SPEED", "type": { @@ -15488,35 +16123,35 @@ ] }, { - "id": "0x38688e0", + "id": "0x7f0da6e6a3d8", "kind": "IfStmt", "range": { "begin": { - "offset": 22678, - "line": 730, + "offset": 23791, + "line": 773, "col": 5, "tokLen": 2 }, "end": { - "offset": 22713, - "line": 731, + "offset": 23826, + "line": 774, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3868830", + "id": "0x7f0da6e6a328", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22682, - "line": 730, + "offset": 23795, + "line": 773, "col": 9, "tokLen": 1 }, "end": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 } @@ -15528,67 +16163,67 @@ "adl": true, "inner": [ { - "id": "0x3868818", + "id": "0x7f0da6e6a310", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 }, "end": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38687f8", + "id": "0x7f0da6e6a2f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 }, "end": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3867a90", + "id": "0x7f0da6e690c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22682, + "offset": 23795, "col": 9, "tokLen": 1 }, "end": { - "offset": 22682, + "offset": 23795, "col": 9, "tokLen": 1 } @@ -15596,11 +16231,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15609,16 +16244,16 @@ } }, { - "id": "0x38687e0", + "id": "0x7f0da6e6a2d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 }, "end": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 } @@ -15630,16 +16265,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3867ab0", + "id": "0x7f0da6e690e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 }, "end": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 } @@ -15655,33 +16290,33 @@ ] }, { - "id": "0x38688d0", + "id": "0x7f0da6e6a3c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22700, - "line": 731, + "offset": 23813, + "line": 774, "col": 9, "tokLen": 6 }, "end": { - "offset": 22713, + "offset": 23826, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38688a0", + "id": "0x7f0da6e6a398", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22707, + "offset": 23820, "col": 16, "tokLen": 4 }, "end": { - "offset": 22713, + "offset": 23826, "col": 22, "tokLen": 10 } @@ -15691,7 +16326,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5af90", + "id": "0x2cdc0fd0", "kind": "EnumConstantDecl", "name": "FULL_SPEED", "type": { @@ -15704,35 +16339,35 @@ ] }, { - "id": "0x3869760", + "id": "0x7f0da6e6b708", "kind": "IfStmt", "range": { "begin": { - "offset": 22729, - "line": 732, + "offset": 23842, + "line": 775, "col": 5, "tokLen": 2 }, "end": { - "offset": 22773, - "line": 733, + "offset": 23886, + "line": 776, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38696b0", + "id": "0x7f0da6e6b658", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22733, - "line": 732, + "offset": 23846, + "line": 775, "col": 9, "tokLen": 1 }, "end": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 } @@ -15744,67 +16379,67 @@ "adl": true, "inner": [ { - "id": "0x3869698", + "id": "0x7f0da6e6b640", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 }, "end": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3869678", + "id": "0x7f0da6e6b620", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 }, "end": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3868900", + "id": "0x7f0da6e6a3f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22733, + "offset": 23846, "col": 9, "tokLen": 1 }, "end": { - "offset": 22733, + "offset": 23846, "col": 9, "tokLen": 1 } @@ -15812,11 +16447,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15825,16 +16460,16 @@ } }, { - "id": "0x3869660", + "id": "0x7f0da6e6b608", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 }, "end": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 } @@ -15846,16 +16481,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3868920", + "id": "0x7f0da6e6a418", "kind": "StringLiteral", "range": { "begin": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 }, "end": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 } @@ -15871,33 +16506,33 @@ ] }, { - "id": "0x3869750", + "id": "0x7f0da6e6b6f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22760, - "line": 733, + "offset": 23873, + "line": 776, "col": 9, "tokLen": 6 }, "end": { - "offset": 22773, + "offset": 23886, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3869720", + "id": "0x7f0da6e6b6c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22767, + "offset": 23880, "col": 16, "tokLen": 4 }, "end": { - "offset": 22773, + "offset": 23886, "col": 22, "tokLen": 10 } @@ -15907,7 +16542,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5afe0", + "id": "0x2cdc1020", "kind": "EnumConstantDecl", "name": "HALF_SPEED", "type": { @@ -15920,35 +16555,35 @@ ] }, { - "id": "0x386a5d0", + "id": "0x7f0da6e6ca38", "kind": "IfStmt", "range": { "begin": { - "offset": 22789, - "line": 734, + "offset": 23902, + "line": 777, "col": 5, "tokLen": 2 }, "end": { - "offset": 22824, - "line": 735, + "offset": 23937, + "line": 778, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x386a520", + "id": "0x7f0da6e6c988", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22793, - "line": 734, + "offset": 23906, + "line": 777, "col": 9, "tokLen": 1 }, "end": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 } @@ -15960,67 +16595,67 @@ "adl": true, "inner": [ { - "id": "0x386a508", + "id": "0x7f0da6e6c970", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 }, "end": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386a4e8", + "id": "0x7f0da6e6c950", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 }, "end": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3869780", + "id": "0x7f0da6e6b728", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22793, + "offset": 23906, "col": 9, "tokLen": 1 }, "end": { - "offset": 22793, + "offset": 23906, "col": 9, "tokLen": 1 } @@ -16028,11 +16663,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16041,16 +16676,16 @@ } }, { - "id": "0x386a4d0", + "id": "0x7f0da6e6c938", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 }, "end": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 } @@ -16062,16 +16697,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38697a0", + "id": "0x7f0da6e6b748", "kind": "StringLiteral", "range": { "begin": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 }, "end": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 } @@ -16087,33 +16722,33 @@ ] }, { - "id": "0x386a5c0", + "id": "0x7f0da6e6ca28", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22811, - "line": 735, + "offset": 23924, + "line": 778, "col": 9, "tokLen": 6 }, "end": { - "offset": 22824, + "offset": 23937, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x386a590", + "id": "0x7f0da6e6c9f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22818, + "offset": 23931, "col": 16, "tokLen": 4 }, "end": { - "offset": 22824, + "offset": 23937, "col": 22, "tokLen": 10 } @@ -16123,7 +16758,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5afe0", + "id": "0x2cdc1020", "kind": "EnumConstantDecl", "name": "HALF_SPEED", "type": { @@ -16136,35 +16771,35 @@ ] }, { - "id": "0x386b450", + "id": "0x7f0da6e6dd68", "kind": "IfStmt", "range": { "begin": { - "offset": 22840, - "line": 736, + "offset": 23953, + "line": 779, "col": 5, "tokLen": 2 }, "end": { - "offset": 22887, - "line": 737, + "offset": 24000, + "line": 780, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386b3a0", + "id": "0x7f0da6e6dcb8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22844, - "line": 736, + "offset": 23957, + "line": 779, "col": 9, "tokLen": 1 }, "end": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 } @@ -16176,67 +16811,67 @@ "adl": true, "inner": [ { - "id": "0x386b388", + "id": "0x7f0da6e6dca0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 }, "end": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386b368", + "id": "0x7f0da6e6dc80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 }, "end": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386a5f0", + "id": "0x7f0da6e6ca58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22844, + "offset": 23957, "col": 9, "tokLen": 1 }, "end": { - "offset": 22844, + "offset": 23957, "col": 9, "tokLen": 1 } @@ -16244,11 +16879,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16257,16 +16892,16 @@ } }, { - "id": "0x386b350", + "id": "0x7f0da6e6dc68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 }, "end": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 } @@ -16278,16 +16913,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386a610", + "id": "0x7f0da6e6ca78", "kind": "StringLiteral", "range": { "begin": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 }, "end": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 } @@ -16303,33 +16938,33 @@ ] }, { - "id": "0x386b440", + "id": "0x7f0da6e6dd58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22874, - "line": 737, + "offset": 23987, + "line": 780, "col": 9, "tokLen": 6 }, "end": { - "offset": 22887, + "offset": 24000, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386b410", + "id": "0x7f0da6e6dd28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22881, + "offset": 23994, "col": 16, "tokLen": 4 }, "end": { - "offset": 22887, + "offset": 24000, "col": 22, "tokLen": 13 } @@ -16339,7 +16974,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b030", + "id": "0x2cdc1070", "kind": "EnumConstantDecl", "name": "QUARTER_SPEED", "type": { @@ -16352,35 +16987,35 @@ ] }, { - "id": "0x386c2c0", + "id": "0x7f0da6e6f098", "kind": "IfStmt", "range": { "begin": { - "offset": 22906, - "line": 738, + "offset": 24019, + "line": 781, "col": 5, "tokLen": 2 }, "end": { - "offset": 22941, - "line": 739, + "offset": 24054, + "line": 782, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386c210", + "id": "0x7f0da6e6efe8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22910, - "line": 738, + "offset": 24023, + "line": 781, "col": 9, "tokLen": 1 }, "end": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 } @@ -16392,67 +17027,67 @@ "adl": true, "inner": [ { - "id": "0x386c1f8", + "id": "0x7f0da6e6efd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 }, "end": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386c1d8", + "id": "0x7f0da6e6efb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 }, "end": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386b470", + "id": "0x7f0da6e6dd88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22910, + "offset": 24023, "col": 9, "tokLen": 1 }, "end": { - "offset": 22910, + "offset": 24023, "col": 9, "tokLen": 1 } @@ -16460,11 +17095,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16473,16 +17108,16 @@ } }, { - "id": "0x386c1c0", + "id": "0x7f0da6e6ef98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 }, "end": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 } @@ -16494,16 +17129,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386b490", + "id": "0x7f0da6e6dda8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 }, "end": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 } @@ -16519,33 +17154,33 @@ ] }, { - "id": "0x386c2b0", + "id": "0x7f0da6e6f088", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22928, - "line": 739, + "offset": 24041, + "line": 782, "col": 9, "tokLen": 6 }, "end": { - "offset": 22941, + "offset": 24054, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386c280", + "id": "0x7f0da6e6f058", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22935, + "offset": 24048, "col": 16, "tokLen": 4 }, "end": { - "offset": 22941, + "offset": 24054, "col": 22, "tokLen": 13 } @@ -16555,7 +17190,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b030", + "id": "0x2cdc1070", "kind": "EnumConstantDecl", "name": "QUARTER_SPEED", "type": { @@ -16568,35 +17203,35 @@ ] }, { - "id": "0x386d130", + "id": "0x7f0da6e703c8", "kind": "IfStmt", "range": { "begin": { - "offset": 22960, - "line": 740, + "offset": 24073, + "line": 783, "col": 5, "tokLen": 2 }, "end": { - "offset": 22997, - "line": 741, + "offset": 24110, + "line": 784, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386d080", + "id": "0x7f0da6e70318", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22964, - "line": 740, + "offset": 24077, + "line": 783, "col": 9, "tokLen": 1 }, "end": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 } @@ -16608,67 +17243,67 @@ "adl": true, "inner": [ { - "id": "0x386d068", + "id": "0x7f0da6e70300", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 }, "end": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386d048", + "id": "0x7f0da6e702e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 }, "end": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386c2e0", + "id": "0x7f0da6e6f0b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22964, + "offset": 24077, "col": 9, "tokLen": 1 }, "end": { - "offset": 22964, + "offset": 24077, "col": 9, "tokLen": 1 } @@ -16676,11 +17311,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16689,16 +17324,16 @@ } }, { - "id": "0x386d030", + "id": "0x7f0da6e702c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 }, "end": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 } @@ -16710,16 +17345,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386c300", + "id": "0x7f0da6e6f0d8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 }, "end": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 } @@ -16735,33 +17370,33 @@ ] }, { - "id": "0x386d120", + "id": "0x7f0da6e703b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22984, - "line": 741, + "offset": 24097, + "line": 784, "col": 9, "tokLen": 6 }, "end": { - "offset": 22997, + "offset": 24110, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386d0f0", + "id": "0x7f0da6e70388", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22991, + "offset": 24104, "col": 16, "tokLen": 4 }, "end": { - "offset": 22997, + "offset": 24110, "col": 22, "tokLen": 9 } @@ -16771,7 +17406,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b080", + "id": "0x2cdc10c0", "kind": "EnumConstantDecl", "name": "G2_108MHZ", "type": { @@ -16784,35 +17419,35 @@ ] }, { - "id": "0x386dfa0", + "id": "0x7f0da6e716f8", "kind": "IfStmt", "range": { "begin": { - "offset": 23012, - "line": 742, + "offset": 24125, + "line": 785, "col": 5, "tokLen": 2 }, "end": { - "offset": 23049, - "line": 743, + "offset": 24162, + "line": 786, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386def0", + "id": "0x7f0da6e71648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23016, - "line": 742, + "offset": 24129, + "line": 785, "col": 9, "tokLen": 1 }, "end": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 } @@ -16824,67 +17459,67 @@ "adl": true, "inner": [ { - "id": "0x386ded8", + "id": "0x7f0da6e71630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 }, "end": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386deb8", + "id": "0x7f0da6e71610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 }, "end": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386d150", + "id": "0x7f0da6e703e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23016, + "offset": 24129, "col": 9, "tokLen": 1 }, "end": { - "offset": 23016, + "offset": 24129, "col": 9, "tokLen": 1 } @@ -16892,11 +17527,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16905,16 +17540,16 @@ } }, { - "id": "0x386dea0", + "id": "0x7f0da6e715f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 }, "end": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 } @@ -16926,16 +17561,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386d170", + "id": "0x7f0da6e70408", "kind": "StringLiteral", "range": { "begin": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 }, "end": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 } @@ -16951,33 +17586,33 @@ ] }, { - "id": "0x386df90", + "id": "0x7f0da6e716e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23036, - "line": 743, + "offset": 24149, + "line": 786, "col": 9, "tokLen": 6 }, "end": { - "offset": 23049, + "offset": 24162, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386df60", + "id": "0x7f0da6e716b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23043, + "offset": 24156, "col": 16, "tokLen": 4 }, "end": { - "offset": 23049, + "offset": 24162, "col": 22, "tokLen": 9 } @@ -16987,7 +17622,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b0d0", + "id": "0x2cdc1110", "kind": "EnumConstantDecl", "name": "G2_144MHZ", "type": { @@ -17000,17 +17635,17 @@ ] }, { - "id": "0x386e5a8", + "id": "0x7f0da6e71d80", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 23064, - "line": 744, + "offset": 24177, + "line": 787, "col": 5, "tokLen": 5 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } @@ -17022,16 +17657,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x386e590", + "id": "0x7f0da6e71d68", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 23064, + "offset": 24177, "col": 5, "tokLen": 5 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } @@ -17042,74 +17677,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x386e560", + "id": "0x7f0da6e71d38", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x386e548", + "id": "0x7f0da6e71d20", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x386e520", + "id": "0x7f0da6e71cf8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -17118,27 +17756,28 @@ }, "inner": [ { - "id": "0x386e500", + "id": "0x7f0da6e71cd8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x386e4f8", + "temp": "0x7f0da6e71cd0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -17147,22 +17786,23 @@ }, "inner": [ { - "id": "0x386e4c8", + "id": "0x7f0da6e71ca0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -17172,73 +17812,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x386e4b0", + "id": "0x7f0da6e71c88", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x386e498", + "id": "0x7f0da6e71c70", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x386e478", + "id": "0x7f0da6e71c50", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x386e470", + "temp": "0x7f0da6e71c48", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -17247,89 +17887,89 @@ }, "inner": [ { - "id": "0x386e438", + "id": "0x7f0da6e71c10", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x386e420", + "id": "0x7f0da6e71bf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 }, "end": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386e400", + "id": "0x7f0da6e71bd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 }, "end": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x386e3e8", + "id": "0x7f0da6e71bc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 } @@ -17341,16 +17981,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386dfd0", + "id": "0x7f0da6e71728", "kind": "StringLiteral", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 } @@ -17364,16 +18004,16 @@ ] }, { - "id": "0x386dff8", + "id": "0x7f0da6e71750", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } @@ -17381,11 +18021,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -17420,29 +18060,29 @@ ] } { - "id": "0x386e798", + "id": "0x7f0da6e71f68", "kind": "FunctionDecl", "loc": { - "offset": 23138, + "offset": 24251, "file": "ToString.cpp", - "line": 747, + "line": 790, "col": 30, "tokLen": 8 }, "range": { "begin": { - "offset": 23109, + "offset": 24222, "col": 1, "tokLen": 8 }, "end": { - "offset": 23525, - "line": 759, + "offset": 24638, + "line": 802, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3689168", + "previousDecl": "0x2d3769d8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10timingModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -17456,13 +18096,13 @@ }, "inner": [ { - "id": "0x2f57730", + "id": "0x2cdbd770", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingMode" }, "decl": { - "id": "0x2f57688", + "id": "0x2cdbd6c8", "kind": "EnumDecl", "name": "timingMode" } @@ -17470,22 +18110,22 @@ ] }, { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "loc": { - "offset": 23166, - "line": 747, + "offset": 24279, + "line": 790, "col": 58, "tokLen": 1 }, "range": { "begin": { - "offset": 23147, + "offset": 24260, "col": 39, "tokLen": 5 }, "end": { - "offset": 23166, + "offset": 24279, "col": 58, "tokLen": 1 } @@ -17497,52 +18137,52 @@ } }, { - "id": "0x38737a8", + "id": "0x7f0da6e377d0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 23169, + "offset": 24282, "col": 61, "tokLen": 1 }, "end": { - "offset": 23525, - "line": 759, + "offset": 24638, + "line": 802, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x386f7a0", + "id": "0x7f0da6e73458", "kind": "IfStmt", "range": { "begin": { - "offset": 23175, - "line": 748, + "offset": 24288, + "line": 791, "col": 5, "tokLen": 2 }, "end": { - "offset": 23213, - "line": 749, + "offset": 24326, + "line": 792, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x386f6f0", + "id": "0x7f0da6e733a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23179, - "line": 748, + "offset": 24292, + "line": 791, "col": 9, "tokLen": 1 }, "end": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 } @@ -17554,67 +18194,67 @@ "adl": true, "inner": [ { - "id": "0x386f6d8", + "id": "0x7f0da6e73390", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 }, "end": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386f6b8", + "id": "0x7f0da6e73370", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 }, "end": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386e950", + "id": "0x7f0da6e72150", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23179, + "offset": 24292, "col": 9, "tokLen": 1 }, "end": { - "offset": 23179, + "offset": 24292, "col": 9, "tokLen": 1 } @@ -17622,11 +18262,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -17635,16 +18275,16 @@ } }, { - "id": "0x386f6a0", + "id": "0x7f0da6e73358", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 }, "end": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 } @@ -17656,16 +18296,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386e970", + "id": "0x7f0da6e72170", "kind": "StringLiteral", "range": { "begin": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 }, "end": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 } @@ -17681,33 +18321,33 @@ ] }, { - "id": "0x386f790", + "id": "0x7f0da6e73448", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23200, - "line": 749, + "offset": 24313, + "line": 792, "col": 9, "tokLen": 6 }, "end": { - "offset": 23213, + "offset": 24326, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x386f760", + "id": "0x7f0da6e73418", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23207, + "offset": 24320, "col": 16, "tokLen": 4 }, "end": { - "offset": 23213, + "offset": 24326, "col": 22, "tokLen": 11 } @@ -17717,7 +18357,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57750", + "id": "0x2cdbd790", "kind": "EnumConstantDecl", "name": "AUTO_TIMING", "type": { @@ -17730,35 +18370,35 @@ ] }, { - "id": "0x3870610", + "id": "0x7f0da6e74788", "kind": "IfStmt", "range": { "begin": { - "offset": 23230, - "line": 750, + "offset": 24343, + "line": 793, "col": 5, "tokLen": 2 }, "end": { - "offset": 23271, - "line": 751, + "offset": 24384, + "line": 794, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x3870560", + "id": "0x7f0da6e746d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23234, - "line": 750, + "offset": 24347, + "line": 793, "col": 9, "tokLen": 1 }, "end": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 } @@ -17770,67 +18410,67 @@ "adl": true, "inner": [ { - "id": "0x3870548", + "id": "0x7f0da6e746c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 }, "end": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3870528", + "id": "0x7f0da6e746a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 }, "end": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386f7c0", + "id": "0x7f0da6e73478", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23234, + "offset": 24347, "col": 9, "tokLen": 1 }, "end": { - "offset": 23234, + "offset": 24347, "col": 9, "tokLen": 1 } @@ -17838,11 +18478,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -17851,16 +18491,16 @@ } }, { - "id": "0x3870510", + "id": "0x7f0da6e74688", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 }, "end": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 } @@ -17872,16 +18512,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386f7e0", + "id": "0x7f0da6e73498", "kind": "StringLiteral", "range": { "begin": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 }, "end": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 } @@ -17897,33 +18537,33 @@ ] }, { - "id": "0x3870600", + "id": "0x7f0da6e74778", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23258, - "line": 751, + "offset": 24371, + "line": 794, "col": 9, "tokLen": 6 }, "end": { - "offset": 23271, + "offset": 24384, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x38705d0", + "id": "0x7f0da6e74748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23265, + "offset": 24378, "col": 16, "tokLen": 4 }, "end": { - "offset": 23271, + "offset": 24384, "col": 22, "tokLen": 16 } @@ -17933,7 +18573,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f577a0", + "id": "0x2cdbd7e0", "kind": "EnumConstantDecl", "name": "TRIGGER_EXPOSURE", "type": { @@ -17946,35 +18586,35 @@ ] }, { - "id": "0x3871480", + "id": "0x7f0da6e75ab8", "kind": "IfStmt", "range": { "begin": { - "offset": 23293, - "line": 752, + "offset": 24406, + "line": 795, "col": 5, "tokLen": 2 }, "end": { - "offset": 23333, - "line": 753, + "offset": 24446, + "line": 796, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38713d0", + "id": "0x7f0da6e75a08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23297, - "line": 752, + "offset": 24410, + "line": 795, "col": 9, "tokLen": 1 }, "end": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 } @@ -17986,67 +18626,67 @@ "adl": true, "inner": [ { - "id": "0x38713b8", + "id": "0x7f0da6e759f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 }, "end": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3871398", + "id": "0x7f0da6e759d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 }, "end": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3870630", + "id": "0x7f0da6e747a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23297, + "offset": 24410, "col": 9, "tokLen": 1 }, "end": { - "offset": 23297, + "offset": 24410, "col": 9, "tokLen": 1 } @@ -18054,11 +18694,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -18067,16 +18707,16 @@ } }, { - "id": "0x3871380", + "id": "0x7f0da6e759b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 }, "end": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 } @@ -18088,16 +18728,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3870650", + "id": "0x7f0da6e747c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 }, "end": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 } @@ -18113,33 +18753,33 @@ ] }, { - "id": "0x3871470", + "id": "0x7f0da6e75aa8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23320, - "line": 753, + "offset": 24433, + "line": 796, "col": 9, "tokLen": 6 }, "end": { - "offset": 23333, + "offset": 24446, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3871440", + "id": "0x7f0da6e75a78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23327, + "offset": 24440, "col": 16, "tokLen": 4 }, "end": { - "offset": 23333, + "offset": 24446, "col": 22, "tokLen": 5 } @@ -18149,7 +18789,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f577f0", + "id": "0x2cdbd830", "kind": "EnumConstantDecl", "name": "GATED", "type": { @@ -18162,35 +18802,35 @@ ] }, { - "id": "0x3872300", + "id": "0x7f0da6e35df8", "kind": "IfStmt", "range": { "begin": { - "offset": 23344, - "line": 754, + "offset": 24457, + "line": 797, "col": 5, "tokLen": 2 }, "end": { - "offset": 23391, - "line": 755, + "offset": 24504, + "line": 798, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x3872250", + "id": "0x7f0da6e35d48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23348, - "line": 754, + "offset": 24461, + "line": 797, "col": 9, "tokLen": 1 }, "end": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 } @@ -18202,67 +18842,67 @@ "adl": true, "inner": [ { - "id": "0x3872238", + "id": "0x7f0da6e35d30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 }, "end": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3872218", + "id": "0x7f0da6e35d10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 }, "end": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38714a0", + "id": "0x7f0da6e75ad8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23348, + "offset": 24461, "col": 9, "tokLen": 1 }, "end": { - "offset": 23348, + "offset": 24461, "col": 9, "tokLen": 1 } @@ -18270,11 +18910,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -18283,16 +18923,16 @@ } }, { - "id": "0x3872200", + "id": "0x7f0da6e35cf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 }, "end": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 } @@ -18304,16 +18944,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38714c0", + "id": "0x7f0da6e75af8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 }, "end": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 } @@ -18329,33 +18969,33 @@ ] }, { - "id": "0x38722f0", + "id": "0x7f0da6e35de8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23378, - "line": 755, + "offset": 24491, + "line": 798, "col": 9, "tokLen": 6 }, "end": { - "offset": 23391, + "offset": 24504, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x38722c0", + "id": "0x7f0da6e35db8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23385, + "offset": 24498, "col": 16, "tokLen": 4 }, "end": { - "offset": 23391, + "offset": 24504, "col": 22, "tokLen": 13 } @@ -18365,7 +19005,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57840", + "id": "0x2cdbd880", "kind": "EnumConstantDecl", "name": "BURST_TRIGGER", "type": { @@ -18378,35 +19018,35 @@ ] }, { - "id": "0x3873180", + "id": "0x7f0da6e37128", "kind": "IfStmt", "range": { "begin": { - "offset": 23410, - "line": 756, + "offset": 24523, + "line": 799, "col": 5, "tokLen": 2 }, "end": { - "offset": 23458, - "line": 757, + "offset": 24571, + "line": 800, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x38730d0", + "id": "0x7f0da6e37078", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23414, - "line": 756, + "offset": 24527, + "line": 799, "col": 9, "tokLen": 1 }, "end": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 } @@ -18418,67 +19058,67 @@ "adl": true, "inner": [ { - "id": "0x38730b8", + "id": "0x7f0da6e37060", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 }, "end": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3873098", + "id": "0x7f0da6e37040", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 }, "end": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3872320", + "id": "0x7f0da6e35e18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23414, + "offset": 24527, "col": 9, "tokLen": 1 }, "end": { - "offset": 23414, + "offset": 24527, "col": 9, "tokLen": 1 } @@ -18486,11 +19126,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -18499,16 +19139,16 @@ } }, { - "id": "0x3873080", + "id": "0x7f0da6e37028", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 }, "end": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 } @@ -18520,16 +19160,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3872340", + "id": "0x7f0da6e35e38", "kind": "StringLiteral", "range": { "begin": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 }, "end": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 } @@ -18545,33 +19185,33 @@ ] }, { - "id": "0x3873170", + "id": "0x7f0da6e37118", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23445, - "line": 757, + "offset": 24558, + "line": 800, "col": 9, "tokLen": 6 }, "end": { - "offset": 23458, + "offset": 24571, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x3873140", + "id": "0x7f0da6e370e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23452, + "offset": 24565, "col": 16, "tokLen": 4 }, "end": { - "offset": 23458, + "offset": 24571, "col": 22, "tokLen": 13 } @@ -18581,7 +19221,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57890", + "id": "0x2cdbd8d0", "kind": "EnumConstantDecl", "name": "TRIGGER_GATED", "type": { @@ -18594,17 +19234,17 @@ ] }, { - "id": "0x3873790", + "id": "0x7f0da6e377b8", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 23477, - "line": 758, + "offset": 24590, + "line": 801, "col": 5, "tokLen": 5 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } @@ -18616,16 +19256,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3873778", + "id": "0x7f0da6e377a0", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 23477, + "offset": 24590, "col": 5, "tokLen": 5 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } @@ -18636,74 +19276,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3873748", + "id": "0x7f0da6e37770", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3873730", + "id": "0x7f0da6e37758", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3873708", + "id": "0x7f0da6e37730", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -18712,27 +19355,28 @@ }, "inner": [ { - "id": "0x38736e8", + "id": "0x7f0da6e37710", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38736e0", + "temp": "0x7f0da6e37708", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -18741,22 +19385,23 @@ }, "inner": [ { - "id": "0x38736b0", + "id": "0x7f0da6e376d8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -18766,73 +19411,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3873698", + "id": "0x7f0da6e376c0", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3873680", + "id": "0x7f0da6e376a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3873660", + "id": "0x7f0da6e37688", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x3873658", + "temp": "0x7f0da6e37680", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -18841,89 +19486,89 @@ }, "inner": [ { - "id": "0x3873620", + "id": "0x7f0da6e37648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3873608", + "id": "0x7f0da6e37630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 }, "end": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38735e8", + "id": "0x7f0da6e37610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 }, "end": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38735d0", + "id": "0x7f0da6e375f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 } @@ -18935,16 +19580,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38731b0", + "id": "0x7f0da6e37158", "kind": "StringLiteral", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 } @@ -18958,16 +19603,16 @@ ] }, { - "id": "0x38731e0", + "id": "0x7f0da6e37188", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } @@ -18975,11 +19620,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19014,29 +19659,29 @@ ] } { - "id": "0x3873968", + "id": "0x7f0da6e37988", "kind": "FunctionDecl", "loc": { - "offset": 23565, + "offset": 24678, "file": "ToString.cpp", - "line": 761, + "line": 804, "col": 38, "tokLen": 8 }, "range": { "begin": { - "offset": 23528, + "offset": 24641, "col": 1, "tokLen": 8 }, "end": { - "offset": 23866, - "line": 769, + "offset": 24979, + "line": 812, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3689688", + "previousDecl": "0x2d376f28", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18frameDiscardPolicyEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -19050,13 +19695,13 @@ }, "inner": [ { - "id": "0x2f554b0", + "id": "0x2cdb87d0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::frameDiscardPolicy" }, "decl": { - "id": "0x2f55410", + "id": "0x2cdb8730", "kind": "EnumDecl", "name": "frameDiscardPolicy" } @@ -19064,22 +19709,22 @@ ] }, { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "loc": { - "offset": 23593, - "line": 761, + "offset": 24706, + "line": 804, "col": 66, "tokLen": 1 }, "range": { "begin": { - "offset": 23574, + "offset": 24687, "col": 47, "tokLen": 5 }, "end": { - "offset": 23593, + "offset": 24706, "col": 66, "tokLen": 1 } @@ -19091,52 +19736,52 @@ } }, { - "id": "0x3876cd0", + "id": "0x7f0da6e3bbc8", "kind": "CompoundStmt", "range": { "begin": { - "offset": 23596, + "offset": 24709, "col": 69, "tokLen": 1 }, "end": { - "offset": 23866, - "line": 769, + "offset": 24979, + "line": 812, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3874980", + "id": "0x7f0da6e38e88", "kind": "IfStmt", "range": { "begin": { - "offset": 23602, - "line": 762, + "offset": 24715, + "line": 805, "col": 5, "tokLen": 2 }, "end": { - "offset": 23645, - "line": 763, + "offset": 24758, + "line": 806, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38748d0", + "id": "0x7f0da6e38dd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23606, - "line": 762, + "offset": 24719, + "line": 805, "col": 9, "tokLen": 1 }, "end": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 } @@ -19148,67 +19793,67 @@ "adl": true, "inner": [ { - "id": "0x38748b8", + "id": "0x7f0da6e38dc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 }, "end": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3874898", + "id": "0x7f0da6e38da0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 }, "end": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3873b20", + "id": "0x7f0da6e37b70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23606, + "offset": 24719, "col": 9, "tokLen": 1 }, "end": { - "offset": 23606, + "offset": 24719, "col": 9, "tokLen": 1 } @@ -19216,11 +19861,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19229,16 +19874,16 @@ } }, { - "id": "0x3874880", + "id": "0x7f0da6e38d88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 }, "end": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 } @@ -19250,16 +19895,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3873b40", + "id": "0x7f0da6e37b90", "kind": "StringLiteral", "range": { "begin": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 }, "end": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 } @@ -19275,33 +19920,33 @@ ] }, { - "id": "0x3874970", + "id": "0x7f0da6e38e78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23632, - "line": 763, + "offset": 24745, + "line": 806, "col": 9, "tokLen": 6 }, "end": { - "offset": 23645, + "offset": 24758, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3874940", + "id": "0x7f0da6e38e48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23639, + "offset": 24752, "col": 16, "tokLen": 4 }, "end": { - "offset": 23645, + "offset": 24758, "col": 22, "tokLen": 10 } @@ -19311,7 +19956,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f554d0", + "id": "0x2cdb87f0", "kind": "EnumConstantDecl", "name": "NO_DISCARD", "type": { @@ -19324,35 +19969,35 @@ ] }, { - "id": "0x3875820", + "id": "0x7f0da6e3a1b8", "kind": "IfStmt", "range": { "begin": { - "offset": 23661, - "line": 764, + "offset": 24774, + "line": 807, "col": 5, "tokLen": 2 }, "end": { - "offset": 23707, - "line": 765, + "offset": 24820, + "line": 808, "col": 22, "tokLen": 20 } }, "inner": [ { - "id": "0x3875770", + "id": "0x7f0da6e3a108", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23665, - "line": 764, + "offset": 24778, + "line": 807, "col": 9, "tokLen": 1 }, "end": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 } @@ -19364,67 +20009,67 @@ "adl": true, "inner": [ { - "id": "0x3875758", + "id": "0x7f0da6e3a0f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 }, "end": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3875738", + "id": "0x7f0da6e3a0d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 }, "end": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38749a0", + "id": "0x7f0da6e38ea8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23665, + "offset": 24778, "col": 9, "tokLen": 1 }, "end": { - "offset": 23665, + "offset": 24778, "col": 9, "tokLen": 1 } @@ -19432,11 +20077,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19445,16 +20090,16 @@ } }, { - "id": "0x3875720", + "id": "0x7f0da6e3a0b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 }, "end": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 } @@ -19466,16 +20111,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38749c0", + "id": "0x7f0da6e38ec8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 }, "end": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 } @@ -19491,33 +20136,33 @@ ] }, { - "id": "0x3875810", + "id": "0x7f0da6e3a1a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23694, - "line": 765, + "offset": 24807, + "line": 808, "col": 9, "tokLen": 6 }, "end": { - "offset": 23707, + "offset": 24820, "col": 22, "tokLen": 20 } }, "inner": [ { - "id": "0x38757e0", + "id": "0x7f0da6e3a178", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23701, + "offset": 24814, "col": 16, "tokLen": 4 }, "end": { - "offset": 23707, + "offset": 24820, "col": 22, "tokLen": 20 } @@ -19527,7 +20172,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f55520", + "id": "0x2cdb8840", "kind": "EnumConstantDecl", "name": "DISCARD_EMPTY_FRAMES", "type": { @@ -19540,35 +20185,35 @@ ] }, { - "id": "0x38766a0", + "id": "0x7f0da6e3b4e8", "kind": "IfStmt", "range": { "begin": { - "offset": 23733, - "line": 766, + "offset": 24846, + "line": 809, "col": 5, "tokLen": 2 }, "end": { - "offset": 23781, - "line": 767, + "offset": 24894, + "line": 810, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x38765f0", + "id": "0x7f0da6e3b438", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23737, - "line": 766, + "offset": 24850, + "line": 809, "col": 9, "tokLen": 1 }, "end": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 } @@ -19580,67 +20225,67 @@ "adl": true, "inner": [ { - "id": "0x38765d8", + "id": "0x7f0da6e3b420", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 }, "end": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38765b8", + "id": "0x7f0da6e3b400", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 }, "end": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3875840", + "id": "0x7f0da6e3a1d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23737, + "offset": 24850, "col": 9, "tokLen": 1 }, "end": { - "offset": 23737, + "offset": 24850, "col": 9, "tokLen": 1 } @@ -19648,11 +20293,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19661,16 +20306,16 @@ } }, { - "id": "0x38765a0", + "id": "0x7f0da6e3b3e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 }, "end": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 } @@ -19682,16 +20327,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3875860", + "id": "0x7f0da6e3a1f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 }, "end": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 } @@ -19707,33 +20352,33 @@ ] }, { - "id": "0x3876690", + "id": "0x7f0da6e3b4d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23768, - "line": 767, + "offset": 24881, + "line": 810, "col": 9, "tokLen": 6 }, "end": { - "offset": 23781, + "offset": 24894, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x3876660", + "id": "0x7f0da6e3b4a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23775, + "offset": 24888, "col": 16, "tokLen": 4 }, "end": { - "offset": 23781, + "offset": 24894, "col": 22, "tokLen": 22 } @@ -19743,7 +20388,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f55570", + "id": "0x2cdb8890", "kind": "EnumConstantDecl", "name": "DISCARD_PARTIAL_FRAMES", "type": { @@ -19756,17 +20401,17 @@ ] }, { - "id": "0x3876cb8", + "id": "0x7f0da6e3bbb0", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 23809, - "line": 768, + "offset": 24922, + "line": 811, "col": 5, "tokLen": 5 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } @@ -19778,16 +20423,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3876ca0", + "id": "0x7f0da6e3bb98", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 23809, + "offset": 24922, "col": 5, "tokLen": 5 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } @@ -19798,74 +20443,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3876c70", + "id": "0x7f0da6e3bb68", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3876c58", + "id": "0x7f0da6e3bb50", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3876c30", + "id": "0x7f0da6e3bb28", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -19874,27 +20522,28 @@ }, "inner": [ { - "id": "0x3876c10", + "id": "0x7f0da6e3bb08", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3876c08", + "temp": "0x7f0da6e3bb00", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -19903,22 +20552,23 @@ }, "inner": [ { - "id": "0x3876bd8", + "id": "0x7f0da6e3bad0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -19928,73 +20578,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3876bc0", + "id": "0x7f0da6e3bab8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3876ba8", + "id": "0x7f0da6e3baa0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3876b88", + "id": "0x7f0da6e3ba80", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x3876b80", + "temp": "0x7f0da6e3ba78", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -20003,89 +20653,89 @@ }, "inner": [ { - "id": "0x3876b48", + "id": "0x7f0da6e3ba40", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3876b30", + "id": "0x7f0da6e3ba28", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 }, "end": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3876b10", + "id": "0x7f0da6e3ba08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 }, "end": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3876af8", + "id": "0x7f0da6e3b9f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 } @@ -20097,16 +20747,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38766d0", + "id": "0x7f0da6e3b518", "kind": "StringLiteral", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 } @@ -20120,16 +20770,16 @@ ] }, { - "id": "0x3876708", + "id": "0x7f0da6e3b550", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } @@ -20137,11 +20787,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -20176,29 +20826,29 @@ ] } { - "id": "0x3876e78", + "id": "0x7f0da6e3bd78", "kind": "FunctionDecl", "loc": { - "offset": 23898, + "offset": 25011, "file": "ToString.cpp", - "line": 771, + "line": 814, "col": 30, "tokLen": 8 }, "range": { "begin": { - "offset": 23869, + "offset": 24982, "col": 1, "tokLen": 8 }, "end": { - "offset": 24083, - "line": 777, + "offset": 25196, + "line": 820, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3689ba8", + "previousDecl": "0x2d377478", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10fileFormatEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -20212,13 +20862,13 @@ }, "inner": [ { - "id": "0x2f556b0", + "id": "0x2cdbbda0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::fileFormat" }, "decl": { - "id": "0x2f55610", + "id": "0x2cdbbd00", "kind": "EnumDecl", "name": "fileFormat" } @@ -20226,22 +20876,22 @@ ] }, { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "loc": { - "offset": 23926, - "line": 771, + "offset": 25039, + "line": 814, "col": 58, "tokLen": 1 }, "range": { "begin": { - "offset": 23907, + "offset": 25020, "col": 39, "tokLen": 5 }, "end": { - "offset": 23926, + "offset": 25039, "col": 58, "tokLen": 1 } @@ -20253,52 +20903,52 @@ } }, { - "id": "0x3879318", + "id": "0x7f0da6e3ec40", "kind": "CompoundStmt", "range": { "begin": { - "offset": 23929, + "offset": 25042, "col": 61, "tokLen": 1 }, "end": { - "offset": 24083, - "line": 777, + "offset": 25196, + "line": 820, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3877e80", + "id": "0x7f0da6e3d268", "kind": "IfStmt", "range": { "begin": { - "offset": 23935, - "line": 772, + "offset": 25048, + "line": 815, "col": 5, "tokLen": 2 }, "end": { - "offset": 23973, - "line": 773, + "offset": 25086, + "line": 816, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3877dd0", + "id": "0x7f0da6e3d1b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23939, - "line": 772, + "offset": 25052, + "line": 815, "col": 9, "tokLen": 1 }, "end": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 } @@ -20310,67 +20960,67 @@ "adl": true, "inner": [ { - "id": "0x3877db8", + "id": "0x7f0da6e3d1a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 }, "end": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3877d98", + "id": "0x7f0da6e3d180", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 }, "end": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3877030", + "id": "0x7f0da6e3bf60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23939, + "offset": 25052, "col": 9, "tokLen": 1 }, "end": { - "offset": 23939, + "offset": 25052, "col": 9, "tokLen": 1 } @@ -20378,11 +21028,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -20391,16 +21041,16 @@ } }, { - "id": "0x3877d80", + "id": "0x7f0da6e3d168", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 }, "end": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 } @@ -20412,16 +21062,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3877050", + "id": "0x7f0da6e3bf80", "kind": "StringLiteral", "range": { "begin": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 }, "end": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 } @@ -20437,33 +21087,33 @@ ] }, { - "id": "0x3877e70", + "id": "0x7f0da6e3d258", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23960, - "line": 773, + "offset": 25073, + "line": 816, "col": 9, "tokLen": 6 }, "end": { - "offset": 23973, + "offset": 25086, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3877e40", + "id": "0x7f0da6e3d228", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23967, + "offset": 25080, "col": 16, "tokLen": 4 }, "end": { - "offset": 23973, + "offset": 25086, "col": 22, "tokLen": 4 } @@ -20473,7 +21123,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f55720", + "id": "0x2cdbbe10", "kind": "EnumConstantDecl", "name": "HDF5", "type": { @@ -20486,35 +21136,35 @@ ] }, { - "id": "0x3878cf0", + "id": "0x7f0da6e3e598", "kind": "IfStmt", "range": { "begin": { - "offset": 23983, - "line": 774, + "offset": 25096, + "line": 817, "col": 5, "tokLen": 2 }, "end": { - "offset": 24023, - "line": 775, + "offset": 25136, + "line": 818, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3878c40", + "id": "0x7f0da6e3e4e8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23987, - "line": 774, + "offset": 25100, + "line": 817, "col": 9, "tokLen": 1 }, "end": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 } @@ -20526,67 +21176,67 @@ "adl": true, "inner": [ { - "id": "0x3878c28", + "id": "0x7f0da6e3e4d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 }, "end": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3878c08", + "id": "0x7f0da6e3e4b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 }, "end": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3877ea0", + "id": "0x7f0da6e3d288", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23987, + "offset": 25100, "col": 9, "tokLen": 1 }, "end": { - "offset": 23987, + "offset": 25100, "col": 9, "tokLen": 1 } @@ -20594,11 +21244,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -20607,16 +21257,16 @@ } }, { - "id": "0x3878bf0", + "id": "0x7f0da6e3e498", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 }, "end": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 } @@ -20628,16 +21278,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3877ec0", + "id": "0x7f0da6e3d2a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 }, "end": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 } @@ -20653,33 +21303,33 @@ ] }, { - "id": "0x3878ce0", + "id": "0x7f0da6e3e588", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24010, - "line": 775, + "offset": 25123, + "line": 818, "col": 9, "tokLen": 6 }, "end": { - "offset": 24023, + "offset": 25136, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3878cb0", + "id": "0x7f0da6e3e558", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24017, + "offset": 25130, "col": 16, "tokLen": 4 }, "end": { - "offset": 24023, + "offset": 25136, "col": 22, "tokLen": 6 } @@ -20689,7 +21339,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f556d0", + "id": "0x2cdbbdc0", "kind": "EnumConstantDecl", "name": "BINARY", "type": { @@ -20702,17 +21352,17 @@ ] }, { - "id": "0x3879300", + "id": "0x7f0da6e3ec28", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 24035, - "line": 776, + "offset": 25148, + "line": 819, "col": 5, "tokLen": 5 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } @@ -20724,16 +21374,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38792e8", + "id": "0x7f0da6e3ec10", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 24035, + "offset": 25148, "col": 5, "tokLen": 5 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } @@ -20744,74 +21394,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38792b8", + "id": "0x7f0da6e3ebe0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38792a0", + "id": "0x7f0da6e3ebc8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3879278", + "id": "0x7f0da6e3eba0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -20820,27 +21473,28 @@ }, "inner": [ { - "id": "0x3879258", + "id": "0x7f0da6e3eb80", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3879250", + "temp": "0x7f0da6e3eb78", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -20849,22 +21503,23 @@ }, "inner": [ { - "id": "0x3879220", + "id": "0x7f0da6e3eb48", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -20874,73 +21529,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3879208", + "id": "0x7f0da6e3eb30", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38791f0", + "id": "0x7f0da6e3eb18", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38791d0", + "id": "0x7f0da6e3eaf8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38791c8", + "temp": "0x7f0da6e3eaf0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -20949,89 +21604,89 @@ }, "inner": [ { - "id": "0x3879190", + "id": "0x7f0da6e3eab8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3879178", + "id": "0x7f0da6e3eaa0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 }, "end": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3879158", + "id": "0x7f0da6e3ea80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 }, "end": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3879140", + "id": "0x7f0da6e3ea68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 } @@ -21043,16 +21698,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3878d20", + "id": "0x7f0da6e3e5c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 } @@ -21066,16 +21721,16 @@ ] }, { - "id": "0x3878d50", + "id": "0x7f0da6e3e5f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } @@ -21083,11 +21738,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21122,29 +21777,29 @@ ] } { - "id": "0x38794b8", + "id": "0x7f0da6e3ede8", "kind": "FunctionDecl", "loc": { - "offset": 24123, + "offset": 25236, "file": "ToString.cpp", - "line": 779, + "line": 822, "col": 38, "tokLen": 8 }, "range": { "begin": { - "offset": 24086, + "offset": 25199, "col": 1, "tokLen": 8 }, "end": { - "offset": 24517, - "line": 789, + "offset": 25630, + "line": 832, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368abf0", + "previousDecl": "0x2d3779c8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18externalSignalFlagEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -21158,13 +21813,13 @@ }, "inner": [ { - "id": "0x2f57500", + "id": "0x2cdbd540", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::externalSignalFlag" }, "decl": { - "id": "0x2f57458", + "id": "0x2cdbd498", "kind": "EnumDecl", "name": "externalSignalFlag" } @@ -21172,22 +21827,22 @@ ] }, { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "loc": { - "offset": 24151, - "line": 779, + "offset": 25264, + "line": 822, "col": 66, "tokLen": 1 }, "range": { "begin": { - "offset": 24132, + "offset": 25245, "col": 47, "tokLen": 5 }, "end": { - "offset": 24151, + "offset": 25264, "col": 66, "tokLen": 1 } @@ -21199,52 +21854,52 @@ } }, { - "id": "0x387d680", + "id": "0x7f0da6e44338", "kind": "CompoundStmt", "range": { "begin": { - "offset": 24154, + "offset": 25267, "col": 69, "tokLen": 1 }, "end": { - "offset": 24517, - "line": 789, + "offset": 25630, + "line": 832, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x387a4d0", + "id": "0x7f0da6e402e8", "kind": "IfStmt", "range": { "begin": { - "offset": 24160, - "line": 780, + "offset": 25273, + "line": 823, "col": 5, "tokLen": 2 }, "end": { - "offset": 24216, - "line": 781, + "offset": 25329, + "line": 824, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x387a420", + "id": "0x7f0da6e40238", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24164, - "line": 780, + "offset": 25277, + "line": 823, "col": 9, "tokLen": 1 }, "end": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 } @@ -21256,67 +21911,67 @@ "adl": true, "inner": [ { - "id": "0x387a408", + "id": "0x7f0da6e40220", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 }, "end": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387a3e8", + "id": "0x7f0da6e40200", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 }, "end": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3879670", + "id": "0x7f0da6e3efd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24164, + "offset": 25277, "col": 9, "tokLen": 1 }, "end": { - "offset": 24164, + "offset": 25277, "col": 9, "tokLen": 1 } @@ -21324,11 +21979,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21337,16 +21992,16 @@ } }, { - "id": "0x387a3d0", + "id": "0x7f0da6e401e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 }, "end": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 } @@ -21358,16 +22013,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3879690", + "id": "0x7f0da6e3eff0", "kind": "StringLiteral", "range": { "begin": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 }, "end": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 } @@ -21383,33 +22038,33 @@ ] }, { - "id": "0x387a4c0", + "id": "0x7f0da6e402d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24203, - "line": 781, + "offset": 25316, + "line": 824, "col": 9, "tokLen": 6 }, "end": { - "offset": 24216, + "offset": 25329, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x387a490", + "id": "0x7f0da6e402a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24210, + "offset": 25323, "col": 16, "tokLen": 4 }, "end": { - "offset": 24216, + "offset": 25329, "col": 22, "tokLen": 22 } @@ -21419,7 +22074,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57520", + "id": "0x2cdbd560", "kind": "EnumConstantDecl", "name": "TRIGGER_IN_RISING_EDGE", "type": { @@ -21432,35 +22087,35 @@ ] }, { - "id": "0x387b350", + "id": "0x7f0da6e41628", "kind": "IfStmt", "range": { "begin": { - "offset": 24244, - "line": 782, + "offset": 25357, + "line": 825, "col": 5, "tokLen": 2 }, "end": { - "offset": 24301, - "line": 783, + "offset": 25414, + "line": 826, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x387b2a0", + "id": "0x7f0da6e41578", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24248, - "line": 782, + "offset": 25361, + "line": 825, "col": 9, "tokLen": 1 }, "end": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 } @@ -21472,67 +22127,67 @@ "adl": true, "inner": [ { - "id": "0x387b288", + "id": "0x7f0da6e41560", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 }, "end": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387b268", + "id": "0x7f0da6e41540", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 }, "end": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387a4f0", + "id": "0x7f0da6e40308", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24248, + "offset": 25361, "col": 9, "tokLen": 1 }, "end": { - "offset": 24248, + "offset": 25361, "col": 9, "tokLen": 1 } @@ -21540,11 +22195,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21553,16 +22208,16 @@ } }, { - "id": "0x387b250", + "id": "0x7f0da6e41528", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 }, "end": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 } @@ -21574,16 +22229,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387a510", + "id": "0x7f0da6e40328", "kind": "StringLiteral", "range": { "begin": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 }, "end": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 } @@ -21599,33 +22254,33 @@ ] }, { - "id": "0x387b340", + "id": "0x7f0da6e41618", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24288, - "line": 783, + "offset": 25401, + "line": 826, "col": 9, "tokLen": 6 }, "end": { - "offset": 24301, + "offset": 25414, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x387b310", + "id": "0x7f0da6e415e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24295, + "offset": 25408, "col": 16, "tokLen": 4 }, "end": { - "offset": 24301, + "offset": 25414, "col": 22, "tokLen": 23 } @@ -21635,7 +22290,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57570", + "id": "0x2cdbd5b0", "kind": "EnumConstantDecl", "name": "TRIGGER_IN_FALLING_EDGE", "type": { @@ -21648,35 +22303,35 @@ ] }, { - "id": "0x387c1d0", + "id": "0x7f0da6e42958", "kind": "IfStmt", "range": { "begin": { - "offset": 24330, - "line": 784, + "offset": 25443, + "line": 827, "col": 5, "tokLen": 2 }, "end": { - "offset": 24376, - "line": 785, + "offset": 25489, + "line": 828, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387c120", + "id": "0x7f0da6e428a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24334, - "line": 784, + "offset": 25447, + "line": 827, "col": 9, "tokLen": 1 }, "end": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 } @@ -21688,67 +22343,67 @@ "adl": true, "inner": [ { - "id": "0x387c108", + "id": "0x7f0da6e42890", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 }, "end": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387c0e8", + "id": "0x7f0da6e42870", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 }, "end": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387b370", + "id": "0x7f0da6e41648", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24334, + "offset": 25447, "col": 9, "tokLen": 1 }, "end": { - "offset": 24334, + "offset": 25447, "col": 9, "tokLen": 1 } @@ -21756,11 +22411,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21769,16 +22424,16 @@ } }, { - "id": "0x387c0d0", + "id": "0x7f0da6e42858", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 }, "end": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 } @@ -21790,16 +22445,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387b390", + "id": "0x7f0da6e41668", "kind": "StringLiteral", "range": { "begin": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 }, "end": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 } @@ -21815,33 +22470,33 @@ ] }, { - "id": "0x387c1c0", + "id": "0x7f0da6e42948", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24363, - "line": 785, + "offset": 25476, + "line": 828, "col": 9, "tokLen": 6 }, "end": { - "offset": 24376, + "offset": 25489, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387c190", + "id": "0x7f0da6e42918", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24370, + "offset": 25483, "col": 16, "tokLen": 4 }, "end": { - "offset": 24376, + "offset": 25489, "col": 22, "tokLen": 12 } @@ -21851,7 +22506,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f575c0", + "id": "0x2cdbd600", "kind": "EnumConstantDecl", "name": "INVERSION_ON", "type": { @@ -21864,35 +22519,35 @@ ] }, { - "id": "0x387d050", + "id": "0x7f0da6e43c88", "kind": "IfStmt", "range": { "begin": { - "offset": 24394, - "line": 786, + "offset": 25507, + "line": 829, "col": 5, "tokLen": 2 }, "end": { - "offset": 24441, - "line": 787, + "offset": 25554, + "line": 830, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x387cfa0", + "id": "0x7f0da6e43bd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24398, - "line": 786, + "offset": 25511, + "line": 829, "col": 9, "tokLen": 1 }, "end": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 } @@ -21904,67 +22559,67 @@ "adl": true, "inner": [ { - "id": "0x387cf88", + "id": "0x7f0da6e43bc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 }, "end": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387cf68", + "id": "0x7f0da6e43ba0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 }, "end": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387c1f0", + "id": "0x7f0da6e42978", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24398, + "offset": 25511, "col": 9, "tokLen": 1 }, "end": { - "offset": 24398, + "offset": 25511, "col": 9, "tokLen": 1 } @@ -21972,11 +22627,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21985,16 +22640,16 @@ } }, { - "id": "0x387cf50", + "id": "0x7f0da6e43b88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 }, "end": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 } @@ -22006,16 +22661,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387c210", + "id": "0x7f0da6e42998", "kind": "StringLiteral", "range": { "begin": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 }, "end": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 } @@ -22031,33 +22686,33 @@ ] }, { - "id": "0x387d040", + "id": "0x7f0da6e43c78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24428, - "line": 787, + "offset": 25541, + "line": 830, "col": 9, "tokLen": 6 }, "end": { - "offset": 24441, + "offset": 25554, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x387d010", + "id": "0x7f0da6e43c48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24435, + "offset": 25548, "col": 16, "tokLen": 4 }, "end": { - "offset": 24441, + "offset": 25554, "col": 22, "tokLen": 13 } @@ -22067,7 +22722,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57610", + "id": "0x2cdbd650", "kind": "EnumConstantDecl", "name": "INVERSION_OFF", "type": { @@ -22080,17 +22735,17 @@ ] }, { - "id": "0x387d668", + "id": "0x7f0da6e44320", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 24460, - "line": 788, + "offset": 25573, + "line": 831, "col": 5, "tokLen": 5 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } @@ -22102,16 +22757,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x387d650", + "id": "0x7f0da6e44308", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 24460, + "offset": 25573, "col": 5, "tokLen": 5 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } @@ -22122,74 +22777,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x387d620", + "id": "0x7f0da6e442d8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x387d608", + "id": "0x7f0da6e442c0", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x387d5e0", + "id": "0x7f0da6e44298", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -22198,27 +22856,28 @@ }, "inner": [ { - "id": "0x387d5c0", + "id": "0x7f0da6e44278", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x387d5b8", + "temp": "0x7f0da6e44270", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -22227,22 +22886,23 @@ }, "inner": [ { - "id": "0x387d588", + "id": "0x7f0da6e44240", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -22252,73 +22912,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x387d570", + "id": "0x7f0da6e44228", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x387d558", + "id": "0x7f0da6e44210", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x387d538", + "id": "0x7f0da6e441f0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x387d530", + "temp": "0x7f0da6e441e8", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -22327,89 +22987,89 @@ }, "inner": [ { - "id": "0x387d4f8", + "id": "0x7f0da6e441b0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x387d4e0", + "id": "0x7f0da6e44198", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 }, "end": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387d4c0", + "id": "0x7f0da6e44178", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 }, "end": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x387d4a8", + "id": "0x7f0da6e44160", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 } @@ -22421,16 +23081,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387d080", + "id": "0x7f0da6e43cb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 } @@ -22444,16 +23104,16 @@ ] }, { - "id": "0x387d0b8", + "id": "0x7f0da6e43cf0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } @@ -22461,11 +23121,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -22500,29 +23160,29 @@ ] } { - "id": "0x387d838", + "id": "0x7f0da6e444e8", "kind": "FunctionDecl", "loc": { - "offset": 24550, + "offset": 25663, "file": "ToString.cpp", - "line": 791, + "line": 834, "col": 31, "tokLen": 8 }, "range": { "begin": { - "offset": 24520, + "offset": 25633, "col": 1, "tokLen": 8 }, "end": { - "offset": 24973, - "line": 803, + "offset": 26086, + "line": 846, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368b118", + "previousDecl": "0x2d377f18", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11readoutModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -22536,13 +23196,13 @@ }, "inner": [ { - "id": "0x2f5acf0", + "id": "0x2cdc0d30", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::readoutMode" }, "decl": { - "id": "0x2f5ac48", + "id": "0x2cdc0c88", "kind": "EnumDecl", "name": "readoutMode" } @@ -22550,22 +23210,22 @@ ] }, { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "loc": { - "offset": 24578, - "line": 791, + "offset": 25691, + "line": 834, "col": 59, "tokLen": 1 }, "range": { "begin": { - "offset": 24559, + "offset": 25672, "col": 40, "tokLen": 5 }, "end": { - "offset": 24578, + "offset": 25691, "col": 59, "tokLen": 1 } @@ -22577,52 +23237,52 @@ } }, { - "id": "0x3882858", + "id": "0x7f0da6e4ad88", "kind": "CompoundStmt", "range": { "begin": { - "offset": 24581, + "offset": 25694, "col": 62, "tokLen": 1 }, "end": { - "offset": 24973, - "line": 803, + "offset": 26086, + "line": 846, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x387e840", + "id": "0x7f0da6e459d8", "kind": "IfStmt", "range": { "begin": { - "offset": 24587, - "line": 792, + "offset": 25700, + "line": 835, "col": 5, "tokLen": 2 }, "end": { - "offset": 24627, - "line": 793, + "offset": 25740, + "line": 836, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x387e790", + "id": "0x7f0da6e45928", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24591, - "line": 792, + "offset": 25704, + "line": 835, "col": 9, "tokLen": 1 }, "end": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 } @@ -22634,67 +23294,67 @@ "adl": true, "inner": [ { - "id": "0x387e778", + "id": "0x7f0da6e45910", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 }, "end": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387e758", + "id": "0x7f0da6e458f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 }, "end": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387d9f0", + "id": "0x7f0da6e446d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24591, + "offset": 25704, "col": 9, "tokLen": 1 }, "end": { - "offset": 24591, + "offset": 25704, "col": 9, "tokLen": 1 } @@ -22702,11 +23362,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -22715,16 +23375,16 @@ } }, { - "id": "0x387e740", + "id": "0x7f0da6e458d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 }, "end": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 } @@ -22736,16 +23396,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387da10", + "id": "0x7f0da6e446f0", "kind": "StringLiteral", "range": { "begin": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 }, "end": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 } @@ -22761,33 +23421,33 @@ ] }, { - "id": "0x387e830", + "id": "0x7f0da6e459c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24614, - "line": 793, + "offset": 25727, + "line": 836, "col": 9, "tokLen": 6 }, "end": { - "offset": 24627, + "offset": 25740, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x387e800", + "id": "0x7f0da6e45998", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24621, + "offset": 25734, "col": 16, "tokLen": 4 }, "end": { - "offset": 24627, + "offset": 25740, "col": 22, "tokLen": 11 } @@ -22797,7 +23457,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ad10", + "id": "0x2cdc0d50", "kind": "EnumConstantDecl", "name": "ANALOG_ONLY", "type": { @@ -22810,35 +23470,35 @@ ] }, { - "id": "0x387f6b0", + "id": "0x7f0da6e46d08", "kind": "IfStmt", "range": { "begin": { - "offset": 24644, - "line": 794, + "offset": 25757, + "line": 837, "col": 5, "tokLen": 2 }, "end": { - "offset": 24685, - "line": 795, + "offset": 25798, + "line": 838, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387f600", + "id": "0x7f0da6e46c58", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24648, - "line": 794, + "offset": 25761, + "line": 837, "col": 9, "tokLen": 1 }, "end": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 } @@ -22850,67 +23510,67 @@ "adl": true, "inner": [ { - "id": "0x387f5e8", + "id": "0x7f0da6e46c40", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 }, "end": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387f5c8", + "id": "0x7f0da6e46c20", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 }, "end": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387e860", + "id": "0x7f0da6e459f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24648, + "offset": 25761, "col": 9, "tokLen": 1 }, "end": { - "offset": 24648, + "offset": 25761, "col": 9, "tokLen": 1 } @@ -22918,11 +23578,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -22931,16 +23591,16 @@ } }, { - "id": "0x387f5b0", + "id": "0x7f0da6e46c08", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 }, "end": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 } @@ -22952,16 +23612,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387e880", + "id": "0x7f0da6e45a18", "kind": "StringLiteral", "range": { "begin": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 }, "end": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 } @@ -22977,33 +23637,33 @@ ] }, { - "id": "0x387f6a0", + "id": "0x7f0da6e46cf8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24672, - "line": 795, + "offset": 25785, + "line": 838, "col": 9, "tokLen": 6 }, "end": { - "offset": 24685, + "offset": 25798, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387f670", + "id": "0x7f0da6e46cc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24679, + "offset": 25792, "col": 16, "tokLen": 4 }, "end": { - "offset": 24685, + "offset": 25798, "col": 22, "tokLen": 12 } @@ -23013,7 +23673,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ad60", + "id": "0x2cdc0da0", "kind": "EnumConstantDecl", "name": "DIGITAL_ONLY", "type": { @@ -23026,35 +23686,35 @@ ] }, { - "id": "0x3880530", + "id": "0x7f0da6e48038", "kind": "IfStmt", "range": { "begin": { - "offset": 24703, - "line": 796, + "offset": 25816, + "line": 839, "col": 5, "tokLen": 2 }, "end": { - "offset": 24751, - "line": 797, + "offset": 25864, + "line": 840, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3880480", + "id": "0x7f0da6e47f88", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24707, - "line": 796, + "offset": 25820, + "line": 839, "col": 9, "tokLen": 1 }, "end": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 } @@ -23066,67 +23726,67 @@ "adl": true, "inner": [ { - "id": "0x3880468", + "id": "0x7f0da6e47f70", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 }, "end": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3880448", + "id": "0x7f0da6e47f50", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 }, "end": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387f6d0", + "id": "0x7f0da6e46d28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24707, + "offset": 25820, "col": 9, "tokLen": 1 }, "end": { - "offset": 24707, + "offset": 25820, "col": 9, "tokLen": 1 } @@ -23134,11 +23794,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -23147,16 +23807,16 @@ } }, { - "id": "0x3880430", + "id": "0x7f0da6e47f38", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 }, "end": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 } @@ -23168,16 +23828,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387f6f0", + "id": "0x7f0da6e46d48", "kind": "StringLiteral", "range": { "begin": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 }, "end": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 } @@ -23193,33 +23853,33 @@ ] }, { - "id": "0x3880520", + "id": "0x7f0da6e48028", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24738, - "line": 797, + "offset": 25851, + "line": 840, "col": 9, "tokLen": 6 }, "end": { - "offset": 24751, + "offset": 25864, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x38804f0", + "id": "0x7f0da6e47ff8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24745, + "offset": 25858, "col": 16, "tokLen": 4 }, "end": { - "offset": 24751, + "offset": 25864, "col": 22, "tokLen": 18 } @@ -23229,7 +23889,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5adb0", + "id": "0x2cdc0df0", "kind": "EnumConstantDecl", "name": "ANALOG_AND_DIGITAL", "type": { @@ -23242,35 +23902,35 @@ ] }, { - "id": "0x38813b0", + "id": "0x7f0da6e49368", "kind": "IfStmt", "range": { "begin": { - "offset": 24775, - "line": 798, + "offset": 25888, + "line": 841, "col": 5, "tokLen": 2 }, "end": { - "offset": 24820, - "line": 799, + "offset": 25933, + "line": 842, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x3881300", + "id": "0x7f0da6e492b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24779, - "line": 798, + "offset": 25892, + "line": 841, "col": 9, "tokLen": 1 }, "end": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 } @@ -23282,67 +23942,67 @@ "adl": true, "inner": [ { - "id": "0x38812e8", + "id": "0x7f0da6e492a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 }, "end": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38812c8", + "id": "0x7f0da6e49280", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 }, "end": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3880550", + "id": "0x7f0da6e48058", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24779, + "offset": 25892, "col": 9, "tokLen": 1 }, "end": { - "offset": 24779, + "offset": 25892, "col": 9, "tokLen": 1 } @@ -23350,11 +24010,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -23363,16 +24023,16 @@ } }, { - "id": "0x38812b0", + "id": "0x7f0da6e49268", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 }, "end": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 } @@ -23384,16 +24044,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3880570", + "id": "0x7f0da6e48078", "kind": "StringLiteral", "range": { "begin": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 }, "end": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 } @@ -23409,33 +24069,33 @@ ] }, { - "id": "0x38813a0", + "id": "0x7f0da6e49358", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24807, - "line": 799, + "offset": 25920, + "line": 842, "col": 9, "tokLen": 6 }, "end": { - "offset": 24820, + "offset": 25933, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x3881370", + "id": "0x7f0da6e49328", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24814, + "offset": 25927, "col": 16, "tokLen": 4 }, "end": { - "offset": 24820, + "offset": 25933, "col": 22, "tokLen": 16 } @@ -23445,7 +24105,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ae00", + "id": "0x2cdc0e40", "kind": "EnumConstantDecl", "name": "TRANSCEIVER_ONLY", "type": { @@ -23458,35 +24118,35 @@ ] }, { - "id": "0x3882230", + "id": "0x7f0da6e4a6a8", "kind": "IfStmt", "range": { "begin": { - "offset": 24842, - "line": 800, + "offset": 25955, + "line": 843, "col": 5, "tokLen": 2 }, "end": { - "offset": 24895, - "line": 801, + "offset": 26008, + "line": 844, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x3882180", + "id": "0x7f0da6e4a5f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24846, - "line": 800, + "offset": 25959, + "line": 843, "col": 9, "tokLen": 1 }, "end": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 } @@ -23498,67 +24158,67 @@ "adl": true, "inner": [ { - "id": "0x3882168", + "id": "0x7f0da6e4a5e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 }, "end": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3882148", + "id": "0x7f0da6e4a5c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 }, "end": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38813d0", + "id": "0x7f0da6e49388", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24846, + "offset": 25959, "col": 9, "tokLen": 1 }, "end": { - "offset": 24846, + "offset": 25959, "col": 9, "tokLen": 1 } @@ -23566,11 +24226,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -23579,16 +24239,16 @@ } }, { - "id": "0x3882130", + "id": "0x7f0da6e4a5a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 }, "end": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 } @@ -23600,16 +24260,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38813f0", + "id": "0x7f0da6e493a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 }, "end": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 } @@ -23625,33 +24285,33 @@ ] }, { - "id": "0x3882220", + "id": "0x7f0da6e4a698", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24882, - "line": 801, + "offset": 25995, + "line": 844, "col": 9, "tokLen": 6 }, "end": { - "offset": 24895, + "offset": 26008, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x38821f0", + "id": "0x7f0da6e4a668", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24889, + "offset": 26002, "col": 16, "tokLen": 4 }, "end": { - "offset": 24895, + "offset": 26008, "col": 22, "tokLen": 23 } @@ -23661,7 +24321,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ae50", + "id": "0x2cdc0e90", "kind": "EnumConstantDecl", "name": "DIGITAL_AND_TRANSCEIVER", "type": { @@ -23674,17 +24334,17 @@ ] }, { - "id": "0x3882840", + "id": "0x7f0da6e4ad70", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 24924, - "line": 802, + "offset": 26037, + "line": 845, "col": 5, "tokLen": 5 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } @@ -23696,16 +24356,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3882828", + "id": "0x7f0da6e4ad58", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 24924, + "offset": 26037, "col": 5, "tokLen": 5 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } @@ -23716,74 +24376,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38827f8", + "id": "0x7f0da6e4ad28", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38827e0", + "id": "0x7f0da6e4ad10", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38827b8", + "id": "0x7f0da6e4ace8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -23792,27 +24455,28 @@ }, "inner": [ { - "id": "0x3882798", + "id": "0x7f0da6e4acc8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3882790", + "temp": "0x7f0da6e4acc0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -23821,22 +24485,23 @@ }, "inner": [ { - "id": "0x3882760", + "id": "0x7f0da6e4ac90", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -23846,73 +24511,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3882748", + "id": "0x7f0da6e4ac78", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3882730", + "id": "0x7f0da6e4ac60", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3882710", + "id": "0x7f0da6e4ac40", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x3882708", + "temp": "0x7f0da6e4ac38", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -23921,89 +24586,89 @@ }, "inner": [ { - "id": "0x38826d0", + "id": "0x7f0da6e4ac00", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38826b8", + "id": "0x7f0da6e4abe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 }, "end": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3882698", + "id": "0x7f0da6e4abc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 }, "end": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3882680", + "id": "0x7f0da6e4abb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 } @@ -24015,16 +24680,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3882260", + "id": "0x7f0da6e4a6d8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 } @@ -24038,16 +24703,16 @@ ] }, { - "id": "0x3882290", + "id": "0x7f0da6e4a708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } @@ -24055,11 +24720,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24094,29 +24759,29 @@ ] } { - "id": "0x3882a18", + "id": "0x7f0da6e4af48", "kind": "FunctionDecl", "loc": { - "offset": 25003, + "offset": 26116, "file": "ToString.cpp", - "line": 805, + "line": 848, "col": 28, "tokLen": 8 }, "range": { "begin": { - "offset": 24976, + "offset": 26089, "col": 1, "tokLen": 8 }, "end": { - "offset": 30397, - "line": 991, + "offset": 31510, + "line": 1034, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368b638", + "previousDecl": "0x2d378468", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8dacIndexEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -24130,13 +24795,13 @@ }, "inner": [ { - "id": "0x2f57a00", + "id": "0x2cdbda40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::dacIndex" }, "decl": { - "id": "0x2f57958", + "id": "0x2cdbd998", "kind": "EnumDecl", "name": "dacIndex" } @@ -24144,22 +24809,22 @@ ] }, { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "loc": { - "offset": 25031, - "line": 805, + "offset": 26144, + "line": 848, "col": 56, "tokLen": 1 }, "range": { "begin": { - "offset": 25012, + "offset": 26125, "col": 37, "tokLen": 5 }, "end": { - "offset": 25031, + "offset": 26144, "col": 56, "tokLen": 1 } @@ -24171,52 +24836,52 @@ } }, { - "id": "0x7f1964637fa8", + "id": "0x7f0da6b95d80", "kind": "CompoundStmt", "range": { "begin": { - "offset": 25034, + "offset": 26147, "col": 59, "tokLen": 1 }, "end": { - "offset": 30397, - "line": 991, + "offset": 31510, + "line": 1034, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3884820", + "id": "0x7f0da6e4d6e8", "kind": "IfStmt", "range": { "begin": { - "offset": 25040, - "line": 806, + "offset": 26153, + "line": 849, "col": 5, "tokLen": 2 }, "end": { - "offset": 25091, - "line": 807, + "offset": 26204, + "line": 850, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3884788", + "id": "0x7f0da6e4d650", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25044, - "line": 806, + "offset": 26157, + "line": 849, "col": 9, "tokLen": 1 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24228,16 +24893,16 @@ "opcode": "||", "inner": [ { - "id": "0x3883970", + "id": "0x7f0da6e4c388", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25044, + "offset": 26157, "col": 9, "tokLen": 1 }, "end": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 } @@ -24249,67 +24914,67 @@ "adl": true, "inner": [ { - "id": "0x3883958", + "id": "0x7f0da6e4c370", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 }, "end": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3883938", + "id": "0x7f0da6e4c350", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 }, "end": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3882bd0", + "id": "0x7f0da6e4b130", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25044, + "offset": 26157, "col": 9, "tokLen": 1 }, "end": { - "offset": 25044, + "offset": 26157, "col": 9, "tokLen": 1 } @@ -24317,11 +24982,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24330,16 +24995,16 @@ } }, { - "id": "0x3883920", + "id": "0x7f0da6e4c338", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 }, "end": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 } @@ -24351,16 +25016,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3882bf0", + "id": "0x7f0da6e4b150", "kind": "StringLiteral", "range": { "begin": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 }, "end": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 } @@ -24376,16 +25041,16 @@ ] }, { - "id": "0x3884750", + "id": "0x7f0da6e4d618", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25060, + "offset": 26173, "col": 25, "tokLen": 1 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24397,67 +25062,67 @@ "adl": true, "inner": [ { - "id": "0x3884738", + "id": "0x7f0da6e4d600", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 }, "end": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3884718", + "id": "0x7f0da6e4d5e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 }, "end": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38839a8", + "id": "0x7f0da6e4c3c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25060, + "offset": 26173, "col": 25, "tokLen": 1 }, "end": { - "offset": 25060, + "offset": 26173, "col": 25, "tokLen": 1 } @@ -24465,11 +25130,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24478,16 +25143,16 @@ } }, { - "id": "0x3884700", + "id": "0x7f0da6e4d5c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24499,16 +25164,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38839c8", + "id": "0x7f0da6e4c3e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24526,33 +25191,33 @@ ] }, { - "id": "0x3884810", + "id": "0x7f0da6e4d6d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25078, - "line": 807, + "offset": 26191, + "line": 850, "col": 9, "tokLen": 6 }, "end": { - "offset": 25091, + "offset": 26204, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38847e0", + "id": "0x7f0da6e4d6a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25085, + "offset": 26198, "col": 16, "tokLen": 4 }, "end": { - "offset": 25091, + "offset": 26204, "col": 22, "tokLen": 5 } @@ -24562,7 +25227,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57a20", + "id": "0x2cdbda60", "kind": "EnumConstantDecl", "name": "DAC_0", "type": { @@ -24575,35 +25240,35 @@ ] }, { - "id": "0x38864d0", + "id": "0x7f0da6e4fcc8", "kind": "IfStmt", "range": { "begin": { - "offset": 25102, - "line": 808, + "offset": 26215, + "line": 851, "col": 5, "tokLen": 2 }, "end": { - "offset": 25153, - "line": 809, + "offset": 26266, + "line": 852, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3886438", + "id": "0x7f0da6e4fc30", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25106, - "line": 808, + "offset": 26219, + "line": 851, "col": 9, "tokLen": 1 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24615,16 +25280,16 @@ "opcode": "||", "inner": [ { - "id": "0x3885620", + "id": "0x7f0da6e4e968", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25106, + "offset": 26219, "col": 9, "tokLen": 1 }, "end": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 } @@ -24636,67 +25301,67 @@ "adl": true, "inner": [ { - "id": "0x3885608", + "id": "0x7f0da6e4e950", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 }, "end": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38855e8", + "id": "0x7f0da6e4e930", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 }, "end": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3884840", + "id": "0x7f0da6e4d708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25106, + "offset": 26219, "col": 9, "tokLen": 1 }, "end": { - "offset": 25106, + "offset": 26219, "col": 9, "tokLen": 1 } @@ -24704,11 +25369,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24717,16 +25382,16 @@ } }, { - "id": "0x38855d0", + "id": "0x7f0da6e4e918", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 }, "end": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 } @@ -24738,16 +25403,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3884860", + "id": "0x7f0da6e4d728", "kind": "StringLiteral", "range": { "begin": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 }, "end": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 } @@ -24763,16 +25428,16 @@ ] }, { - "id": "0x3886400", + "id": "0x7f0da6e4fbf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25122, + "offset": 26235, "col": 25, "tokLen": 1 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24784,67 +25449,67 @@ "adl": true, "inner": [ { - "id": "0x38863e8", + "id": "0x7f0da6e4fbe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 }, "end": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38863c8", + "id": "0x7f0da6e4fbc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 }, "end": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3885658", + "id": "0x7f0da6e4e9a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25122, + "offset": 26235, "col": 25, "tokLen": 1 }, "end": { - "offset": 25122, + "offset": 26235, "col": 25, "tokLen": 1 } @@ -24852,11 +25517,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24865,16 +25530,16 @@ } }, { - "id": "0x38863b0", + "id": "0x7f0da6e4fba8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24886,16 +25551,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3885678", + "id": "0x7f0da6e4e9c0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24913,33 +25578,33 @@ ] }, { - "id": "0x38864c0", + "id": "0x7f0da6e4fcb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25140, - "line": 809, + "offset": 26253, + "line": 852, "col": 9, "tokLen": 6 }, "end": { - "offset": 25153, + "offset": 26266, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3886490", + "id": "0x7f0da6e4fc88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25147, + "offset": 26260, "col": 16, "tokLen": 4 }, "end": { - "offset": 25153, + "offset": 26266, "col": 22, "tokLen": 5 } @@ -24949,7 +25614,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57a70", + "id": "0x2cdbdab0", "kind": "EnumConstantDecl", "name": "DAC_1", "type": { @@ -24962,35 +25627,35 @@ ] }, { - "id": "0x3888140", + "id": "0x7f0da6e522a8", "kind": "IfStmt", "range": { "begin": { - "offset": 25164, - "line": 810, + "offset": 26277, + "line": 853, "col": 5, "tokLen": 2 }, "end": { - "offset": 25215, - "line": 811, + "offset": 26328, + "line": 854, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38880a8", + "id": "0x7f0da6e52210", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25168, - "line": 810, + "offset": 26281, + "line": 853, "col": 9, "tokLen": 1 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25002,16 +25667,16 @@ "opcode": "||", "inner": [ { - "id": "0x3887290", + "id": "0x7f0da6e50f48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25168, + "offset": 26281, "col": 9, "tokLen": 1 }, "end": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 } @@ -25023,67 +25688,67 @@ "adl": true, "inner": [ { - "id": "0x3887278", + "id": "0x7f0da6e50f30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 }, "end": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3887258", + "id": "0x7f0da6e50f10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 }, "end": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38864f0", + "id": "0x7f0da6e4fce8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25168, + "offset": 26281, "col": 9, "tokLen": 1 }, "end": { - "offset": 25168, + "offset": 26281, "col": 9, "tokLen": 1 } @@ -25091,11 +25756,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25104,16 +25769,16 @@ } }, { - "id": "0x3887240", + "id": "0x7f0da6e50ef8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 }, "end": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 } @@ -25125,16 +25790,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3886510", + "id": "0x7f0da6e4fd08", "kind": "StringLiteral", "range": { "begin": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 }, "end": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 } @@ -25150,16 +25815,16 @@ ] }, { - "id": "0x3888070", + "id": "0x7f0da6e521d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25184, + "offset": 26297, "col": 25, "tokLen": 1 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25171,67 +25836,67 @@ "adl": true, "inner": [ { - "id": "0x3888058", + "id": "0x7f0da6e521c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 }, "end": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3888038", + "id": "0x7f0da6e521a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 }, "end": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38872c8", + "id": "0x7f0da6e50f80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25184, + "offset": 26297, "col": 25, "tokLen": 1 }, "end": { - "offset": 25184, + "offset": 26297, "col": 25, "tokLen": 1 } @@ -25239,11 +25904,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25252,16 +25917,16 @@ } }, { - "id": "0x3888020", + "id": "0x7f0da6e52188", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25273,16 +25938,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38872e8", + "id": "0x7f0da6e50fa0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25300,33 +25965,33 @@ ] }, { - "id": "0x3888130", + "id": "0x7f0da6e52298", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25202, - "line": 811, + "offset": 26315, + "line": 854, "col": 9, "tokLen": 6 }, "end": { - "offset": 25215, + "offset": 26328, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3888100", + "id": "0x7f0da6e52268", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25209, + "offset": 26322, "col": 16, "tokLen": 4 }, "end": { - "offset": 25215, + "offset": 26328, "col": 22, "tokLen": 5 } @@ -25336,7 +26001,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57ac0", + "id": "0x2cdbdb00", "kind": "EnumConstantDecl", "name": "DAC_2", "type": { @@ -25349,35 +26014,35 @@ ] }, { - "id": "0x3889db0", + "id": "0x7f0da6e54888", "kind": "IfStmt", "range": { "begin": { - "offset": 25226, - "line": 812, + "offset": 26339, + "line": 855, "col": 5, "tokLen": 2 }, "end": { - "offset": 25277, - "line": 813, + "offset": 26390, + "line": 856, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3889d18", + "id": "0x7f0da6e547f0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25230, - "line": 812, + "offset": 26343, + "line": 855, "col": 9, "tokLen": 1 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25389,16 +26054,16 @@ "opcode": "||", "inner": [ { - "id": "0x3888f00", + "id": "0x7f0da6e53528", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25230, + "offset": 26343, "col": 9, "tokLen": 1 }, "end": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 } @@ -25410,67 +26075,67 @@ "adl": true, "inner": [ { - "id": "0x3888ee8", + "id": "0x7f0da6e53510", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 }, "end": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3888ec8", + "id": "0x7f0da6e534f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 }, "end": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3888160", + "id": "0x7f0da6e522c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25230, + "offset": 26343, "col": 9, "tokLen": 1 }, "end": { - "offset": 25230, + "offset": 26343, "col": 9, "tokLen": 1 } @@ -25478,11 +26143,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25491,16 +26156,16 @@ } }, { - "id": "0x3888eb0", + "id": "0x7f0da6e534d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 }, "end": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 } @@ -25512,16 +26177,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3888180", + "id": "0x7f0da6e522e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 }, "end": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 } @@ -25537,16 +26202,16 @@ ] }, { - "id": "0x3889ce0", + "id": "0x7f0da6e547b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25246, + "offset": 26359, "col": 25, "tokLen": 1 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25558,67 +26223,67 @@ "adl": true, "inner": [ { - "id": "0x3889cc8", + "id": "0x7f0da6e547a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 }, "end": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3889ca8", + "id": "0x7f0da6e54780", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 }, "end": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3888f38", + "id": "0x7f0da6e53560", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25246, + "offset": 26359, "col": 25, "tokLen": 1 }, "end": { - "offset": 25246, + "offset": 26359, "col": 25, "tokLen": 1 } @@ -25626,11 +26291,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25639,16 +26304,16 @@ } }, { - "id": "0x3889c90", + "id": "0x7f0da6e54768", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25660,16 +26325,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3888f58", + "id": "0x7f0da6e53580", "kind": "StringLiteral", "range": { "begin": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25687,33 +26352,33 @@ ] }, { - "id": "0x3889da0", + "id": "0x7f0da6e54878", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25264, - "line": 813, + "offset": 26377, + "line": 856, "col": 9, "tokLen": 6 }, "end": { - "offset": 25277, + "offset": 26390, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3889d70", + "id": "0x7f0da6e54848", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25271, + "offset": 26384, "col": 16, "tokLen": 4 }, "end": { - "offset": 25277, + "offset": 26390, "col": 22, "tokLen": 5 } @@ -25723,7 +26388,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57b10", + "id": "0x2cdbdb50", "kind": "EnumConstantDecl", "name": "DAC_3", "type": { @@ -25736,35 +26401,35 @@ ] }, { - "id": "0x388ba20", + "id": "0x7f0da6be0e68", "kind": "IfStmt", "range": { "begin": { - "offset": 25288, - "line": 814, + "offset": 26401, + "line": 857, "col": 5, "tokLen": 2 }, "end": { - "offset": 25339, - "line": 815, + "offset": 26452, + "line": 858, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388b988", + "id": "0x7f0da6be0dd0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25292, - "line": 814, + "offset": 26405, + "line": 857, "col": 9, "tokLen": 1 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -25776,16 +26441,16 @@ "opcode": "||", "inner": [ { - "id": "0x388ab70", + "id": "0x7f0da6bdfb08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25292, + "offset": 26405, "col": 9, "tokLen": 1 }, "end": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 } @@ -25797,67 +26462,67 @@ "adl": true, "inner": [ { - "id": "0x388ab58", + "id": "0x7f0da6bdfaf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 }, "end": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388ab38", + "id": "0x7f0da6bdfad0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 }, "end": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3889dd0", + "id": "0x7f0da6e548a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25292, + "offset": 26405, "col": 9, "tokLen": 1 }, "end": { - "offset": 25292, + "offset": 26405, "col": 9, "tokLen": 1 } @@ -25865,11 +26530,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25878,16 +26543,16 @@ } }, { - "id": "0x388ab20", + "id": "0x7f0da6bdfab8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 }, "end": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 } @@ -25899,16 +26564,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3889df0", + "id": "0x7f0da6e548c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 }, "end": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 } @@ -25924,16 +26589,16 @@ ] }, { - "id": "0x388b950", + "id": "0x7f0da6be0d98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25308, + "offset": 26421, "col": 25, "tokLen": 1 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -25945,67 +26610,67 @@ "adl": true, "inner": [ { - "id": "0x388b938", + "id": "0x7f0da6be0d80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 }, "end": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388b918", + "id": "0x7f0da6be0d60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 }, "end": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388aba8", + "id": "0x7f0da6bdfb40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25308, + "offset": 26421, "col": 25, "tokLen": 1 }, "end": { - "offset": 25308, + "offset": 26421, "col": 25, "tokLen": 1 } @@ -26013,11 +26678,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26026,16 +26691,16 @@ } }, { - "id": "0x388b900", + "id": "0x7f0da6be0d48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -26047,16 +26712,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388abc8", + "id": "0x7f0da6bdfb60", "kind": "StringLiteral", "range": { "begin": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -26074,33 +26739,33 @@ ] }, { - "id": "0x388ba10", + "id": "0x7f0da6be0e58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25326, - "line": 815, + "offset": 26439, + "line": 858, "col": 9, "tokLen": 6 }, "end": { - "offset": 25339, + "offset": 26452, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388b9e0", + "id": "0x7f0da6be0e28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25333, + "offset": 26446, "col": 16, "tokLen": 4 }, "end": { - "offset": 25339, + "offset": 26452, "col": 22, "tokLen": 5 } @@ -26110,7 +26775,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57b60", + "id": "0x2cdbdba0", "kind": "EnumConstantDecl", "name": "DAC_4", "type": { @@ -26123,35 +26788,35 @@ ] }, { - "id": "0x388d690", + "id": "0x7f0da6be3448", "kind": "IfStmt", "range": { "begin": { - "offset": 25350, - "line": 816, + "offset": 26463, + "line": 859, "col": 5, "tokLen": 2 }, "end": { - "offset": 25401, - "line": 817, + "offset": 26514, + "line": 860, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388d5f8", + "id": "0x7f0da6be33b0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25354, - "line": 816, + "offset": 26467, + "line": 859, "col": 9, "tokLen": 1 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26163,16 +26828,16 @@ "opcode": "||", "inner": [ { - "id": "0x388c7e0", + "id": "0x7f0da6be20e8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25354, + "offset": 26467, "col": 9, "tokLen": 1 }, "end": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 } @@ -26184,67 +26849,67 @@ "adl": true, "inner": [ { - "id": "0x388c7c8", + "id": "0x7f0da6be20d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 }, "end": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388c7a8", + "id": "0x7f0da6be20b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 }, "end": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388ba40", + "id": "0x7f0da6be0e88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25354, + "offset": 26467, "col": 9, "tokLen": 1 }, "end": { - "offset": 25354, + "offset": 26467, "col": 9, "tokLen": 1 } @@ -26252,11 +26917,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26265,16 +26930,16 @@ } }, { - "id": "0x388c790", + "id": "0x7f0da6be2098", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 }, "end": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 } @@ -26286,16 +26951,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388ba60", + "id": "0x7f0da6be0ea8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 }, "end": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 } @@ -26311,16 +26976,16 @@ ] }, { - "id": "0x388d5c0", + "id": "0x7f0da6be3378", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25370, + "offset": 26483, "col": 25, "tokLen": 1 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26332,67 +26997,67 @@ "adl": true, "inner": [ { - "id": "0x388d5a8", + "id": "0x7f0da6be3360", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 }, "end": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388d588", + "id": "0x7f0da6be3340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 }, "end": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388c818", + "id": "0x7f0da6be2120", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25370, + "offset": 26483, "col": 25, "tokLen": 1 }, "end": { - "offset": 25370, + "offset": 26483, "col": 25, "tokLen": 1 } @@ -26400,11 +27065,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26413,16 +27078,16 @@ } }, { - "id": "0x388d570", + "id": "0x7f0da6be3328", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26434,16 +27099,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388c838", + "id": "0x7f0da6be2140", "kind": "StringLiteral", "range": { "begin": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26461,33 +27126,33 @@ ] }, { - "id": "0x388d680", + "id": "0x7f0da6be3438", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25388, - "line": 817, + "offset": 26501, + "line": 860, "col": 9, "tokLen": 6 }, "end": { - "offset": 25401, + "offset": 26514, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388d650", + "id": "0x7f0da6be3408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25395, + "offset": 26508, "col": 16, "tokLen": 4 }, "end": { - "offset": 25401, + "offset": 26514, "col": 22, "tokLen": 5 } @@ -26497,7 +27162,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57bb0", + "id": "0x2cdbdbf0", "kind": "EnumConstantDecl", "name": "DAC_5", "type": { @@ -26510,35 +27175,35 @@ ] }, { - "id": "0x388f300", + "id": "0x7f0da6be5a28", "kind": "IfStmt", "range": { "begin": { - "offset": 25412, - "line": 818, + "offset": 26525, + "line": 861, "col": 5, "tokLen": 2 }, "end": { - "offset": 25463, - "line": 819, + "offset": 26576, + "line": 862, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388f268", + "id": "0x7f0da6be5990", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25416, - "line": 818, + "offset": 26529, + "line": 861, "col": 9, "tokLen": 1 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26550,16 +27215,16 @@ "opcode": "||", "inner": [ { - "id": "0x388e450", + "id": "0x7f0da6be46c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25416, + "offset": 26529, "col": 9, "tokLen": 1 }, "end": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 } @@ -26571,67 +27236,67 @@ "adl": true, "inner": [ { - "id": "0x388e438", + "id": "0x7f0da6be46b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 }, "end": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388e418", + "id": "0x7f0da6be4690", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 }, "end": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388d6b0", + "id": "0x7f0da6be3468", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25416, + "offset": 26529, "col": 9, "tokLen": 1 }, "end": { - "offset": 25416, + "offset": 26529, "col": 9, "tokLen": 1 } @@ -26639,11 +27304,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26652,16 +27317,16 @@ } }, { - "id": "0x388e400", + "id": "0x7f0da6be4678", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 }, "end": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 } @@ -26673,16 +27338,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388d6d0", + "id": "0x7f0da6be3488", "kind": "StringLiteral", "range": { "begin": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 }, "end": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 } @@ -26698,16 +27363,16 @@ ] }, { - "id": "0x388f230", + "id": "0x7f0da6be5958", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25432, + "offset": 26545, "col": 25, "tokLen": 1 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26719,67 +27384,67 @@ "adl": true, "inner": [ { - "id": "0x388f218", + "id": "0x7f0da6be5940", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 }, "end": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388f1f8", + "id": "0x7f0da6be5920", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 }, "end": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388e488", + "id": "0x7f0da6be4700", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25432, + "offset": 26545, "col": 25, "tokLen": 1 }, "end": { - "offset": 25432, + "offset": 26545, "col": 25, "tokLen": 1 } @@ -26787,11 +27452,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26800,16 +27465,16 @@ } }, { - "id": "0x388f1e0", + "id": "0x7f0da6be5908", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26821,16 +27486,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388e4a8", + "id": "0x7f0da6be4720", "kind": "StringLiteral", "range": { "begin": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26848,33 +27513,33 @@ ] }, { - "id": "0x388f2f0", + "id": "0x7f0da6be5a18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25450, - "line": 819, + "offset": 26563, + "line": 862, "col": 9, "tokLen": 6 }, "end": { - "offset": 25463, + "offset": 26576, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388f2c0", + "id": "0x7f0da6be59e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25457, + "offset": 26570, "col": 16, "tokLen": 4 }, "end": { - "offset": 25463, + "offset": 26576, "col": 22, "tokLen": 5 } @@ -26884,7 +27549,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57c00", + "id": "0x2cdbdc40", "kind": "EnumConstantDecl", "name": "DAC_6", "type": { @@ -26897,35 +27562,35 @@ ] }, { - "id": "0x3890f70", + "id": "0x7f0da6be8008", "kind": "IfStmt", "range": { "begin": { - "offset": 25474, - "line": 820, + "offset": 26587, + "line": 863, "col": 5, "tokLen": 2 }, "end": { - "offset": 25525, - "line": 821, + "offset": 26638, + "line": 864, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3890ed8", + "id": "0x7f0da6be7f70", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25478, - "line": 820, + "offset": 26591, + "line": 863, "col": 9, "tokLen": 1 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -26937,16 +27602,16 @@ "opcode": "||", "inner": [ { - "id": "0x38900c0", + "id": "0x7f0da6be6ca8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25478, + "offset": 26591, "col": 9, "tokLen": 1 }, "end": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 } @@ -26958,67 +27623,67 @@ "adl": true, "inner": [ { - "id": "0x38900a8", + "id": "0x7f0da6be6c90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 }, "end": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3890088", + "id": "0x7f0da6be6c70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 }, "end": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388f320", + "id": "0x7f0da6be5a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25478, + "offset": 26591, "col": 9, "tokLen": 1 }, "end": { - "offset": 25478, + "offset": 26591, "col": 9, "tokLen": 1 } @@ -27026,11 +27691,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27039,16 +27704,16 @@ } }, { - "id": "0x3890070", + "id": "0x7f0da6be6c58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 }, "end": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 } @@ -27060,16 +27725,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388f340", + "id": "0x7f0da6be5a68", "kind": "StringLiteral", "range": { "begin": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 }, "end": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 } @@ -27085,16 +27750,16 @@ ] }, { - "id": "0x3890ea0", + "id": "0x7f0da6be7f38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25494, + "offset": 26607, "col": 25, "tokLen": 1 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -27106,67 +27771,67 @@ "adl": true, "inner": [ { - "id": "0x3890e88", + "id": "0x7f0da6be7f20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 }, "end": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3890e68", + "id": "0x7f0da6be7f00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 }, "end": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38900f8", + "id": "0x7f0da6be6ce0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25494, + "offset": 26607, "col": 25, "tokLen": 1 }, "end": { - "offset": 25494, + "offset": 26607, "col": 25, "tokLen": 1 } @@ -27174,11 +27839,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27187,16 +27852,16 @@ } }, { - "id": "0x3890e50", + "id": "0x7f0da6be7ee8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -27208,16 +27873,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3890118", + "id": "0x7f0da6be6d00", "kind": "StringLiteral", "range": { "begin": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -27235,33 +27900,33 @@ ] }, { - "id": "0x3890f60", + "id": "0x7f0da6be7ff8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25512, - "line": 821, + "offset": 26625, + "line": 864, "col": 9, "tokLen": 6 }, "end": { - "offset": 25525, + "offset": 26638, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3890f30", + "id": "0x7f0da6be7fc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25519, + "offset": 26632, "col": 16, "tokLen": 4 }, "end": { - "offset": 25525, + "offset": 26638, "col": 22, "tokLen": 5 } @@ -27271,7 +27936,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57c50", + "id": "0x2cdbdc90", "kind": "EnumConstantDecl", "name": "DAC_7", "type": { @@ -27284,35 +27949,35 @@ ] }, { - "id": "0x3892be0", + "id": "0x7f0da6bea5e8", "kind": "IfStmt", "range": { "begin": { - "offset": 25536, - "line": 822, + "offset": 26649, + "line": 865, "col": 5, "tokLen": 2 }, "end": { - "offset": 25587, - "line": 823, + "offset": 26700, + "line": 866, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3892b48", + "id": "0x7f0da6bea550", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25540, - "line": 822, + "offset": 26653, + "line": 865, "col": 9, "tokLen": 1 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27324,16 +27989,16 @@ "opcode": "||", "inner": [ { - "id": "0x3891d30", + "id": "0x7f0da6be9288", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25540, + "offset": 26653, "col": 9, "tokLen": 1 }, "end": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 } @@ -27345,67 +28010,67 @@ "adl": true, "inner": [ { - "id": "0x3891d18", + "id": "0x7f0da6be9270", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 }, "end": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3891cf8", + "id": "0x7f0da6be9250", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 }, "end": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3890f90", + "id": "0x7f0da6be8028", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25540, + "offset": 26653, "col": 9, "tokLen": 1 }, "end": { - "offset": 25540, + "offset": 26653, "col": 9, "tokLen": 1 } @@ -27413,11 +28078,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27426,16 +28091,16 @@ } }, { - "id": "0x3891ce0", + "id": "0x7f0da6be9238", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 }, "end": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 } @@ -27447,16 +28112,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3890fb0", + "id": "0x7f0da6be8048", "kind": "StringLiteral", "range": { "begin": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 }, "end": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 } @@ -27472,16 +28137,16 @@ ] }, { - "id": "0x3892b10", + "id": "0x7f0da6bea518", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25556, + "offset": 26669, "col": 25, "tokLen": 1 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27493,67 +28158,67 @@ "adl": true, "inner": [ { - "id": "0x3892af8", + "id": "0x7f0da6bea500", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 }, "end": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3892ad8", + "id": "0x7f0da6bea4e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 }, "end": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3891d68", + "id": "0x7f0da6be92c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25556, + "offset": 26669, "col": 25, "tokLen": 1 }, "end": { - "offset": 25556, + "offset": 26669, "col": 25, "tokLen": 1 } @@ -27561,11 +28226,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27574,16 +28239,16 @@ } }, { - "id": "0x3892ac0", + "id": "0x7f0da6bea4c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27595,16 +28260,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3891d88", + "id": "0x7f0da6be92e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27622,33 +28287,33 @@ ] }, { - "id": "0x3892bd0", + "id": "0x7f0da6bea5d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25574, - "line": 823, + "offset": 26687, + "line": 866, "col": 9, "tokLen": 6 }, "end": { - "offset": 25587, + "offset": 26700, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3892ba0", + "id": "0x7f0da6bea5a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25581, + "offset": 26694, "col": 16, "tokLen": 4 }, "end": { - "offset": 25587, + "offset": 26700, "col": 22, "tokLen": 5 } @@ -27658,7 +28323,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57ca0", + "id": "0x2cdbdce0", "kind": "EnumConstantDecl", "name": "DAC_8", "type": { @@ -27671,35 +28336,35 @@ ] }, { - "id": "0x3894850", + "id": "0x7f0da6becbc8", "kind": "IfStmt", "range": { "begin": { - "offset": 25598, - "line": 824, + "offset": 26711, + "line": 867, "col": 5, "tokLen": 2 }, "end": { - "offset": 25649, - "line": 825, + "offset": 26762, + "line": 868, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38947b8", + "id": "0x7f0da6becb30", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25602, - "line": 824, + "offset": 26715, + "line": 867, "col": 9, "tokLen": 1 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -27711,16 +28376,16 @@ "opcode": "||", "inner": [ { - "id": "0x38939a0", + "id": "0x7f0da6beb868", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25602, + "offset": 26715, "col": 9, "tokLen": 1 }, "end": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 } @@ -27732,67 +28397,67 @@ "adl": true, "inner": [ { - "id": "0x3893988", + "id": "0x7f0da6beb850", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 }, "end": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3893968", + "id": "0x7f0da6beb830", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 }, "end": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3892c00", + "id": "0x7f0da6bea608", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25602, + "offset": 26715, "col": 9, "tokLen": 1 }, "end": { - "offset": 25602, + "offset": 26715, "col": 9, "tokLen": 1 } @@ -27800,11 +28465,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27813,16 +28478,16 @@ } }, { - "id": "0x3893950", + "id": "0x7f0da6beb818", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 }, "end": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 } @@ -27834,16 +28499,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3892c20", + "id": "0x7f0da6bea628", "kind": "StringLiteral", "range": { "begin": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 }, "end": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 } @@ -27859,16 +28524,16 @@ ] }, { - "id": "0x3894780", + "id": "0x7f0da6becaf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25618, + "offset": 26731, "col": 25, "tokLen": 1 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -27880,67 +28545,67 @@ "adl": true, "inner": [ { - "id": "0x3894768", + "id": "0x7f0da6becae0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 }, "end": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3894748", + "id": "0x7f0da6becac0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 }, "end": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38939d8", + "id": "0x7f0da6beb8a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25618, + "offset": 26731, "col": 25, "tokLen": 1 }, "end": { - "offset": 25618, + "offset": 26731, "col": 25, "tokLen": 1 } @@ -27948,11 +28613,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27961,16 +28626,16 @@ } }, { - "id": "0x3894730", + "id": "0x7f0da6becaa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -27982,16 +28647,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38939f8", + "id": "0x7f0da6beb8c0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -28009,33 +28674,33 @@ ] }, { - "id": "0x3894840", + "id": "0x7f0da6becbb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25636, - "line": 825, + "offset": 26749, + "line": 868, "col": 9, "tokLen": 6 }, "end": { - "offset": 25649, + "offset": 26762, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3894810", + "id": "0x7f0da6becb88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25643, + "offset": 26756, "col": 16, "tokLen": 4 }, "end": { - "offset": 25649, + "offset": 26762, "col": 22, "tokLen": 5 } @@ -28045,7 +28710,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57cf0", + "id": "0x2cdbdd30", "kind": "EnumConstantDecl", "name": "DAC_9", "type": { @@ -28058,35 +28723,35 @@ ] }, { - "id": "0x38964e0", + "id": "0x7f0da6bef1a8", "kind": "IfStmt", "range": { "begin": { - "offset": 25660, - "line": 826, + "offset": 26773, + "line": 869, "col": 5, "tokLen": 2 }, "end": { - "offset": 25713, - "line": 827, + "offset": 26826, + "line": 870, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3896448", + "id": "0x7f0da6bef110", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25664, - "line": 826, + "offset": 26777, + "line": 869, "col": 9, "tokLen": 1 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28098,16 +28763,16 @@ "opcode": "||", "inner": [ { - "id": "0x3895630", + "id": "0x7f0da6bede48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25664, + "offset": 26777, "col": 9, "tokLen": 1 }, "end": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 } @@ -28119,67 +28784,67 @@ "adl": true, "inner": [ { - "id": "0x3895618", + "id": "0x7f0da6bede30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 }, "end": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38955f8", + "id": "0x7f0da6bede10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 }, "end": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3894870", + "id": "0x7f0da6becbe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25664, + "offset": 26777, "col": 9, "tokLen": 1 }, "end": { - "offset": 25664, + "offset": 26777, "col": 9, "tokLen": 1 } @@ -28187,11 +28852,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28200,16 +28865,16 @@ } }, { - "id": "0x38955e0", + "id": "0x7f0da6beddf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 }, "end": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 } @@ -28221,16 +28886,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3894890", + "id": "0x7f0da6becc08", "kind": "StringLiteral", "range": { "begin": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 }, "end": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 } @@ -28246,16 +28911,16 @@ ] }, { - "id": "0x3896410", + "id": "0x7f0da6bef0d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25681, + "offset": 26794, "col": 26, "tokLen": 1 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28267,67 +28932,67 @@ "adl": true, "inner": [ { - "id": "0x38963f8", + "id": "0x7f0da6bef0c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 }, "end": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38963d8", + "id": "0x7f0da6bef0a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 }, "end": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3895668", + "id": "0x7f0da6bede80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25681, + "offset": 26794, "col": 26, "tokLen": 1 }, "end": { - "offset": 25681, + "offset": 26794, "col": 26, "tokLen": 1 } @@ -28335,11 +29000,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28348,16 +29013,16 @@ } }, { - "id": "0x38963c0", + "id": "0x7f0da6bef088", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28369,16 +29034,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3895688", + "id": "0x7f0da6bedea0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28396,33 +29061,33 @@ ] }, { - "id": "0x38964d0", + "id": "0x7f0da6bef198", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25700, - "line": 827, + "offset": 26813, + "line": 870, "col": 9, "tokLen": 6 }, "end": { - "offset": 25713, + "offset": 26826, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38964a0", + "id": "0x7f0da6bef168", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25707, + "offset": 26820, "col": 16, "tokLen": 4 }, "end": { - "offset": 25713, + "offset": 26826, "col": 22, "tokLen": 6 } @@ -28432,7 +29097,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57d40", + "id": "0x2cdbdd80", "kind": "EnumConstantDecl", "name": "DAC_10", "type": { @@ -28445,35 +29110,35 @@ ] }, { - "id": "0x3898150", + "id": "0x7f0da6bf1788", "kind": "IfStmt", "range": { "begin": { - "offset": 25725, - "line": 828, + "offset": 26838, + "line": 871, "col": 5, "tokLen": 2 }, "end": { - "offset": 25778, - "line": 829, + "offset": 26891, + "line": 872, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38980b8", + "id": "0x7f0da6bf16f0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25729, - "line": 828, + "offset": 26842, + "line": 871, "col": 9, "tokLen": 1 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28485,16 +29150,16 @@ "opcode": "||", "inner": [ { - "id": "0x38972a0", + "id": "0x7f0da6bf0428", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25729, + "offset": 26842, "col": 9, "tokLen": 1 }, "end": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 } @@ -28506,67 +29171,67 @@ "adl": true, "inner": [ { - "id": "0x3897288", + "id": "0x7f0da6bf0410", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 }, "end": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3897268", + "id": "0x7f0da6bf03f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 }, "end": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3896500", + "id": "0x7f0da6bef1c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25729, + "offset": 26842, "col": 9, "tokLen": 1 }, "end": { - "offset": 25729, + "offset": 26842, "col": 9, "tokLen": 1 } @@ -28574,11 +29239,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28587,16 +29252,16 @@ } }, { - "id": "0x3897250", + "id": "0x7f0da6bf03d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 }, "end": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 } @@ -28608,16 +29273,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3896520", + "id": "0x7f0da6bef1e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 }, "end": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 } @@ -28633,16 +29298,16 @@ ] }, { - "id": "0x3898080", + "id": "0x7f0da6bf16b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25746, + "offset": 26859, "col": 26, "tokLen": 1 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28654,67 +29319,67 @@ "adl": true, "inner": [ { - "id": "0x3898068", + "id": "0x7f0da6bf16a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 }, "end": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3898048", + "id": "0x7f0da6bf1680", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 }, "end": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38972d8", + "id": "0x7f0da6bf0460", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25746, + "offset": 26859, "col": 26, "tokLen": 1 }, "end": { - "offset": 25746, + "offset": 26859, "col": 26, "tokLen": 1 } @@ -28722,11 +29387,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28735,16 +29400,16 @@ } }, { - "id": "0x3898030", + "id": "0x7f0da6bf1668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28756,16 +29421,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38972f8", + "id": "0x7f0da6bf0480", "kind": "StringLiteral", "range": { "begin": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28783,33 +29448,33 @@ ] }, { - "id": "0x3898140", + "id": "0x7f0da6bf1778", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25765, - "line": 829, + "offset": 26878, + "line": 872, "col": 9, "tokLen": 6 }, "end": { - "offset": 25778, + "offset": 26891, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3898110", + "id": "0x7f0da6bf1748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25772, + "offset": 26885, "col": 16, "tokLen": 4 }, "end": { - "offset": 25778, + "offset": 26891, "col": 22, "tokLen": 6 } @@ -28819,7 +29484,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57d90", + "id": "0x2cdbddd0", "kind": "EnumConstantDecl", "name": "DAC_11", "type": { @@ -28832,35 +29497,35 @@ ] }, { - "id": "0x3899dc0", + "id": "0x7f0da6bf3d68", "kind": "IfStmt", "range": { "begin": { - "offset": 25790, - "line": 830, + "offset": 26903, + "line": 873, "col": 5, "tokLen": 2 }, "end": { - "offset": 25843, - "line": 831, + "offset": 26956, + "line": 874, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3899d28", + "id": "0x7f0da6bf3cd0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25794, - "line": 830, + "offset": 26907, + "line": 873, "col": 9, "tokLen": 1 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -28872,16 +29537,16 @@ "opcode": "||", "inner": [ { - "id": "0x3898f10", + "id": "0x7f0da6bf2a08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25794, + "offset": 26907, "col": 9, "tokLen": 1 }, "end": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 } @@ -28893,67 +29558,67 @@ "adl": true, "inner": [ { - "id": "0x3898ef8", + "id": "0x7f0da6bf29f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 }, "end": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3898ed8", + "id": "0x7f0da6bf29d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 }, "end": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3898170", + "id": "0x7f0da6bf17a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25794, + "offset": 26907, "col": 9, "tokLen": 1 }, "end": { - "offset": 25794, + "offset": 26907, "col": 9, "tokLen": 1 } @@ -28961,11 +29626,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28974,16 +29639,16 @@ } }, { - "id": "0x3898ec0", + "id": "0x7f0da6bf29b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 }, "end": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 } @@ -28995,16 +29660,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3898190", + "id": "0x7f0da6bf17c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 }, "end": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 } @@ -29020,16 +29685,16 @@ ] }, { - "id": "0x3899cf0", + "id": "0x7f0da6bf3c98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25811, + "offset": 26924, "col": 26, "tokLen": 1 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -29041,67 +29706,67 @@ "adl": true, "inner": [ { - "id": "0x3899cd8", + "id": "0x7f0da6bf3c80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 }, "end": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3899cb8", + "id": "0x7f0da6bf3c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 }, "end": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3898f48", + "id": "0x7f0da6bf2a40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25811, + "offset": 26924, "col": 26, "tokLen": 1 }, "end": { - "offset": 25811, + "offset": 26924, "col": 26, "tokLen": 1 } @@ -29109,11 +29774,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29122,16 +29787,16 @@ } }, { - "id": "0x3899ca0", + "id": "0x7f0da6bf3c48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -29143,16 +29808,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3898f68", + "id": "0x7f0da6bf2a60", "kind": "StringLiteral", "range": { "begin": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -29170,33 +29835,33 @@ ] }, { - "id": "0x3899db0", + "id": "0x7f0da6bf3d58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25830, - "line": 831, + "offset": 26943, + "line": 874, "col": 9, "tokLen": 6 }, "end": { - "offset": 25843, + "offset": 26956, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3899d80", + "id": "0x7f0da6bf3d28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25837, + "offset": 26950, "col": 16, "tokLen": 4 }, "end": { - "offset": 25843, + "offset": 26956, "col": 22, "tokLen": 6 } @@ -29206,7 +29871,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57de0", + "id": "0x2cdbde20", "kind": "EnumConstantDecl", "name": "DAC_12", "type": { @@ -29219,35 +29884,35 @@ ] }, { - "id": "0x389ba30", + "id": "0x7f0da6bf6348", "kind": "IfStmt", "range": { "begin": { - "offset": 25855, - "line": 832, + "offset": 26968, + "line": 875, "col": 5, "tokLen": 2 }, "end": { - "offset": 25908, - "line": 833, + "offset": 27021, + "line": 876, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389b998", + "id": "0x7f0da6bf62b0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25859, - "line": 832, + "offset": 26972, + "line": 875, "col": 9, "tokLen": 1 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29259,16 +29924,16 @@ "opcode": "||", "inner": [ { - "id": "0x389ab80", + "id": "0x7f0da6bf4fe8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25859, + "offset": 26972, "col": 9, "tokLen": 1 }, "end": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 } @@ -29280,67 +29945,67 @@ "adl": true, "inner": [ { - "id": "0x389ab68", + "id": "0x7f0da6bf4fd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 }, "end": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389ab48", + "id": "0x7f0da6bf4fb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 }, "end": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3899de0", + "id": "0x7f0da6bf3d88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25859, + "offset": 26972, "col": 9, "tokLen": 1 }, "end": { - "offset": 25859, + "offset": 26972, "col": 9, "tokLen": 1 } @@ -29348,11 +30013,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29361,16 +30026,16 @@ } }, { - "id": "0x389ab30", + "id": "0x7f0da6bf4f98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 }, "end": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 } @@ -29382,16 +30047,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3899e00", + "id": "0x7f0da6bf3da8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 }, "end": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 } @@ -29407,16 +30072,16 @@ ] }, { - "id": "0x389b960", + "id": "0x7f0da6bf6278", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25876, + "offset": 26989, "col": 26, "tokLen": 1 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29428,67 +30093,67 @@ "adl": true, "inner": [ { - "id": "0x389b948", + "id": "0x7f0da6bf6260", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 }, "end": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389b928", + "id": "0x7f0da6bf6240", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 }, "end": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389abb8", + "id": "0x7f0da6bf5020", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25876, + "offset": 26989, "col": 26, "tokLen": 1 }, "end": { - "offset": 25876, + "offset": 26989, "col": 26, "tokLen": 1 } @@ -29496,11 +30161,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29509,16 +30174,16 @@ } }, { - "id": "0x389b910", + "id": "0x7f0da6bf6228", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29530,16 +30195,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389abd8", + "id": "0x7f0da6bf5040", "kind": "StringLiteral", "range": { "begin": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29557,33 +30222,33 @@ ] }, { - "id": "0x389ba20", + "id": "0x7f0da6bf6338", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25895, - "line": 833, + "offset": 27008, + "line": 876, "col": 9, "tokLen": 6 }, "end": { - "offset": 25908, + "offset": 27021, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389b9f0", + "id": "0x7f0da6bf6308", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25902, + "offset": 27015, "col": 16, "tokLen": 4 }, "end": { - "offset": 25908, + "offset": 27021, "col": 22, "tokLen": 6 } @@ -29593,7 +30258,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57e30", + "id": "0x2cdbde70", "kind": "EnumConstantDecl", "name": "DAC_13", "type": { @@ -29606,35 +30271,35 @@ ] }, { - "id": "0x389d6a0", + "id": "0x7f0da6bf8928", "kind": "IfStmt", "range": { "begin": { - "offset": 25920, - "line": 834, + "offset": 27033, + "line": 877, "col": 5, "tokLen": 2 }, "end": { - "offset": 25973, - "line": 835, + "offset": 27086, + "line": 878, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389d608", + "id": "0x7f0da6bf8890", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25924, - "line": 834, + "offset": 27037, + "line": 877, "col": 9, "tokLen": 1 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29646,16 +30311,16 @@ "opcode": "||", "inner": [ { - "id": "0x389c7f0", + "id": "0x7f0da6bf75c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25924, + "offset": 27037, "col": 9, "tokLen": 1 }, "end": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 } @@ -29667,67 +30332,67 @@ "adl": true, "inner": [ { - "id": "0x389c7d8", + "id": "0x7f0da6bf75b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 }, "end": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389c7b8", + "id": "0x7f0da6bf7590", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 }, "end": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389ba50", + "id": "0x7f0da6bf6368", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25924, + "offset": 27037, "col": 9, "tokLen": 1 }, "end": { - "offset": 25924, + "offset": 27037, "col": 9, "tokLen": 1 } @@ -29735,11 +30400,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29748,16 +30413,16 @@ } }, { - "id": "0x389c7a0", + "id": "0x7f0da6bf7578", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 }, "end": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 } @@ -29769,16 +30434,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389ba70", + "id": "0x7f0da6bf6388", "kind": "StringLiteral", "range": { "begin": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 }, "end": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 } @@ -29794,16 +30459,16 @@ ] }, { - "id": "0x389d5d0", + "id": "0x7f0da6bf8858", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25941, + "offset": 27054, "col": 26, "tokLen": 1 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29815,67 +30480,67 @@ "adl": true, "inner": [ { - "id": "0x389d5b8", + "id": "0x7f0da6bf8840", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 }, "end": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389d598", + "id": "0x7f0da6bf8820", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 }, "end": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389c828", + "id": "0x7f0da6bf7600", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25941, + "offset": 27054, "col": 26, "tokLen": 1 }, "end": { - "offset": 25941, + "offset": 27054, "col": 26, "tokLen": 1 } @@ -29883,11 +30548,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29896,16 +30561,16 @@ } }, { - "id": "0x389d580", + "id": "0x7f0da6bf8808", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29917,16 +30582,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389c848", + "id": "0x7f0da6bf7620", "kind": "StringLiteral", "range": { "begin": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29944,33 +30609,33 @@ ] }, { - "id": "0x389d690", + "id": "0x7f0da6bf8918", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25960, - "line": 835, + "offset": 27073, + "line": 878, "col": 9, "tokLen": 6 }, "end": { - "offset": 25973, + "offset": 27086, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389d660", + "id": "0x7f0da6bf88e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25967, + "offset": 27080, "col": 16, "tokLen": 4 }, "end": { - "offset": 25973, + "offset": 27086, "col": 22, "tokLen": 6 } @@ -29980,7 +30645,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57e80", + "id": "0x2cdbdec0", "kind": "EnumConstantDecl", "name": "DAC_14", "type": { @@ -29993,35 +30658,35 @@ ] }, { - "id": "0x389f310", + "id": "0x7f0da6bfaf08", "kind": "IfStmt", "range": { "begin": { - "offset": 25985, - "line": 836, + "offset": 27098, + "line": 879, "col": 5, "tokLen": 2 }, "end": { - "offset": 26038, - "line": 837, + "offset": 27151, + "line": 880, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389f278", + "id": "0x7f0da6bfae70", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25989, - "line": 836, + "offset": 27102, + "line": 879, "col": 9, "tokLen": 1 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30033,16 +30698,16 @@ "opcode": "||", "inner": [ { - "id": "0x389e460", + "id": "0x7f0da6bf9ba8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25989, + "offset": 27102, "col": 9, "tokLen": 1 }, "end": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 } @@ -30054,67 +30719,67 @@ "adl": true, "inner": [ { - "id": "0x389e448", + "id": "0x7f0da6bf9b90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 }, "end": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389e428", + "id": "0x7f0da6bf9b70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 }, "end": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389d6c0", + "id": "0x7f0da6bf8948", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25989, + "offset": 27102, "col": 9, "tokLen": 1 }, "end": { - "offset": 25989, + "offset": 27102, "col": 9, "tokLen": 1 } @@ -30122,11 +30787,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30135,16 +30800,16 @@ } }, { - "id": "0x389e410", + "id": "0x7f0da6bf9b58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 }, "end": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 } @@ -30156,16 +30821,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389d6e0", + "id": "0x7f0da6bf8968", "kind": "StringLiteral", "range": { "begin": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 }, "end": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 } @@ -30181,16 +30846,16 @@ ] }, { - "id": "0x389f240", + "id": "0x7f0da6bfae38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26006, + "offset": 27119, "col": 26, "tokLen": 1 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30202,67 +30867,67 @@ "adl": true, "inner": [ { - "id": "0x389f228", + "id": "0x7f0da6bfae20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 }, "end": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389f208", + "id": "0x7f0da6bfae00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 }, "end": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389e498", + "id": "0x7f0da6bf9be0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26006, + "offset": 27119, "col": 26, "tokLen": 1 }, "end": { - "offset": 26006, + "offset": 27119, "col": 26, "tokLen": 1 } @@ -30270,11 +30935,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30283,16 +30948,16 @@ } }, { - "id": "0x389f1f0", + "id": "0x7f0da6bfade8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30304,16 +30969,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389e4b8", + "id": "0x7f0da6bf9c00", "kind": "StringLiteral", "range": { "begin": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30331,33 +30996,33 @@ ] }, { - "id": "0x389f300", + "id": "0x7f0da6bfaef8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26025, - "line": 837, + "offset": 27138, + "line": 880, "col": 9, "tokLen": 6 }, "end": { - "offset": 26038, + "offset": 27151, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389f2d0", + "id": "0x7f0da6bfaec8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26032, + "offset": 27145, "col": 16, "tokLen": 4 }, "end": { - "offset": 26038, + "offset": 27151, "col": 22, "tokLen": 6 } @@ -30367,7 +31032,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57ed0", + "id": "0x2cdbdf10", "kind": "EnumConstantDecl", "name": "DAC_15", "type": { @@ -30380,35 +31045,35 @@ ] }, { - "id": "0x38a0f80", + "id": "0x7f0da6bfd4e8", "kind": "IfStmt", "range": { "begin": { - "offset": 26050, - "line": 838, + "offset": 27163, + "line": 881, "col": 5, "tokLen": 2 }, "end": { - "offset": 26103, - "line": 839, + "offset": 27216, + "line": 882, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a0ee8", + "id": "0x7f0da6bfd450", "kind": "BinaryOperator", "range": { "begin": { - "offset": 26054, - "line": 838, + "offset": 27167, + "line": 881, "col": 9, "tokLen": 1 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30420,16 +31085,16 @@ "opcode": "||", "inner": [ { - "id": "0x38a00d0", + "id": "0x7f0da6bfc188", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26054, + "offset": 27167, "col": 9, "tokLen": 1 }, "end": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 } @@ -30441,67 +31106,67 @@ "adl": true, "inner": [ { - "id": "0x38a00b8", + "id": "0x7f0da6bfc170", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 }, "end": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a0098", + "id": "0x7f0da6bfc150", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 }, "end": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389f330", + "id": "0x7f0da6bfaf28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26054, + "offset": 27167, "col": 9, "tokLen": 1 }, "end": { - "offset": 26054, + "offset": 27167, "col": 9, "tokLen": 1 } @@ -30509,11 +31174,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30522,16 +31187,16 @@ } }, { - "id": "0x38a0080", + "id": "0x7f0da6bfc138", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 }, "end": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 } @@ -30543,16 +31208,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389f350", + "id": "0x7f0da6bfaf48", "kind": "StringLiteral", "range": { "begin": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 }, "end": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 } @@ -30568,16 +31233,16 @@ ] }, { - "id": "0x38a0eb0", + "id": "0x7f0da6bfd418", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26071, + "offset": 27184, "col": 26, "tokLen": 1 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30589,67 +31254,67 @@ "adl": true, "inner": [ { - "id": "0x38a0e98", + "id": "0x7f0da6bfd400", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 }, "end": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a0e78", + "id": "0x7f0da6bfd3e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 }, "end": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a0108", + "id": "0x7f0da6bfc1c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26071, + "offset": 27184, "col": 26, "tokLen": 1 }, "end": { - "offset": 26071, + "offset": 27184, "col": 26, "tokLen": 1 } @@ -30657,11 +31322,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30670,16 +31335,16 @@ } }, { - "id": "0x38a0e60", + "id": "0x7f0da6bfd3c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30691,16 +31356,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a0128", + "id": "0x7f0da6bfc1e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30718,33 +31383,33 @@ ] }, { - "id": "0x38a0f70", + "id": "0x7f0da6bfd4d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26090, - "line": 839, + "offset": 27203, + "line": 882, "col": 9, "tokLen": 6 }, "end": { - "offset": 26103, + "offset": 27216, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a0f40", + "id": "0x7f0da6bfd4a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26097, + "offset": 27210, "col": 16, "tokLen": 4 }, "end": { - "offset": 26103, + "offset": 27216, "col": 22, "tokLen": 6 } @@ -30754,7 +31419,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57f20", + "id": "0x2cdbdf60", "kind": "EnumConstantDecl", "name": "DAC_16", "type": { @@ -30767,35 +31432,35 @@ ] }, { - "id": "0x38a2bf0", + "id": "0x7f0da6bbeac8", "kind": "IfStmt", "range": { "begin": { - "offset": 26115, - "line": 840, + "offset": 27228, + "line": 883, "col": 5, "tokLen": 2 }, "end": { - "offset": 26168, - "line": 841, + "offset": 27281, + "line": 884, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a2b58", + "id": "0x7f0da6bbea30", "kind": "BinaryOperator", "range": { "begin": { - "offset": 26119, - "line": 840, + "offset": 27232, + "line": 883, "col": 9, "tokLen": 1 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -30807,16 +31472,16 @@ "opcode": "||", "inner": [ { - "id": "0x38a1d40", + "id": "0x7f0da6bfe768", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26119, + "offset": 27232, "col": 9, "tokLen": 1 }, "end": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 } @@ -30828,67 +31493,67 @@ "adl": true, "inner": [ { - "id": "0x38a1d28", + "id": "0x7f0da6bfe750", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 }, "end": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a1d08", + "id": "0x7f0da6bfe730", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 }, "end": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a0fa0", + "id": "0x7f0da6bfd508", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26119, + "offset": 27232, "col": 9, "tokLen": 1 }, "end": { - "offset": 26119, + "offset": 27232, "col": 9, "tokLen": 1 } @@ -30896,11 +31561,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30909,16 +31574,16 @@ } }, { - "id": "0x38a1cf0", + "id": "0x7f0da6bfe718", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 }, "end": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 } @@ -30930,16 +31595,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a0fc0", + "id": "0x7f0da6bfd528", "kind": "StringLiteral", "range": { "begin": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 }, "end": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 } @@ -30955,16 +31620,16 @@ ] }, { - "id": "0x38a2b20", + "id": "0x7f0da6bbe9f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26136, + "offset": 27249, "col": 26, "tokLen": 1 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -30976,67 +31641,67 @@ "adl": true, "inner": [ { - "id": "0x38a2b08", + "id": "0x7f0da6bbe9e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 }, "end": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a2ae8", + "id": "0x7f0da6bbe9c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 }, "end": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a1d78", + "id": "0x7f0da6bfe7a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26136, + "offset": 27249, "col": 26, "tokLen": 1 }, "end": { - "offset": 26136, + "offset": 27249, "col": 26, "tokLen": 1 } @@ -31044,11 +31709,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31057,16 +31722,16 @@ } }, { - "id": "0x38a2ad0", + "id": "0x7f0da6bbe9a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -31078,16 +31743,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a1d98", + "id": "0x7f0da6bfe7c0", "kind": "StringLiteral", "range": { "begin": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -31105,33 +31770,33 @@ ] }, { - "id": "0x38a2be0", + "id": "0x7f0da6bbeab8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26155, - "line": 841, + "offset": 27268, + "line": 884, "col": 9, "tokLen": 6 }, "end": { - "offset": 26168, + "offset": 27281, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a2bb0", + "id": "0x7f0da6bbea88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26162, + "offset": 27275, "col": 16, "tokLen": 4 }, "end": { - "offset": 26168, + "offset": 27281, "col": 22, "tokLen": 6 } @@ -31141,7 +31806,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57f70", + "id": "0x2cdbdfb0", "kind": "EnumConstantDecl", "name": "DAC_17", "type": { @@ -31154,35 +31819,35 @@ ] }, { - "id": "0x38a3a60", + "id": "0x7f0da6bbfdf8", "kind": "IfStmt", "range": { "begin": { - "offset": 26180, - "line": 842, + "offset": 27293, + "line": 885, "col": 5, "tokLen": 2 }, "end": { - "offset": 26218, - "line": 843, + "offset": 27331, + "line": 886, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a39b0", + "id": "0x7f0da6bbfd48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26184, - "line": 842, + "offset": 27297, + "line": 885, "col": 9, "tokLen": 1 }, "end": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 } @@ -31194,67 +31859,67 @@ "adl": true, "inner": [ { - "id": "0x38a3998", + "id": "0x7f0da6bbfd30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 }, "end": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a3978", + "id": "0x7f0da6bbfd10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 }, "end": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a2c10", + "id": "0x7f0da6bbeae8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26184, + "offset": 27297, "col": 9, "tokLen": 1 }, "end": { - "offset": 26184, + "offset": 27297, "col": 9, "tokLen": 1 } @@ -31262,11 +31927,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31275,16 +31940,16 @@ } }, { - "id": "0x38a3960", + "id": "0x7f0da6bbfcf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 }, "end": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 } @@ -31296,16 +31961,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a2c30", + "id": "0x7f0da6bbeb08", "kind": "StringLiteral", "range": { "begin": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 }, "end": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 } @@ -31321,33 +31986,33 @@ ] }, { - "id": "0x38a3a50", + "id": "0x7f0da6bbfde8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26205, - "line": 843, + "offset": 27318, + "line": 886, "col": 9, "tokLen": 6 }, "end": { - "offset": 26218, + "offset": 27331, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a3a20", + "id": "0x7f0da6bbfdb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26212, + "offset": 27325, "col": 16, "tokLen": 4 }, "end": { - "offset": 26218, + "offset": 27331, "col": 22, "tokLen": 4 } @@ -31357,7 +32022,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57fc0", + "id": "0x2cdbe000", "kind": "EnumConstantDecl", "name": "VSVP", "type": { @@ -31370,35 +32035,35 @@ ] }, { - "id": "0x38a48d0", + "id": "0x7f0da6bc1128", "kind": "IfStmt", "range": { "begin": { - "offset": 26228, - "line": 844, + "offset": 27341, + "line": 887, "col": 5, "tokLen": 2 }, "end": { - "offset": 26267, - "line": 845, + "offset": 27380, + "line": 888, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38a4820", + "id": "0x7f0da6bc1078", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26232, - "line": 844, + "offset": 27345, + "line": 887, "col": 9, "tokLen": 1 }, "end": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 } @@ -31410,67 +32075,67 @@ "adl": true, "inner": [ { - "id": "0x38a4808", + "id": "0x7f0da6bc1060", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 }, "end": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a47e8", + "id": "0x7f0da6bc1040", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 }, "end": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a3a80", + "id": "0x7f0da6bbfe18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26232, + "offset": 27345, "col": 9, "tokLen": 1 }, "end": { - "offset": 26232, + "offset": 27345, "col": 9, "tokLen": 1 } @@ -31478,11 +32143,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31491,16 +32156,16 @@ } }, { - "id": "0x38a47d0", + "id": "0x7f0da6bc1028", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 }, "end": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 } @@ -31512,16 +32177,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a3aa0", + "id": "0x7f0da6bbfe38", "kind": "StringLiteral", "range": { "begin": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 }, "end": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 } @@ -31537,33 +32202,33 @@ ] }, { - "id": "0x38a48c0", + "id": "0x7f0da6bc1118", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26254, - "line": 845, + "offset": 27367, + "line": 888, "col": 9, "tokLen": 6 }, "end": { - "offset": 26267, + "offset": 27380, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38a4890", + "id": "0x7f0da6bc10e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26261, + "offset": 27374, "col": 16, "tokLen": 4 }, "end": { - "offset": 26267, + "offset": 27380, "col": 22, "tokLen": 5 } @@ -31573,7 +32238,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58010", + "id": "0x2cdbe050", "kind": "EnumConstantDecl", "name": "VTRIM", "type": { @@ -31586,35 +32251,35 @@ ] }, { - "id": "0x38a5760", + "id": "0x7f0da6bc2458", "kind": "IfStmt", "range": { "begin": { - "offset": 26278, - "line": 846, + "offset": 27391, + "line": 889, "col": 5, "tokLen": 2 }, "end": { - "offset": 26320, - "line": 847, + "offset": 27433, + "line": 890, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a56b0", + "id": "0x7f0da6bc23a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26282, - "line": 846, + "offset": 27395, + "line": 889, "col": 9, "tokLen": 1 }, "end": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 } @@ -31626,67 +32291,67 @@ "adl": true, "inner": [ { - "id": "0x38a5698", + "id": "0x7f0da6bc2390", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 }, "end": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a5678", + "id": "0x7f0da6bc2370", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 }, "end": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a48f0", + "id": "0x7f0da6bc1148", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26282, + "offset": 27395, "col": 9, "tokLen": 1 }, "end": { - "offset": 26282, + "offset": 27395, "col": 9, "tokLen": 1 } @@ -31694,11 +32359,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31707,16 +32372,16 @@ } }, { - "id": "0x38a5660", + "id": "0x7f0da6bc2358", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 }, "end": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 } @@ -31728,16 +32393,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a4910", + "id": "0x7f0da6bc1168", "kind": "StringLiteral", "range": { "begin": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 }, "end": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 } @@ -31753,33 +32418,33 @@ ] }, { - "id": "0x38a5750", + "id": "0x7f0da6bc2448", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26307, - "line": 847, + "offset": 27420, + "line": 890, "col": 9, "tokLen": 6 }, "end": { - "offset": 26320, + "offset": 27433, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a5720", + "id": "0x7f0da6bc2418", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26314, + "offset": 27427, "col": 16, "tokLen": 4 }, "end": { - "offset": 26320, + "offset": 27433, "col": 22, "tokLen": 8 } @@ -31789,7 +32454,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58060", + "id": "0x2cdbe0a0", "kind": "EnumConstantDecl", "name": "VRPREAMP", "type": { @@ -31802,35 +32467,35 @@ ] }, { - "id": "0x38a65d0", + "id": "0x7f0da6bc3788", "kind": "IfStmt", "range": { "begin": { - "offset": 26334, - "line": 848, + "offset": 27447, + "line": 891, "col": 5, "tokLen": 2 }, "end": { - "offset": 26376, - "line": 849, + "offset": 27489, + "line": 892, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a6520", + "id": "0x7f0da6bc36d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26338, - "line": 848, + "offset": 27451, + "line": 891, "col": 9, "tokLen": 1 }, "end": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 } @@ -31842,67 +32507,67 @@ "adl": true, "inner": [ { - "id": "0x38a6508", + "id": "0x7f0da6bc36c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 }, "end": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a64e8", + "id": "0x7f0da6bc36a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 }, "end": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a5780", + "id": "0x7f0da6bc2478", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26338, + "offset": 27451, "col": 9, "tokLen": 1 }, "end": { - "offset": 26338, + "offset": 27451, "col": 9, "tokLen": 1 } @@ -31910,11 +32575,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31923,16 +32588,16 @@ } }, { - "id": "0x38a64d0", + "id": "0x7f0da6bc3688", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 }, "end": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 } @@ -31944,16 +32609,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a57a0", + "id": "0x7f0da6bc2498", "kind": "StringLiteral", "range": { "begin": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 }, "end": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 } @@ -31969,33 +32634,33 @@ ] }, { - "id": "0x38a65c0", + "id": "0x7f0da6bc3778", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26363, - "line": 849, + "offset": 27476, + "line": 892, "col": 9, "tokLen": 6 }, "end": { - "offset": 26376, + "offset": 27489, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a6590", + "id": "0x7f0da6bc3748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26370, + "offset": 27483, "col": 16, "tokLen": 4 }, "end": { - "offset": 26376, + "offset": 27489, "col": 22, "tokLen": 8 } @@ -32005,7 +32670,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f580b0", + "id": "0x2cdbe0f0", "kind": "EnumConstantDecl", "name": "VRSHAPER", "type": { @@ -32018,35 +32683,35 @@ ] }, { - "id": "0x38a7440", + "id": "0x7f0da6bc4ab8", "kind": "IfStmt", "range": { "begin": { - "offset": 26390, - "line": 850, + "offset": 27503, + "line": 893, "col": 5, "tokLen": 2 }, "end": { - "offset": 26428, - "line": 851, + "offset": 27541, + "line": 894, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a7390", + "id": "0x7f0da6bc4a08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26394, - "line": 850, + "offset": 27507, + "line": 893, "col": 9, "tokLen": 1 }, "end": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 } @@ -32058,67 +32723,67 @@ "adl": true, "inner": [ { - "id": "0x38a7378", + "id": "0x7f0da6bc49f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 }, "end": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a7358", + "id": "0x7f0da6bc49d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 }, "end": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a65f0", + "id": "0x7f0da6bc37a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26394, + "offset": 27507, "col": 9, "tokLen": 1 }, "end": { - "offset": 26394, + "offset": 27507, "col": 9, "tokLen": 1 } @@ -32126,11 +32791,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32139,16 +32804,16 @@ } }, { - "id": "0x38a7340", + "id": "0x7f0da6bc49b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 }, "end": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 } @@ -32160,16 +32825,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a6610", + "id": "0x7f0da6bc37c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 }, "end": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 } @@ -32185,33 +32850,33 @@ ] }, { - "id": "0x38a7430", + "id": "0x7f0da6bc4aa8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26415, - "line": 851, + "offset": 27528, + "line": 894, "col": 9, "tokLen": 6 }, "end": { - "offset": 26428, + "offset": 27541, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a7400", + "id": "0x7f0da6bc4a78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26422, + "offset": 27535, "col": 16, "tokLen": 4 }, "end": { - "offset": 26428, + "offset": 27541, "col": 22, "tokLen": 4 } @@ -32221,7 +32886,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58100", + "id": "0x2cdbe140", "kind": "EnumConstantDecl", "name": "VSVN", "type": { @@ -32234,35 +32899,35 @@ ] }, { - "id": "0x38a82b0", + "id": "0x7f0da6bc5de8", "kind": "IfStmt", "range": { "begin": { - "offset": 26438, - "line": 852, + "offset": 27551, + "line": 895, "col": 5, "tokLen": 2 }, "end": { - "offset": 26478, - "line": 853, + "offset": 27591, + "line": 896, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a8200", + "id": "0x7f0da6bc5d38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26442, - "line": 852, + "offset": 27555, + "line": 895, "col": 9, "tokLen": 1 }, "end": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 } @@ -32274,67 +32939,67 @@ "adl": true, "inner": [ { - "id": "0x38a81e8", + "id": "0x7f0da6bc5d20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 }, "end": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a81c8", + "id": "0x7f0da6bc5d00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 }, "end": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a7460", + "id": "0x7f0da6bc4ad8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26442, + "offset": 27555, "col": 9, "tokLen": 1 }, "end": { - "offset": 26442, + "offset": 27555, "col": 9, "tokLen": 1 } @@ -32342,11 +33007,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32355,16 +33020,16 @@ } }, { - "id": "0x38a81b0", + "id": "0x7f0da6bc5ce8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 }, "end": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 } @@ -32376,16 +33041,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a7480", + "id": "0x7f0da6bc4af8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 }, "end": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 } @@ -32401,33 +33066,33 @@ ] }, { - "id": "0x38a82a0", + "id": "0x7f0da6bc5dd8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26465, - "line": 853, + "offset": 27578, + "line": 896, "col": 9, "tokLen": 6 }, "end": { - "offset": 26478, + "offset": 27591, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a8270", + "id": "0x7f0da6bc5da8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26472, + "offset": 27585, "col": 16, "tokLen": 4 }, "end": { - "offset": 26478, + "offset": 27591, "col": 22, "tokLen": 6 } @@ -32437,7 +33102,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58150", + "id": "0x2cdbe190", "kind": "EnumConstantDecl", "name": "VTGSTV", "type": { @@ -32450,35 +33115,35 @@ ] }, { - "id": "0x38a9120", + "id": "0x7f0da6bc7118", "kind": "IfStmt", "range": { "begin": { - "offset": 26490, - "line": 854, + "offset": 27603, + "line": 897, "col": 5, "tokLen": 2 }, "end": { - "offset": 26531, - "line": 855, + "offset": 27644, + "line": 898, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a9070", + "id": "0x7f0da6bc7068", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26494, - "line": 854, + "offset": 27607, + "line": 897, "col": 9, "tokLen": 1 }, "end": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 } @@ -32490,67 +33155,67 @@ "adl": true, "inner": [ { - "id": "0x38a9058", + "id": "0x7f0da6bc7050", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 }, "end": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a9038", + "id": "0x7f0da6bc7030", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 }, "end": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a82d0", + "id": "0x7f0da6bc5e08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26494, + "offset": 27607, "col": 9, "tokLen": 1 }, "end": { - "offset": 26494, + "offset": 27607, "col": 9, "tokLen": 1 } @@ -32558,11 +33223,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32571,16 +33236,16 @@ } }, { - "id": "0x38a9020", + "id": "0x7f0da6bc7018", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 }, "end": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 } @@ -32592,16 +33257,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a82f0", + "id": "0x7f0da6bc5e28", "kind": "StringLiteral", "range": { "begin": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 }, "end": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 } @@ -32617,33 +33282,33 @@ ] }, { - "id": "0x38a9110", + "id": "0x7f0da6bc7108", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26518, - "line": 855, + "offset": 27631, + "line": 898, "col": 9, "tokLen": 6 }, "end": { - "offset": 26531, + "offset": 27644, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a90e0", + "id": "0x7f0da6bc70d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26525, + "offset": 27638, "col": 16, "tokLen": 4 }, "end": { - "offset": 26531, + "offset": 27644, "col": 22, "tokLen": 7 } @@ -32653,7 +33318,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f581a0", + "id": "0x2cdbe1e0", "kind": "EnumConstantDecl", "name": "VCMP_LL", "type": { @@ -32666,35 +33331,35 @@ ] }, { - "id": "0x38a9f90", + "id": "0x7f0da6bc8448", "kind": "IfStmt", "range": { "begin": { - "offset": 26544, - "line": 856, + "offset": 27657, + "line": 899, "col": 5, "tokLen": 2 }, "end": { - "offset": 26585, - "line": 857, + "offset": 27698, + "line": 900, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a9ee0", + "id": "0x7f0da6bc8398", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26548, - "line": 856, + "offset": 27661, + "line": 899, "col": 9, "tokLen": 1 }, "end": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 } @@ -32706,67 +33371,67 @@ "adl": true, "inner": [ { - "id": "0x38a9ec8", + "id": "0x7f0da6bc8380", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 }, "end": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a9ea8", + "id": "0x7f0da6bc8360", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 }, "end": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a9140", + "id": "0x7f0da6bc7138", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26548, + "offset": 27661, "col": 9, "tokLen": 1 }, "end": { - "offset": 26548, + "offset": 27661, "col": 9, "tokLen": 1 } @@ -32774,11 +33439,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32787,16 +33452,16 @@ } }, { - "id": "0x38a9e90", + "id": "0x7f0da6bc8348", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 }, "end": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 } @@ -32808,16 +33473,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a9160", + "id": "0x7f0da6bc7158", "kind": "StringLiteral", "range": { "begin": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 }, "end": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 } @@ -32833,33 +33498,33 @@ ] }, { - "id": "0x38a9f80", + "id": "0x7f0da6bc8438", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26572, - "line": 857, + "offset": 27685, + "line": 900, "col": 9, "tokLen": 6 }, "end": { - "offset": 26585, + "offset": 27698, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a9f50", + "id": "0x7f0da6bc8408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26579, + "offset": 27692, "col": 16, "tokLen": 4 }, "end": { - "offset": 26585, + "offset": 27698, "col": 22, "tokLen": 7 } @@ -32869,7 +33534,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f581f0", + "id": "0x2cdbe230", "kind": "EnumConstantDecl", "name": "VCMP_LR", "type": { @@ -32882,35 +33547,35 @@ ] }, { - "id": "0x38aae00", + "id": "0x7f0da6bc9778", "kind": "IfStmt", "range": { "begin": { - "offset": 26598, - "line": 858, + "offset": 27711, + "line": 901, "col": 5, "tokLen": 2 }, "end": { - "offset": 26636, - "line": 859, + "offset": 27749, + "line": 902, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38aad50", + "id": "0x7f0da6bc96c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26602, - "line": 858, + "offset": 27715, + "line": 901, "col": 9, "tokLen": 1 }, "end": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 } @@ -32922,67 +33587,67 @@ "adl": true, "inner": [ { - "id": "0x38aad38", + "id": "0x7f0da6bc96b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 }, "end": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38aad18", + "id": "0x7f0da6bc9690", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 }, "end": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a9fb0", + "id": "0x7f0da6bc8468", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26602, + "offset": 27715, "col": 9, "tokLen": 1 }, "end": { - "offset": 26602, + "offset": 27715, "col": 9, "tokLen": 1 } @@ -32990,11 +33655,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33003,16 +33668,16 @@ } }, { - "id": "0x38aad00", + "id": "0x7f0da6bc9678", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 }, "end": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 } @@ -33024,16 +33689,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a9fd0", + "id": "0x7f0da6bc8488", "kind": "StringLiteral", "range": { "begin": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 }, "end": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 } @@ -33049,33 +33714,33 @@ ] }, { - "id": "0x38aadf0", + "id": "0x7f0da6bc9768", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26623, - "line": 859, + "offset": 27736, + "line": 902, "col": 9, "tokLen": 6 }, "end": { - "offset": 26636, + "offset": 27749, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38aadc0", + "id": "0x7f0da6bc9738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26630, + "offset": 27743, "col": 16, "tokLen": 4 }, "end": { - "offset": 26636, + "offset": 27749, "col": 22, "tokLen": 4 } @@ -33085,7 +33750,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58240", + "id": "0x2cdbe280", "kind": "EnumConstantDecl", "name": "VCAL", "type": { @@ -33098,35 +33763,35 @@ ] }, { - "id": "0x38abc70", + "id": "0x7f0da6bcaaa8", "kind": "IfStmt", "range": { "begin": { - "offset": 26646, - "line": 860, + "offset": 27759, + "line": 903, "col": 5, "tokLen": 2 }, "end": { - "offset": 26687, - "line": 861, + "offset": 27800, + "line": 904, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38abbc0", + "id": "0x7f0da6bca9f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26650, - "line": 860, + "offset": 27763, + "line": 903, "col": 9, "tokLen": 1 }, "end": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 } @@ -33138,67 +33803,67 @@ "adl": true, "inner": [ { - "id": "0x38abba8", + "id": "0x7f0da6bca9e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 }, "end": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38abb88", + "id": "0x7f0da6bca9c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 }, "end": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38aae20", + "id": "0x7f0da6bc9798", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26650, + "offset": 27763, "col": 9, "tokLen": 1 }, "end": { - "offset": 26650, + "offset": 27763, "col": 9, "tokLen": 1 } @@ -33206,11 +33871,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33219,16 +33884,16 @@ } }, { - "id": "0x38abb70", + "id": "0x7f0da6bca9a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 }, "end": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 } @@ -33240,16 +33905,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38aae40", + "id": "0x7f0da6bc97b8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 }, "end": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 } @@ -33265,33 +33930,33 @@ ] }, { - "id": "0x38abc60", + "id": "0x7f0da6bcaa98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26674, - "line": 861, + "offset": 27787, + "line": 904, "col": 9, "tokLen": 6 }, "end": { - "offset": 26687, + "offset": 27800, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38abc30", + "id": "0x7f0da6bcaa68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26681, + "offset": 27794, "col": 16, "tokLen": 4 }, "end": { - "offset": 26687, + "offset": 27800, "col": 22, "tokLen": 7 } @@ -33301,7 +33966,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58290", + "id": "0x2cdbe2d0", "kind": "EnumConstantDecl", "name": "VCMP_RL", "type": { @@ -33314,35 +33979,35 @@ ] }, { - "id": "0x38acae0", + "id": "0x7f0da6bcbdd8", "kind": "IfStmt", "range": { "begin": { - "offset": 26700, - "line": 862, + "offset": 27813, + "line": 905, "col": 5, "tokLen": 2 }, "end": { - "offset": 26740, - "line": 863, + "offset": 27853, + "line": 906, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38aca30", + "id": "0x7f0da6bcbd28", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26704, - "line": 862, + "offset": 27817, + "line": 905, "col": 9, "tokLen": 1 }, "end": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 } @@ -33354,67 +34019,67 @@ "adl": true, "inner": [ { - "id": "0x38aca18", + "id": "0x7f0da6bcbd10", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 }, "end": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ac9f8", + "id": "0x7f0da6bcbcf0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 }, "end": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38abc90", + "id": "0x7f0da6bcaac8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26704, + "offset": 27817, "col": 9, "tokLen": 1 }, "end": { - "offset": 26704, + "offset": 27817, "col": 9, "tokLen": 1 } @@ -33422,11 +34087,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33435,16 +34100,16 @@ } }, { - "id": "0x38ac9e0", + "id": "0x7f0da6bcbcd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 }, "end": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 } @@ -33456,16 +34121,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38abcb0", + "id": "0x7f0da6bcaae8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 }, "end": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 } @@ -33481,33 +34146,33 @@ ] }, { - "id": "0x38acad0", + "id": "0x7f0da6bcbdc8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26727, - "line": 863, + "offset": 27840, + "line": 906, "col": 9, "tokLen": 6 }, "end": { - "offset": 26740, + "offset": 27853, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38acaa0", + "id": "0x7f0da6bcbd98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26734, + "offset": 27847, "col": 16, "tokLen": 4 }, "end": { - "offset": 26740, + "offset": 27853, "col": 22, "tokLen": 6 } @@ -33517,7 +34182,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f582e0", + "id": "0x2cdbe320", "kind": "EnumConstantDecl", "name": "RXB_RB", "type": { @@ -33530,35 +34195,35 @@ ] }, { - "id": "0x38ad950", + "id": "0x7f0da6bcd108", "kind": "IfStmt", "range": { "begin": { - "offset": 26752, - "line": 864, + "offset": 27865, + "line": 907, "col": 5, "tokLen": 2 }, "end": { - "offset": 26792, - "line": 865, + "offset": 27905, + "line": 908, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38ad8a0", + "id": "0x7f0da6bcd058", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26756, - "line": 864, + "offset": 27869, + "line": 907, "col": 9, "tokLen": 1 }, "end": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 } @@ -33570,67 +34235,67 @@ "adl": true, "inner": [ { - "id": "0x38ad888", + "id": "0x7f0da6bcd040", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 }, "end": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ad868", + "id": "0x7f0da6bcd020", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 }, "end": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38acb00", + "id": "0x7f0da6bcbdf8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26756, + "offset": 27869, "col": 9, "tokLen": 1 }, "end": { - "offset": 26756, + "offset": 27869, "col": 9, "tokLen": 1 } @@ -33638,11 +34303,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33651,16 +34316,16 @@ } }, { - "id": "0x38ad850", + "id": "0x7f0da6bcd008", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 }, "end": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 } @@ -33672,16 +34337,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38acb20", + "id": "0x7f0da6bcbe18", "kind": "StringLiteral", "range": { "begin": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 }, "end": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 } @@ -33697,33 +34362,33 @@ ] }, { - "id": "0x38ad940", + "id": "0x7f0da6bcd0f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26779, - "line": 865, + "offset": 27892, + "line": 908, "col": 9, "tokLen": 6 }, "end": { - "offset": 26792, + "offset": 27905, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38ad910", + "id": "0x7f0da6bcd0c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26786, + "offset": 27899, "col": 16, "tokLen": 4 }, "end": { - "offset": 26792, + "offset": 27905, "col": 22, "tokLen": 6 } @@ -33733,7 +34398,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58330", + "id": "0x2cdbe370", "kind": "EnumConstantDecl", "name": "RXB_LB", "type": { @@ -33746,35 +34411,35 @@ ] }, { - "id": "0x38ae7c0", + "id": "0x7f0da6bce438", "kind": "IfStmt", "range": { "begin": { - "offset": 26804, - "line": 866, + "offset": 27917, + "line": 909, "col": 5, "tokLen": 2 }, "end": { - "offset": 26845, - "line": 867, + "offset": 27958, + "line": 910, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ae710", + "id": "0x7f0da6bce388", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26808, - "line": 866, + "offset": 27921, + "line": 909, "col": 9, "tokLen": 1 }, "end": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 } @@ -33786,67 +34451,67 @@ "adl": true, "inner": [ { - "id": "0x38ae6f8", + "id": "0x7f0da6bce370", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 }, "end": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ae6d8", + "id": "0x7f0da6bce350", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 }, "end": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ad970", + "id": "0x7f0da6bcd128", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26808, + "offset": 27921, "col": 9, "tokLen": 1 }, "end": { - "offset": 26808, + "offset": 27921, "col": 9, "tokLen": 1 } @@ -33854,11 +34519,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33867,16 +34532,16 @@ } }, { - "id": "0x38ae6c0", + "id": "0x7f0da6bce338", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 }, "end": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 } @@ -33888,16 +34553,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ad990", + "id": "0x7f0da6bcd148", "kind": "StringLiteral", "range": { "begin": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 }, "end": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 } @@ -33913,33 +34578,33 @@ ] }, { - "id": "0x38ae7b0", + "id": "0x7f0da6bce428", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26832, - "line": 867, + "offset": 27945, + "line": 910, "col": 9, "tokLen": 6 }, "end": { - "offset": 26845, + "offset": 27958, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ae780", + "id": "0x7f0da6bce3f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26839, + "offset": 27952, "col": 16, "tokLen": 4 }, "end": { - "offset": 26845, + "offset": 27958, "col": 22, "tokLen": 7 } @@ -33949,7 +34614,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58380", + "id": "0x2cdbe3c0", "kind": "EnumConstantDecl", "name": "VCMP_RR", "type": { @@ -33962,35 +34627,35 @@ ] }, { - "id": "0x38af630", + "id": "0x7f0da6bcf768", "kind": "IfStmt", "range": { "begin": { - "offset": 26858, - "line": 868, + "offset": 27971, + "line": 911, "col": 5, "tokLen": 2 }, "end": { - "offset": 26895, - "line": 869, + "offset": 28008, + "line": 912, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38af580", + "id": "0x7f0da6bcf6b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26862, - "line": 868, + "offset": 27975, + "line": 911, "col": 9, "tokLen": 1 }, "end": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 } @@ -34002,67 +34667,67 @@ "adl": true, "inner": [ { - "id": "0x38af568", + "id": "0x7f0da6bcf6a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 }, "end": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38af548", + "id": "0x7f0da6bcf680", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 }, "end": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ae7e0", + "id": "0x7f0da6bce458", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26862, + "offset": 27975, "col": 9, "tokLen": 1 }, "end": { - "offset": 26862, + "offset": 27975, "col": 9, "tokLen": 1 } @@ -34070,11 +34735,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34083,16 +34748,16 @@ } }, { - "id": "0x38af530", + "id": "0x7f0da6bcf668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 }, "end": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 } @@ -34104,16 +34769,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ae800", + "id": "0x7f0da6bce478", "kind": "StringLiteral", "range": { "begin": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 }, "end": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 } @@ -34129,33 +34794,33 @@ ] }, { - "id": "0x38af620", + "id": "0x7f0da6bcf758", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26882, - "line": 869, + "offset": 27995, + "line": 912, "col": 9, "tokLen": 6 }, "end": { - "offset": 26895, + "offset": 28008, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38af5f0", + "id": "0x7f0da6bcf728", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26889, + "offset": 28002, "col": 16, "tokLen": 4 }, "end": { - "offset": 26895, + "offset": 28008, "col": 22, "tokLen": 3 } @@ -34165,7 +34830,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f583d0", + "id": "0x2cdbe410", "kind": "EnumConstantDecl", "name": "VCP", "type": { @@ -34178,35 +34843,35 @@ ] }, { - "id": "0x38b04a0", + "id": "0x7f0da6bd0a98", "kind": "IfStmt", "range": { "begin": { - "offset": 26904, - "line": 870, + "offset": 28017, + "line": 913, "col": 5, "tokLen": 2 }, "end": { - "offset": 26941, - "line": 871, + "offset": 28054, + "line": 914, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38b03f0", + "id": "0x7f0da6bd09e8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26908, - "line": 870, + "offset": 28021, + "line": 913, "col": 9, "tokLen": 1 }, "end": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 } @@ -34218,67 +34883,67 @@ "adl": true, "inner": [ { - "id": "0x38b03d8", + "id": "0x7f0da6bd09d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 }, "end": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b03b8", + "id": "0x7f0da6bd09b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 }, "end": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38af650", + "id": "0x7f0da6bcf788", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26908, + "offset": 28021, "col": 9, "tokLen": 1 }, "end": { - "offset": 26908, + "offset": 28021, "col": 9, "tokLen": 1 } @@ -34286,11 +34951,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34299,16 +34964,16 @@ } }, { - "id": "0x38b03a0", + "id": "0x7f0da6bd0998", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 }, "end": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 } @@ -34320,16 +34985,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38af670", + "id": "0x7f0da6bcf7a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 }, "end": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 } @@ -34345,33 +35010,33 @@ ] }, { - "id": "0x38b0490", + "id": "0x7f0da6bd0a88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26928, - "line": 871, + "offset": 28041, + "line": 914, "col": 9, "tokLen": 6 }, "end": { - "offset": 26941, + "offset": 28054, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38b0460", + "id": "0x7f0da6bd0a58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26935, + "offset": 28048, "col": 16, "tokLen": 4 }, "end": { - "offset": 26941, + "offset": 28054, "col": 22, "tokLen": 3 } @@ -34381,7 +35046,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58420", + "id": "0x2cdbe460", "kind": "EnumConstantDecl", "name": "VCN", "type": { @@ -34394,35 +35059,35 @@ ] }, { - "id": "0x38b1310", + "id": "0x7f0da6bd1dc8", "kind": "IfStmt", "range": { "begin": { - "offset": 26950, - "line": 872, + "offset": 28063, + "line": 915, "col": 5, "tokLen": 2 }, "end": { - "offset": 26992, - "line": 873, + "offset": 28105, + "line": 916, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b1260", + "id": "0x7f0da6bd1d18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26954, - "line": 872, + "offset": 28067, + "line": 915, "col": 9, "tokLen": 1 }, "end": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 } @@ -34434,67 +35099,67 @@ "adl": true, "inner": [ { - "id": "0x38b1248", + "id": "0x7f0da6bd1d00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 }, "end": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b1228", + "id": "0x7f0da6bd1ce0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 }, "end": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b04c0", + "id": "0x7f0da6bd0ab8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26954, + "offset": 28067, "col": 9, "tokLen": 1 }, "end": { - "offset": 26954, + "offset": 28067, "col": 9, "tokLen": 1 } @@ -34502,11 +35167,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34515,16 +35180,16 @@ } }, { - "id": "0x38b1210", + "id": "0x7f0da6bd1cc8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 }, "end": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 } @@ -34536,16 +35201,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b04e0", + "id": "0x7f0da6bd0ad8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 }, "end": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 } @@ -34561,33 +35226,33 @@ ] }, { - "id": "0x38b1300", + "id": "0x7f0da6bd1db8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26979, - "line": 873, + "offset": 28092, + "line": 916, "col": 9, "tokLen": 6 }, "end": { - "offset": 26992, + "offset": 28105, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b12d0", + "id": "0x7f0da6bd1d88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26986, + "offset": 28099, "col": 16, "tokLen": 4 }, "end": { - "offset": 26992, + "offset": 28105, "col": 22, "tokLen": 8 } @@ -34597,7 +35262,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58470", + "id": "0x2cdbe4b0", "kind": "EnumConstantDecl", "name": "VISHAPER", "type": { @@ -34610,35 +35275,35 @@ ] }, { - "id": "0x38b2190", + "id": "0x7f0da6bd30f8", "kind": "IfStmt", "range": { "begin": { - "offset": 27006, - "line": 874, + "offset": 28119, + "line": 917, "col": 5, "tokLen": 2 }, "end": { - "offset": 27050, - "line": 875, + "offset": 28163, + "line": 918, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38b20e0", + "id": "0x7f0da6bd3048", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27010, - "line": 874, + "offset": 28123, + "line": 917, "col": 9, "tokLen": 1 }, "end": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 } @@ -34650,67 +35315,67 @@ "adl": true, "inner": [ { - "id": "0x38b20c8", + "id": "0x7f0da6bd3030", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 }, "end": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b20a8", + "id": "0x7f0da6bd3010", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 }, "end": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b1330", + "id": "0x7f0da6bd1de8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27010, + "offset": 28123, "col": 9, "tokLen": 1 }, "end": { - "offset": 27010, + "offset": 28123, "col": 9, "tokLen": 1 } @@ -34718,11 +35383,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34731,16 +35396,16 @@ } }, { - "id": "0x38b2090", + "id": "0x7f0da6bd2ff8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 }, "end": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 } @@ -34752,16 +35417,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b1350", + "id": "0x7f0da6bd1e08", "kind": "StringLiteral", "range": { "begin": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 }, "end": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 } @@ -34777,33 +35442,33 @@ ] }, { - "id": "0x38b2180", + "id": "0x7f0da6bd30e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27037, - "line": 875, + "offset": 28150, + "line": 918, "col": 9, "tokLen": 6 }, "end": { - "offset": 27050, + "offset": 28163, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38b2150", + "id": "0x7f0da6bd30b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27044, + "offset": 28157, "col": 16, "tokLen": 4 }, "end": { - "offset": 27050, + "offset": 28163, "col": 22, "tokLen": 10 } @@ -34813,7 +35478,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f584c0", + "id": "0x2cdbe500", "kind": "EnumConstantDecl", "name": "VTHRESHOLD", "type": { @@ -34826,35 +35491,35 @@ ] }, { - "id": "0x38b3000", + "id": "0x7f0da6bd4428", "kind": "IfStmt", "range": { "begin": { - "offset": 27066, - "line": 876, + "offset": 28179, + "line": 919, "col": 5, "tokLen": 2 }, "end": { - "offset": 27107, - "line": 877, + "offset": 28220, + "line": 920, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b2f50", + "id": "0x7f0da6bd4378", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27070, - "line": 876, + "offset": 28183, + "line": 919, "col": 9, "tokLen": 1 }, "end": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 } @@ -34866,67 +35531,67 @@ "adl": true, "inner": [ { - "id": "0x38b2f38", + "id": "0x7f0da6bd4360", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 }, "end": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b2f18", + "id": "0x7f0da6bd4340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 }, "end": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b21b0", + "id": "0x7f0da6bd3118", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27070, + "offset": 28183, "col": 9, "tokLen": 1 }, "end": { - "offset": 27070, + "offset": 28183, "col": 9, "tokLen": 1 } @@ -34934,11 +35599,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34947,16 +35612,16 @@ } }, { - "id": "0x38b2f00", + "id": "0x7f0da6bd4328", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 }, "end": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 } @@ -34968,16 +35633,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b21d0", + "id": "0x7f0da6bd3138", "kind": "StringLiteral", "range": { "begin": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 }, "end": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 } @@ -34993,33 +35658,33 @@ ] }, { - "id": "0x38b2ff0", + "id": "0x7f0da6bd4418", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27094, - "line": 877, + "offset": 28207, + "line": 920, "col": 9, "tokLen": 6 }, "end": { - "offset": 27107, + "offset": 28220, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b2fc0", + "id": "0x7f0da6bd43e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27101, + "offset": 28214, "col": 16, "tokLen": 4 }, "end": { - "offset": 27107, + "offset": 28220, "col": 22, "tokLen": 7 } @@ -35029,7 +35694,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58560", + "id": "0x2cdbe5a0", "kind": "EnumConstantDecl", "name": "VREF_DS", "type": { @@ -35042,35 +35707,35 @@ ] }, { - "id": "0x38b3e80", + "id": "0x7f0da6bd5758", "kind": "IfStmt", "range": { "begin": { - "offset": 27120, - "line": 878, + "offset": 28233, + "line": 921, "col": 5, "tokLen": 2 }, "end": { - "offset": 27163, - "line": 879, + "offset": 28276, + "line": 922, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b3dd0", + "id": "0x7f0da6bd56a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27124, - "line": 878, + "offset": 28237, + "line": 921, "col": 9, "tokLen": 1 }, "end": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 } @@ -35082,67 +35747,67 @@ "adl": true, "inner": [ { - "id": "0x38b3db8", + "id": "0x7f0da6bd5690", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 }, "end": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b3d98", + "id": "0x7f0da6bd5670", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 }, "end": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b3020", + "id": "0x7f0da6bd4448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27124, + "offset": 28237, "col": 9, "tokLen": 1 }, "end": { - "offset": 27124, + "offset": 28237, "col": 9, "tokLen": 1 } @@ -35150,11 +35815,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35163,16 +35828,16 @@ } }, { - "id": "0x38b3d80", + "id": "0x7f0da6bd5658", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 }, "end": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 } @@ -35184,16 +35849,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b3040", + "id": "0x7f0da6bd4468", "kind": "StringLiteral", "range": { "begin": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 }, "end": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 } @@ -35209,33 +35874,33 @@ ] }, { - "id": "0x38b3e70", + "id": "0x7f0da6bd5748", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27150, - "line": 879, + "offset": 28263, + "line": 922, "col": 9, "tokLen": 6 }, "end": { - "offset": 27163, + "offset": 28276, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b3e40", + "id": "0x7f0da6bd5718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27157, + "offset": 28270, "col": 16, "tokLen": 4 }, "end": { - "offset": 27163, + "offset": 28276, "col": 22, "tokLen": 9 } @@ -35245,7 +35910,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f585b0", + "id": "0x2cdbe5f0", "kind": "EnumConstantDecl", "name": "VCASCN_PB", "type": { @@ -35258,35 +35923,35 @@ ] }, { - "id": "0x38b4d00", + "id": "0x7f0da6bd6a88", "kind": "IfStmt", "range": { "begin": { - "offset": 27178, - "line": 880, + "offset": 28291, + "line": 923, "col": 5, "tokLen": 2 }, "end": { - "offset": 27221, - "line": 881, + "offset": 28334, + "line": 924, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b4c50", + "id": "0x7f0da6bd69d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27182, - "line": 880, + "offset": 28295, + "line": 923, "col": 9, "tokLen": 1 }, "end": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 } @@ -35298,67 +35963,67 @@ "adl": true, "inner": [ { - "id": "0x38b4c38", + "id": "0x7f0da6bd69c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 }, "end": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b4c18", + "id": "0x7f0da6bd69a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 }, "end": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b3ea0", + "id": "0x7f0da6bd5778", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27182, + "offset": 28295, "col": 9, "tokLen": 1 }, "end": { - "offset": 27182, + "offset": 28295, "col": 9, "tokLen": 1 } @@ -35366,11 +36031,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35379,16 +36044,16 @@ } }, { - "id": "0x38b4c00", + "id": "0x7f0da6bd6988", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 }, "end": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 } @@ -35400,16 +36065,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b3ec0", + "id": "0x7f0da6bd5798", "kind": "StringLiteral", "range": { "begin": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 }, "end": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 } @@ -35425,33 +36090,33 @@ ] }, { - "id": "0x38b4cf0", + "id": "0x7f0da6bd6a78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27208, - "line": 881, + "offset": 28321, + "line": 924, "col": 9, "tokLen": 6 }, "end": { - "offset": 27221, + "offset": 28334, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b4cc0", + "id": "0x7f0da6bd6a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27215, + "offset": 28328, "col": 16, "tokLen": 4 }, "end": { - "offset": 27221, + "offset": 28334, "col": 22, "tokLen": 9 } @@ -35461,7 +36126,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58600", + "id": "0x2cdbe640", "kind": "EnumConstantDecl", "name": "VCASCP_PB", "type": { @@ -35474,35 +36139,35 @@ ] }, { - "id": "0x38b5b90", + "id": "0x7f0da6bd7db8", "kind": "IfStmt", "range": { "begin": { - "offset": 27236, - "line": 882, + "offset": 28349, + "line": 925, "col": 5, "tokLen": 2 }, "end": { - "offset": 27277, - "line": 883, + "offset": 28390, + "line": 926, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b5ae0", + "id": "0x7f0da6bd7d08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27240, - "line": 882, + "offset": 28353, + "line": 925, "col": 9, "tokLen": 1 }, "end": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 } @@ -35514,67 +36179,67 @@ "adl": true, "inner": [ { - "id": "0x38b5ac8", + "id": "0x7f0da6bd7cf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 }, "end": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b5aa8", + "id": "0x7f0da6bd7cd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 }, "end": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b4d20", + "id": "0x7f0da6bd6aa8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27240, + "offset": 28353, "col": 9, "tokLen": 1 }, "end": { - "offset": 27240, + "offset": 28353, "col": 9, "tokLen": 1 } @@ -35582,11 +36247,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35595,16 +36260,16 @@ } }, { - "id": "0x38b5a90", + "id": "0x7f0da6bd7cb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 }, "end": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 } @@ -35616,16 +36281,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b4d40", + "id": "0x7f0da6bd6ac8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 }, "end": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 } @@ -35641,33 +36306,33 @@ ] }, { - "id": "0x38b5b80", + "id": "0x7f0da6bd7da8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27264, - "line": 883, + "offset": 28377, + "line": 926, "col": 9, "tokLen": 6 }, "end": { - "offset": 27277, + "offset": 28390, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b5b50", + "id": "0x7f0da6bd7d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27271, + "offset": 28384, "col": 16, "tokLen": 4 }, "end": { - "offset": 27277, + "offset": 28390, "col": 22, "tokLen": 7 } @@ -35677,7 +36342,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58650", + "id": "0x2cdbe690", "kind": "EnumConstantDecl", "name": "VOUT_CM", "type": { @@ -35690,35 +36355,35 @@ ] }, { - "id": "0x38b6a10", + "id": "0x7f0da6bd90e8", "kind": "IfStmt", "range": { "begin": { - "offset": 27290, - "line": 884, + "offset": 28403, + "line": 927, "col": 5, "tokLen": 2 }, "end": { - "offset": 27333, - "line": 885, + "offset": 28446, + "line": 928, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b6960", + "id": "0x7f0da6bd9038", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27294, - "line": 884, + "offset": 28407, + "line": 927, "col": 9, "tokLen": 1 }, "end": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 } @@ -35730,67 +36395,67 @@ "adl": true, "inner": [ { - "id": "0x38b6948", + "id": "0x7f0da6bd9020", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 }, "end": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b6928", + "id": "0x7f0da6bd9000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 }, "end": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b5bb0", + "id": "0x7f0da6bd7dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27294, + "offset": 28407, "col": 9, "tokLen": 1 }, "end": { - "offset": 27294, + "offset": 28407, "col": 9, "tokLen": 1 } @@ -35798,11 +36463,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35811,16 +36476,16 @@ } }, { - "id": "0x38b6910", + "id": "0x7f0da6bd8fe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 }, "end": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 } @@ -35832,16 +36497,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b5bd0", + "id": "0x7f0da6bd7df8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 }, "end": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 } @@ -35857,33 +36522,33 @@ ] }, { - "id": "0x38b6a00", + "id": "0x7f0da6bd90d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27320, - "line": 885, + "offset": 28433, + "line": 928, "col": 9, "tokLen": 6 }, "end": { - "offset": 27333, + "offset": 28446, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b69d0", + "id": "0x7f0da6bd90a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27327, + "offset": 28440, "col": 16, "tokLen": 4 }, "end": { - "offset": 27333, + "offset": 28446, "col": 22, "tokLen": 9 } @@ -35893,7 +36558,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f586a0", + "id": "0x2cdbe6e0", "kind": "EnumConstantDecl", "name": "VCASC_OUT", "type": { @@ -35906,35 +36571,35 @@ ] }, { - "id": "0x38b7880", + "id": "0x7f0da6bda418", "kind": "IfStmt", "range": { "begin": { - "offset": 27348, - "line": 886, + "offset": 28461, + "line": 929, "col": 5, "tokLen": 2 }, "end": { - "offset": 27388, - "line": 887, + "offset": 28501, + "line": 930, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38b77d0", + "id": "0x7f0da6bda368", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27352, - "line": 886, + "offset": 28465, + "line": 929, "col": 9, "tokLen": 1 }, "end": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 } @@ -35946,67 +36611,67 @@ "adl": true, "inner": [ { - "id": "0x38b77b8", + "id": "0x7f0da6bda350", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 }, "end": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b7798", + "id": "0x7f0da6bda330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 }, "end": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b6a30", + "id": "0x7f0da6bd9108", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27352, + "offset": 28465, "col": 9, "tokLen": 1 }, "end": { - "offset": 27352, + "offset": 28465, "col": 9, "tokLen": 1 } @@ -36014,11 +36679,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36027,16 +36692,16 @@ } }, { - "id": "0x38b7780", + "id": "0x7f0da6bda318", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 }, "end": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 } @@ -36048,16 +36713,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b6a50", + "id": "0x7f0da6bd9128", "kind": "StringLiteral", "range": { "begin": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 }, "end": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 } @@ -36073,33 +36738,33 @@ ] }, { - "id": "0x38b7870", + "id": "0x7f0da6bda408", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27375, - "line": 887, + "offset": 28488, + "line": 930, "col": 9, "tokLen": 6 }, "end": { - "offset": 27388, + "offset": 28501, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38b7840", + "id": "0x7f0da6bda3d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27382, + "offset": 28495, "col": 16, "tokLen": 4 }, "end": { - "offset": 27388, + "offset": 28501, "col": 22, "tokLen": 6 } @@ -36109,7 +36774,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f586f0", + "id": "0x2cdbe730", "kind": "EnumConstantDecl", "name": "VIN_CM", "type": { @@ -36122,35 +36787,35 @@ ] }, { - "id": "0x38b8700", + "id": "0x7f0da6bdb748", "kind": "IfStmt", "range": { "begin": { - "offset": 27400, - "line": 888, + "offset": 28513, + "line": 931, "col": 5, "tokLen": 2 }, "end": { - "offset": 27443, - "line": 889, + "offset": 28556, + "line": 932, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b8650", + "id": "0x7f0da6bdb698", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27404, - "line": 888, + "offset": 28517, + "line": 931, "col": 9, "tokLen": 1 }, "end": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 } @@ -36162,67 +36827,67 @@ "adl": true, "inner": [ { - "id": "0x38b8638", + "id": "0x7f0da6bdb680", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 }, "end": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b8618", + "id": "0x7f0da6bdb660", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 }, "end": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b78a0", + "id": "0x7f0da6bda438", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27404, + "offset": 28517, "col": 9, "tokLen": 1 }, "end": { - "offset": 27404, + "offset": 28517, "col": 9, "tokLen": 1 } @@ -36230,11 +36895,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36243,16 +36908,16 @@ } }, { - "id": "0x38b8600", + "id": "0x7f0da6bdb648", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 }, "end": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 } @@ -36264,16 +36929,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b78c0", + "id": "0x7f0da6bda458", "kind": "StringLiteral", "range": { "begin": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 }, "end": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 } @@ -36289,33 +36954,33 @@ ] }, { - "id": "0x38b86f0", + "id": "0x7f0da6bdb738", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27430, - "line": 889, + "offset": 28543, + "line": 932, "col": 9, "tokLen": 6 }, "end": { - "offset": 27443, + "offset": 28556, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b86c0", + "id": "0x7f0da6bdb708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27437, + "offset": 28550, "col": 16, "tokLen": 4 }, "end": { - "offset": 27443, + "offset": 28556, "col": 22, "tokLen": 9 } @@ -36325,7 +36990,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58740", + "id": "0x2cdbe780", "kind": "EnumConstantDecl", "name": "VREF_COMP", "type": { @@ -36338,35 +37003,35 @@ ] }, { - "id": "0x38b9580", + "id": "0x7f0da6bdca78", "kind": "IfStmt", "range": { "begin": { - "offset": 27458, - "line": 890, + "offset": 28571, + "line": 933, "col": 5, "tokLen": 2 }, "end": { - "offset": 27501, - "line": 891, + "offset": 28614, + "line": 934, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b94d0", + "id": "0x7f0da6bdc9c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27462, - "line": 890, + "offset": 28575, + "line": 933, "col": 9, "tokLen": 1 }, "end": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 } @@ -36378,67 +37043,67 @@ "adl": true, "inner": [ { - "id": "0x38b94b8", + "id": "0x7f0da6bdc9b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 }, "end": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b9498", + "id": "0x7f0da6bdc990", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 }, "end": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b8720", + "id": "0x7f0da6bdb768", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27462, + "offset": 28575, "col": 9, "tokLen": 1 }, "end": { - "offset": 27462, + "offset": 28575, "col": 9, "tokLen": 1 } @@ -36446,11 +37111,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36459,16 +37124,16 @@ } }, { - "id": "0x38b9480", + "id": "0x7f0da6bdc978", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 }, "end": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 } @@ -36480,16 +37145,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b8740", + "id": "0x7f0da6bdb788", "kind": "StringLiteral", "range": { "begin": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 }, "end": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 } @@ -36505,33 +37170,33 @@ ] }, { - "id": "0x38b9570", + "id": "0x7f0da6bdca68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27488, - "line": 891, + "offset": 28601, + "line": 934, "col": 9, "tokLen": 6 }, "end": { - "offset": 27501, + "offset": 28614, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b9540", + "id": "0x7f0da6bdca38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27495, + "offset": 28608, "col": 16, "tokLen": 4 }, "end": { - "offset": 27501, + "offset": 28614, "col": 22, "tokLen": 8 } @@ -36541,7 +37206,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58790", + "id": "0x2cdbe7d0", "kind": "EnumConstantDecl", "name": "IB_TESTC", "type": { @@ -36554,35 +37219,35 @@ ] }, { - "id": "0x38ba3f0", + "id": "0x7f0da6bddda8", "kind": "IfStmt", "range": { "begin": { - "offset": 27515, - "line": 892, + "offset": 28628, + "line": 935, "col": 5, "tokLen": 2 }, "end": { - "offset": 27556, - "line": 893, + "offset": 28669, + "line": 936, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ba340", + "id": "0x7f0da6bddcf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27519, - "line": 892, + "offset": 28632, + "line": 935, "col": 9, "tokLen": 1 }, "end": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 } @@ -36594,67 +37259,67 @@ "adl": true, "inner": [ { - "id": "0x38ba328", + "id": "0x7f0da6bddce0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 }, "end": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ba308", + "id": "0x7f0da6bddcc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 }, "end": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b95a0", + "id": "0x7f0da6bdca98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27519, + "offset": 28632, "col": 9, "tokLen": 1 }, "end": { - "offset": 27519, + "offset": 28632, "col": 9, "tokLen": 1 } @@ -36662,11 +37327,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36675,16 +37340,16 @@ } }, { - "id": "0x38ba2f0", + "id": "0x7f0da6bddca8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 }, "end": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 } @@ -36696,16 +37361,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b95c0", + "id": "0x7f0da6bdcab8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 }, "end": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 } @@ -36721,33 +37386,33 @@ ] }, { - "id": "0x38ba3e0", + "id": "0x7f0da6bddd98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27543, - "line": 893, + "offset": 28656, + "line": 936, "col": 9, "tokLen": 6 }, "end": { - "offset": 27556, + "offset": 28669, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ba3b0", + "id": "0x7f0da6bddd68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27550, + "offset": 28663, "col": 16, "tokLen": 4 }, "end": { - "offset": 27556, + "offset": 28669, "col": 22, "tokLen": 7 } @@ -36757,7 +37422,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f587e0", + "id": "0x2cdbe820", "kind": "EnumConstantDecl", "name": "VB_COMP", "type": { @@ -36770,35 +37435,35 @@ ] }, { - "id": "0x38bb260", + "id": "0x7f0da6b9e0f8", "kind": "IfStmt", "range": { "begin": { - "offset": 27569, - "line": 894, + "offset": 28682, + "line": 937, "col": 5, "tokLen": 2 }, "end": { - "offset": 27611, - "line": 895, + "offset": 28724, + "line": 938, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38bb1b0", + "id": "0x7f0da6b9e048", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27573, - "line": 894, + "offset": 28686, + "line": 937, "col": 9, "tokLen": 1 }, "end": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 } @@ -36810,67 +37475,67 @@ "adl": true, "inner": [ { - "id": "0x38bb198", + "id": "0x7f0da6b9e030", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 }, "end": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bb178", + "id": "0x7f0da6b9e010", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 }, "end": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ba410", + "id": "0x7f0da6bdddc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27573, + "offset": 28686, "col": 9, "tokLen": 1 }, "end": { - "offset": 27573, + "offset": 28686, "col": 9, "tokLen": 1 } @@ -36878,11 +37543,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36891,16 +37556,16 @@ } }, { - "id": "0x38bb160", + "id": "0x7f0da6b9dff8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 }, "end": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 } @@ -36912,16 +37577,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ba430", + "id": "0x7f0da6bddde8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 }, "end": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 } @@ -36937,33 +37602,33 @@ ] }, { - "id": "0x38bb250", + "id": "0x7f0da6b9e0e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27598, - "line": 895, + "offset": 28711, + "line": 938, "col": 9, "tokLen": 6 }, "end": { - "offset": 27611, + "offset": 28724, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38bb220", + "id": "0x7f0da6b9e0b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27605, + "offset": 28718, "col": 16, "tokLen": 4 }, "end": { - "offset": 27611, + "offset": 28724, "col": 22, "tokLen": 8 } @@ -36973,7 +37638,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58830", + "id": "0x2cdbe870", "kind": "EnumConstantDecl", "name": "VDD_PROT", "type": { @@ -36986,35 +37651,35 @@ ] }, { - "id": "0x38bc0d0", + "id": "0x7f0da6b9f428", "kind": "IfStmt", "range": { "begin": { - "offset": 27625, - "line": 896, + "offset": 28738, + "line": 939, "col": 5, "tokLen": 2 }, "end": { - "offset": 27666, - "line": 897, + "offset": 28779, + "line": 940, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38bc020", + "id": "0x7f0da6b9f378", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27629, - "line": 896, + "offset": 28742, + "line": 939, "col": 9, "tokLen": 1 }, "end": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 } @@ -37026,67 +37691,67 @@ "adl": true, "inner": [ { - "id": "0x38bc008", + "id": "0x7f0da6b9f360", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 }, "end": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bbfe8", + "id": "0x7f0da6b9f340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 }, "end": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bb280", + "id": "0x7f0da6b9e118", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27629, + "offset": 28742, "col": 9, "tokLen": 1 }, "end": { - "offset": 27629, + "offset": 28742, "col": 9, "tokLen": 1 } @@ -37094,11 +37759,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37107,16 +37772,16 @@ } }, { - "id": "0x38bbfd0", + "id": "0x7f0da6b9f328", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 }, "end": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 } @@ -37128,16 +37793,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bb2a0", + "id": "0x7f0da6b9e138", "kind": "StringLiteral", "range": { "begin": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 }, "end": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 } @@ -37153,33 +37818,33 @@ ] }, { - "id": "0x38bc0c0", + "id": "0x7f0da6b9f418", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27653, - "line": 897, + "offset": 28766, + "line": 940, "col": 9, "tokLen": 6 }, "end": { - "offset": 27666, + "offset": 28779, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38bc090", + "id": "0x7f0da6b9f3e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27660, + "offset": 28773, "col": 16, "tokLen": 4 }, "end": { - "offset": 27666, + "offset": 28779, "col": 22, "tokLen": 7 } @@ -37189,7 +37854,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58880", + "id": "0x2cdbe8c0", "kind": "EnumConstantDecl", "name": "VIN_COM", "type": { @@ -37202,35 +37867,35 @@ ] }, { - "id": "0x38bcf50", + "id": "0x7f0da6ba0758", "kind": "IfStmt", "range": { "begin": { - "offset": 27679, - "line": 898, + "offset": 28792, + "line": 941, "col": 5, "tokLen": 2 }, "end": { - "offset": 27723, - "line": 899, + "offset": 28836, + "line": 942, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bcea0", + "id": "0x7f0da6ba06a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27683, - "line": 898, + "offset": 28796, + "line": 941, "col": 9, "tokLen": 1 }, "end": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 } @@ -37242,67 +37907,67 @@ "adl": true, "inner": [ { - "id": "0x38bce88", + "id": "0x7f0da6ba0690", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 }, "end": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bce68", + "id": "0x7f0da6ba0670", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 }, "end": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bc0f0", + "id": "0x7f0da6b9f448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27683, + "offset": 28796, "col": 9, "tokLen": 1 }, "end": { - "offset": 27683, + "offset": 28796, "col": 9, "tokLen": 1 } @@ -37310,11 +37975,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37323,16 +37988,16 @@ } }, { - "id": "0x38bce50", + "id": "0x7f0da6ba0658", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 }, "end": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 } @@ -37344,16 +38009,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bc110", + "id": "0x7f0da6b9f468", "kind": "StringLiteral", "range": { "begin": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 }, "end": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 } @@ -37369,33 +38034,33 @@ ] }, { - "id": "0x38bcf40", + "id": "0x7f0da6ba0748", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27710, - "line": 899, + "offset": 28823, + "line": 942, "col": 9, "tokLen": 6 }, "end": { - "offset": 27723, + "offset": 28836, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bcf10", + "id": "0x7f0da6ba0718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27717, + "offset": 28830, "col": 16, "tokLen": 4 }, "end": { - "offset": 27723, + "offset": 28836, "col": 22, "tokLen": 10 } @@ -37405,7 +38070,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f588d0", + "id": "0x2cdbe910", "kind": "EnumConstantDecl", "name": "VREF_PRECH", "type": { @@ -37418,35 +38083,35 @@ ] }, { - "id": "0x38bddd0", + "id": "0x7f0da6ba1a88", "kind": "IfStmt", "range": { "begin": { - "offset": 27739, - "line": 900, + "offset": 28852, + "line": 943, "col": 5, "tokLen": 2 }, "end": { - "offset": 27782, - "line": 901, + "offset": 28895, + "line": 944, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38bdd20", + "id": "0x7f0da6ba19d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27743, - "line": 900, + "offset": 28856, + "line": 943, "col": 9, "tokLen": 1 }, "end": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 } @@ -37458,67 +38123,67 @@ "adl": true, "inner": [ { - "id": "0x38bdd08", + "id": "0x7f0da6ba19c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 }, "end": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bdce8", + "id": "0x7f0da6ba19a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 }, "end": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bcf70", + "id": "0x7f0da6ba0778", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27743, + "offset": 28856, "col": 9, "tokLen": 1 }, "end": { - "offset": 27743, + "offset": 28856, "col": 9, "tokLen": 1 } @@ -37526,11 +38191,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37539,16 +38204,16 @@ } }, { - "id": "0x38bdcd0", + "id": "0x7f0da6ba1988", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 }, "end": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 } @@ -37560,16 +38225,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bcf90", + "id": "0x7f0da6ba0798", "kind": "StringLiteral", "range": { "begin": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 }, "end": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 } @@ -37585,33 +38250,33 @@ ] }, { - "id": "0x38bddc0", + "id": "0x7f0da6ba1a78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27769, - "line": 901, + "offset": 28882, + "line": 944, "col": 9, "tokLen": 6 }, "end": { - "offset": 27782, + "offset": 28895, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38bdd90", + "id": "0x7f0da6ba1a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27776, + "offset": 28889, "col": 16, "tokLen": 4 }, "end": { - "offset": 27782, + "offset": 28895, "col": 22, "tokLen": 9 } @@ -37621,7 +38286,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58920", + "id": "0x2cdbe960", "kind": "EnumConstantDecl", "name": "VB_PIXBUF", "type": { @@ -37634,35 +38299,35 @@ ] }, { - "id": "0x38bec40", + "id": "0x7f0da6ba2db8", "kind": "IfStmt", "range": { "begin": { - "offset": 27797, - "line": 902, + "offset": 28910, + "line": 945, "col": 5, "tokLen": 2 }, "end": { - "offset": 27836, - "line": 903, + "offset": 28949, + "line": 946, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38beb90", + "id": "0x7f0da6ba2d08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27801, - "line": 902, + "offset": 28914, + "line": 945, "col": 9, "tokLen": 1 }, "end": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 } @@ -37674,67 +38339,67 @@ "adl": true, "inner": [ { - "id": "0x38beb78", + "id": "0x7f0da6ba2cf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 }, "end": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38beb58", + "id": "0x7f0da6ba2cd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 }, "end": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bddf0", + "id": "0x7f0da6ba1aa8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27801, + "offset": 28914, "col": 9, "tokLen": 1 }, "end": { - "offset": 27801, + "offset": 28914, "col": 9, "tokLen": 1 } @@ -37742,11 +38407,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37755,16 +38420,16 @@ } }, { - "id": "0x38beb40", + "id": "0x7f0da6ba2cb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 }, "end": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 } @@ -37776,16 +38441,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bde10", + "id": "0x7f0da6ba1ac8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 }, "end": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 } @@ -37801,33 +38466,33 @@ ] }, { - "id": "0x38bec30", + "id": "0x7f0da6ba2da8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27823, - "line": 903, + "offset": 28936, + "line": 946, "col": 9, "tokLen": 6 }, "end": { - "offset": 27836, + "offset": 28949, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38bec00", + "id": "0x7f0da6ba2d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27830, + "offset": 28943, "col": 16, "tokLen": 4 }, "end": { - "offset": 27836, + "offset": 28949, "col": 22, "tokLen": 5 } @@ -37837,7 +38502,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58970", + "id": "0x2cdbe9b0", "kind": "EnumConstantDecl", "name": "VB_DS", "type": { @@ -37850,35 +38515,35 @@ ] }, { - "id": "0x38bfac0", + "id": "0x7f0da6ba40e8", "kind": "IfStmt", "range": { "begin": { - "offset": 27847, - "line": 904, + "offset": 28960, + "line": 947, "col": 5, "tokLen": 2 }, "end": { - "offset": 27891, - "line": 905, + "offset": 29004, + "line": 948, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bfa10", + "id": "0x7f0da6ba4038", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27851, - "line": 904, + "offset": 28964, + "line": 947, "col": 9, "tokLen": 1 }, "end": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 } @@ -37890,67 +38555,67 @@ "adl": true, "inner": [ { - "id": "0x38bf9f8", + "id": "0x7f0da6ba4020", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 }, "end": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bf9d8", + "id": "0x7f0da6ba4000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 }, "end": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bec60", + "id": "0x7f0da6ba2dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27851, + "offset": 28964, "col": 9, "tokLen": 1 }, "end": { - "offset": 27851, + "offset": 28964, "col": 9, "tokLen": 1 } @@ -37958,11 +38623,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37971,16 +38636,16 @@ } }, { - "id": "0x38bf9c0", + "id": "0x7f0da6ba3fe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 }, "end": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 } @@ -37992,16 +38657,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bec80", + "id": "0x7f0da6ba2df8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 }, "end": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 } @@ -38017,33 +38682,33 @@ ] }, { - "id": "0x38bfab0", + "id": "0x7f0da6ba40d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27878, - "line": 905, + "offset": 28991, + "line": 948, "col": 9, "tokLen": 6 }, "end": { - "offset": 27891, + "offset": 29004, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bfa80", + "id": "0x7f0da6ba40a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27885, + "offset": 28998, "col": 16, "tokLen": 4 }, "end": { - "offset": 27891, + "offset": 29004, "col": 22, "tokLen": 10 } @@ -38053,7 +38718,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f589c0", + "id": "0x2cdbea00", "kind": "EnumConstantDecl", "name": "VREF_H_ADC", "type": { @@ -38066,35 +38731,35 @@ ] }, { - "id": "0x38c0940", + "id": "0x7f0da6ba5418", "kind": "IfStmt", "range": { "begin": { - "offset": 27907, - "line": 906, + "offset": 29020, + "line": 949, "col": 5, "tokLen": 2 }, "end": { - "offset": 27951, - "line": 907, + "offset": 29064, + "line": 950, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c0890", + "id": "0x7f0da6ba5368", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27911, - "line": 906, + "offset": 29024, + "line": 949, "col": 9, "tokLen": 1 }, "end": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 } @@ -38106,67 +38771,67 @@ "adl": true, "inner": [ { - "id": "0x38c0878", + "id": "0x7f0da6ba5350", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 }, "end": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c0858", + "id": "0x7f0da6ba5330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 }, "end": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bfae0", + "id": "0x7f0da6ba4108", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27911, + "offset": 29024, "col": 9, "tokLen": 1 }, "end": { - "offset": 27911, + "offset": 29024, "col": 9, "tokLen": 1 } @@ -38174,11 +38839,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38187,16 +38852,16 @@ } }, { - "id": "0x38c0840", + "id": "0x7f0da6ba5318", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 }, "end": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 } @@ -38208,16 +38873,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bfb00", + "id": "0x7f0da6ba4128", "kind": "StringLiteral", "range": { "begin": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 }, "end": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 } @@ -38233,33 +38898,33 @@ ] }, { - "id": "0x38c0930", + "id": "0x7f0da6ba5408", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27938, - "line": 907, + "offset": 29051, + "line": 950, "col": 9, "tokLen": 6 }, "end": { - "offset": 27951, + "offset": 29064, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c0900", + "id": "0x7f0da6ba53d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27945, + "offset": 29058, "col": 16, "tokLen": 4 }, "end": { - "offset": 27951, + "offset": 29064, "col": 22, "tokLen": 10 } @@ -38269,7 +38934,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58a10", + "id": "0x2cdbea50", "kind": "EnumConstantDecl", "name": "VB_COMP_FE", "type": { @@ -38282,35 +38947,35 @@ ] }, { - "id": "0x38c17c0", + "id": "0x7f0da6ba6748", "kind": "IfStmt", "range": { "begin": { - "offset": 27967, - "line": 908, + "offset": 29080, + "line": 951, "col": 5, "tokLen": 2 }, "end": { - "offset": 28012, - "line": 909, + "offset": 29125, + "line": 952, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c1710", + "id": "0x7f0da6ba6698", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27971, - "line": 908, + "offset": 29084, + "line": 951, "col": 9, "tokLen": 1 }, "end": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 } @@ -38322,67 +38987,67 @@ "adl": true, "inner": [ { - "id": "0x38c16f8", + "id": "0x7f0da6ba6680", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 }, "end": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c16d8", + "id": "0x7f0da6ba6660", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 }, "end": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c0960", + "id": "0x7f0da6ba5438", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27971, + "offset": 29084, "col": 9, "tokLen": 1 }, "end": { - "offset": 27971, + "offset": 29084, "col": 9, "tokLen": 1 } @@ -38390,11 +39055,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38403,16 +39068,16 @@ } }, { - "id": "0x38c16c0", + "id": "0x7f0da6ba6648", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 }, "end": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 } @@ -38424,16 +39089,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c0980", + "id": "0x7f0da6ba5458", "kind": "StringLiteral", "range": { "begin": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 }, "end": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 } @@ -38449,33 +39114,33 @@ ] }, { - "id": "0x38c17b0", + "id": "0x7f0da6ba6738", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27999, - "line": 909, + "offset": 29112, + "line": 952, "col": 9, "tokLen": 6 }, "end": { - "offset": 28012, + "offset": 29125, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c1780", + "id": "0x7f0da6ba6708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28006, + "offset": 29119, "col": 16, "tokLen": 4 }, "end": { - "offset": 28012, + "offset": 29125, "col": 22, "tokLen": 11 } @@ -38485,7 +39150,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58a60", + "id": "0x2cdbeaa0", "kind": "EnumConstantDecl", "name": "VB_COMP_ADC", "type": { @@ -38498,35 +39163,35 @@ ] }, { - "id": "0x38c2630", + "id": "0x7f0da6ba7a78", "kind": "IfStmt", "range": { "begin": { - "offset": 28029, - "line": 910, + "offset": 29142, + "line": 953, "col": 5, "tokLen": 2 }, "end": { - "offset": 28071, - "line": 911, + "offset": 29184, + "line": 954, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c2580", + "id": "0x7f0da6ba79c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28033, - "line": 910, + "offset": 29146, + "line": 953, "col": 9, "tokLen": 1 }, "end": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 } @@ -38538,67 +39203,67 @@ "adl": true, "inner": [ { - "id": "0x38c2568", + "id": "0x7f0da6ba79b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 }, "end": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c2548", + "id": "0x7f0da6ba7990", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 }, "end": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c17e0", + "id": "0x7f0da6ba6768", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28033, + "offset": 29146, "col": 9, "tokLen": 1 }, "end": { - "offset": 28033, + "offset": 29146, "col": 9, "tokLen": 1 } @@ -38606,11 +39271,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38619,16 +39284,16 @@ } }, { - "id": "0x38c2530", + "id": "0x7f0da6ba7978", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 }, "end": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 } @@ -38640,16 +39305,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c1800", + "id": "0x7f0da6ba6788", "kind": "StringLiteral", "range": { "begin": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 }, "end": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 } @@ -38665,33 +39330,33 @@ ] }, { - "id": "0x38c2620", + "id": "0x7f0da6ba7a68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28058, - "line": 911, + "offset": 29171, + "line": 954, "col": 9, "tokLen": 6 }, "end": { - "offset": 28071, + "offset": 29184, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c25f0", + "id": "0x7f0da6ba7a38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28065, + "offset": 29178, "col": 16, "tokLen": 4 }, "end": { - "offset": 28071, + "offset": 29184, "col": 22, "tokLen": 8 } @@ -38701,7 +39366,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ab0", + "id": "0x2cdbeaf0", "kind": "EnumConstantDecl", "name": "VCOM_CDS", "type": { @@ -38714,35 +39379,35 @@ ] }, { - "id": "0x38c34b0", + "id": "0x7f0da6ba8da8", "kind": "IfStmt", "range": { "begin": { - "offset": 28085, - "line": 912, + "offset": 29198, + "line": 955, "col": 5, "tokLen": 2 }, "end": { - "offset": 28130, - "line": 913, + "offset": 29243, + "line": 956, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c3400", + "id": "0x7f0da6ba8cf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28089, - "line": 912, + "offset": 29202, + "line": 955, "col": 9, "tokLen": 1 }, "end": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 } @@ -38754,67 +39419,67 @@ "adl": true, "inner": [ { - "id": "0x38c33e8", + "id": "0x7f0da6ba8ce0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 }, "end": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c33c8", + "id": "0x7f0da6ba8cc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 }, "end": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c2650", + "id": "0x7f0da6ba7a98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28089, + "offset": 29202, "col": 9, "tokLen": 1 }, "end": { - "offset": 28089, + "offset": 29202, "col": 9, "tokLen": 1 } @@ -38822,11 +39487,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38835,16 +39500,16 @@ } }, { - "id": "0x38c33b0", + "id": "0x7f0da6ba8ca8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 }, "end": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 } @@ -38856,16 +39521,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c2670", + "id": "0x7f0da6ba7ab8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 }, "end": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 } @@ -38881,33 +39546,33 @@ ] }, { - "id": "0x38c34a0", + "id": "0x7f0da6ba8d98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28117, - "line": 913, + "offset": 29230, + "line": 956, "col": 9, "tokLen": 6 }, "end": { - "offset": 28130, + "offset": 29243, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c3470", + "id": "0x7f0da6ba8d68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28124, + "offset": 29237, "col": 16, "tokLen": 4 }, "end": { - "offset": 28130, + "offset": 29243, "col": 22, "tokLen": 11 } @@ -38917,7 +39582,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58b00", + "id": "0x2cdbeb40", "kind": "EnumConstantDecl", "name": "VREF_RSTORE", "type": { @@ -38930,35 +39595,35 @@ ] }, { - "id": "0x38c4330", + "id": "0x7f0da6baa0d8", "kind": "IfStmt", "range": { "begin": { - "offset": 28147, - "line": 914, + "offset": 29260, + "line": 957, "col": 5, "tokLen": 2 }, "end": { - "offset": 28191, - "line": 915, + "offset": 29304, + "line": 958, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c4280", + "id": "0x7f0da6baa028", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28151, - "line": 914, + "offset": 29264, + "line": 957, "col": 9, "tokLen": 1 }, "end": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 } @@ -38970,67 +39635,67 @@ "adl": true, "inner": [ { - "id": "0x38c4268", + "id": "0x7f0da6baa010", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 }, "end": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c4248", + "id": "0x7f0da6ba9ff0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 }, "end": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c34d0", + "id": "0x7f0da6ba8dc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28151, + "offset": 29264, "col": 9, "tokLen": 1 }, "end": { - "offset": 28151, + "offset": 29264, "col": 9, "tokLen": 1 } @@ -39038,11 +39703,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39051,16 +39716,16 @@ } }, { - "id": "0x38c4230", + "id": "0x7f0da6ba9fd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 }, "end": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 } @@ -39072,16 +39737,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c34f0", + "id": "0x7f0da6ba8de8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 }, "end": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 } @@ -39097,33 +39762,33 @@ ] }, { - "id": "0x38c4320", + "id": "0x7f0da6baa0c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28178, - "line": 915, + "offset": 29291, + "line": 958, "col": 9, "tokLen": 6 }, "end": { - "offset": 28191, + "offset": 29304, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c42f0", + "id": "0x7f0da6baa098", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28185, + "offset": 29298, "col": 16, "tokLen": 4 }, "end": { - "offset": 28191, + "offset": 29304, "col": 22, "tokLen": 10 } @@ -39133,7 +39798,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58b50", + "id": "0x2cdbeb90", "kind": "EnumConstantDecl", "name": "VB_OPA_1ST", "type": { @@ -39146,35 +39811,35 @@ ] }, { - "id": "0x38c51c8", + "id": "0x7f0da6bab408", "kind": "IfStmt", "range": { "begin": { - "offset": 28207, - "line": 916, + "offset": 29320, + "line": 959, "col": 5, "tokLen": 2 }, "end": { - "offset": 28253, - "line": 917, + "offset": 29366, + "line": 960, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x38c5100", + "id": "0x7f0da6bab358", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28211, - "line": 916, + "offset": 29324, + "line": 959, "col": 9, "tokLen": 1 }, "end": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 } @@ -39186,67 +39851,67 @@ "adl": true, "inner": [ { - "id": "0x38c50e8", + "id": "0x7f0da6bab340", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 }, "end": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c50c8", + "id": "0x7f0da6bab320", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 }, "end": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c4350", + "id": "0x7f0da6baa0f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28211, + "offset": 29324, "col": 9, "tokLen": 1 }, "end": { - "offset": 28211, + "offset": 29324, "col": 9, "tokLen": 1 } @@ -39254,11 +39919,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39267,16 +39932,16 @@ } }, { - "id": "0x38c50b0", + "id": "0x7f0da6bab308", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 }, "end": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 } @@ -39288,16 +39953,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c4370", + "id": "0x7f0da6baa118", "kind": "StringLiteral", "range": { "begin": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 }, "end": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 } @@ -39313,33 +39978,33 @@ ] }, { - "id": "0x38c51b8", + "id": "0x7f0da6bab3f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28240, - "line": 917, + "offset": 29353, + "line": 960, "col": 9, "tokLen": 6 }, "end": { - "offset": 28253, + "offset": 29366, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x38c5188", + "id": "0x7f0da6bab3c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28247, + "offset": 29360, "col": 16, "tokLen": 4 }, "end": { - "offset": 28253, + "offset": 29366, "col": 22, "tokLen": 12 } @@ -39349,7 +40014,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ba0", + "id": "0x2cdbebe0", "kind": "EnumConstantDecl", "name": "VREF_COMP_FE", "type": { @@ -39362,35 +40027,35 @@ ] }, { - "id": "0x38c6040", + "id": "0x7f0da6bac738", "kind": "IfStmt", "range": { "begin": { - "offset": 28271, - "line": 918, + "offset": 29384, + "line": 961, "col": 5, "tokLen": 2 }, "end": { - "offset": 28314, - "line": 919, + "offset": 29427, + "line": 962, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c5f90", + "id": "0x7f0da6bac688", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28275, - "line": 918, + "offset": 29388, + "line": 961, "col": 9, "tokLen": 1 }, "end": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 } @@ -39402,67 +40067,67 @@ "adl": true, "inner": [ { - "id": "0x38c5f78", + "id": "0x7f0da6bac670", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 }, "end": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c5f58", + "id": "0x7f0da6bac650", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 }, "end": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c51e8", + "id": "0x7f0da6bab428", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28275, + "offset": 29388, "col": 9, "tokLen": 1 }, "end": { - "offset": 28275, + "offset": 29388, "col": 9, "tokLen": 1 } @@ -39470,11 +40135,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39483,16 +40148,16 @@ } }, { - "id": "0x38c5f40", + "id": "0x7f0da6bac638", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 }, "end": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 } @@ -39504,16 +40169,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c5208", + "id": "0x7f0da6bab448", "kind": "StringLiteral", "range": { "begin": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 }, "end": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 } @@ -39529,33 +40194,33 @@ ] }, { - "id": "0x38c6030", + "id": "0x7f0da6bac728", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28301, - "line": 919, + "offset": 29414, + "line": 962, "col": 9, "tokLen": 6 }, "end": { - "offset": 28314, + "offset": 29427, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c6000", + "id": "0x7f0da6bac6f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28308, + "offset": 29421, "col": 16, "tokLen": 4 }, "end": { - "offset": 28314, + "offset": 29427, "col": 22, "tokLen": 9 } @@ -39565,7 +40230,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58bf0", + "id": "0x2cdbec30", "kind": "EnumConstantDecl", "name": "VCOM_ADC1", "type": { @@ -39578,35 +40243,35 @@ ] }, { - "id": "0x38c6ec0", + "id": "0x7f0da6bada68", "kind": "IfStmt", "range": { "begin": { - "offset": 28329, - "line": 920, + "offset": 29442, + "line": 963, "col": 5, "tokLen": 2 }, "end": { - "offset": 28373, - "line": 921, + "offset": 29486, + "line": 964, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c6e10", + "id": "0x7f0da6bad9b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28333, - "line": 920, + "offset": 29446, + "line": 963, "col": 9, "tokLen": 1 }, "end": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 } @@ -39618,67 +40283,67 @@ "adl": true, "inner": [ { - "id": "0x38c6df8", + "id": "0x7f0da6bad9a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 }, "end": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c6dd8", + "id": "0x7f0da6bad980", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 }, "end": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c6060", + "id": "0x7f0da6bac758", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28333, + "offset": 29446, "col": 9, "tokLen": 1 }, "end": { - "offset": 28333, + "offset": 29446, "col": 9, "tokLen": 1 } @@ -39686,11 +40351,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39699,16 +40364,16 @@ } }, { - "id": "0x38c6dc0", + "id": "0x7f0da6bad968", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 }, "end": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 } @@ -39720,16 +40385,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c6080", + "id": "0x7f0da6bac778", "kind": "StringLiteral", "range": { "begin": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 }, "end": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 } @@ -39745,33 +40410,33 @@ ] }, { - "id": "0x38c6eb0", + "id": "0x7f0da6bada58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28360, - "line": 921, + "offset": 29473, + "line": 964, "col": 9, "tokLen": 6 }, "end": { - "offset": 28373, + "offset": 29486, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c6e80", + "id": "0x7f0da6bada28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28367, + "offset": 29480, "col": 16, "tokLen": 4 }, "end": { - "offset": 28373, + "offset": 29486, "col": 22, "tokLen": 10 } @@ -39781,7 +40446,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58c40", + "id": "0x2cdbec80", "kind": "EnumConstantDecl", "name": "VREF_L_ADC", "type": { @@ -39794,35 +40459,35 @@ ] }, { - "id": "0x38c7d30", + "id": "0x7f0da6baed98", "kind": "IfStmt", "range": { "begin": { - "offset": 28389, - "line": 922, + "offset": 29502, + "line": 965, "col": 5, "tokLen": 2 }, "end": { - "offset": 28431, - "line": 923, + "offset": 29544, + "line": 966, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c7c80", + "id": "0x7f0da6baece8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28393, - "line": 922, + "offset": 29506, + "line": 965, "col": 9, "tokLen": 1 }, "end": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 } @@ -39834,67 +40499,67 @@ "adl": true, "inner": [ { - "id": "0x38c7c68", + "id": "0x7f0da6baecd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 }, "end": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c7c48", + "id": "0x7f0da6baecb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 }, "end": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c6ee0", + "id": "0x7f0da6bada88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28393, + "offset": 29506, "col": 9, "tokLen": 1 }, "end": { - "offset": 28393, + "offset": 29506, "col": 9, "tokLen": 1 } @@ -39902,11 +40567,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39915,16 +40580,16 @@ } }, { - "id": "0x38c7c30", + "id": "0x7f0da6baec98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 }, "end": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 } @@ -39936,16 +40601,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c6f00", + "id": "0x7f0da6badaa8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 }, "end": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 } @@ -39961,33 +40626,33 @@ ] }, { - "id": "0x38c7d20", + "id": "0x7f0da6baed88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28418, - "line": 923, + "offset": 29531, + "line": 966, "col": 9, "tokLen": 6 }, "end": { - "offset": 28431, + "offset": 29544, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c7cf0", + "id": "0x7f0da6baed58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28425, + "offset": 29538, "col": 16, "tokLen": 4 }, "end": { - "offset": 28431, + "offset": 29544, "col": 22, "tokLen": 8 } @@ -39997,7 +40662,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58c90", + "id": "0x2cdbecd0", "kind": "EnumConstantDecl", "name": "VREF_CDS", "type": { @@ -40010,35 +40675,35 @@ ] }, { - "id": "0x38c8ba0", + "id": "0x7f0da6bb00c8", "kind": "IfStmt", "range": { "begin": { - "offset": 28445, - "line": 924, + "offset": 29558, + "line": 967, "col": 5, "tokLen": 2 }, "end": { - "offset": 28484, - "line": 925, + "offset": 29597, + "line": 968, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38c8af0", + "id": "0x7f0da6bb0018", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28449, - "line": 924, + "offset": 29562, + "line": 967, "col": 9, "tokLen": 1 }, "end": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 } @@ -40050,67 +40715,67 @@ "adl": true, "inner": [ { - "id": "0x38c8ad8", + "id": "0x7f0da6bb0000", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 }, "end": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c8ab8", + "id": "0x7f0da6baffe0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 }, "end": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c7d50", + "id": "0x7f0da6baedb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28449, + "offset": 29562, "col": 9, "tokLen": 1 }, "end": { - "offset": 28449, + "offset": 29562, "col": 9, "tokLen": 1 } @@ -40118,11 +40783,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40131,16 +40796,16 @@ } }, { - "id": "0x38c8aa0", + "id": "0x7f0da6baffc8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 }, "end": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 } @@ -40152,16 +40817,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c7d70", + "id": "0x7f0da6baedd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 }, "end": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 } @@ -40177,33 +40842,33 @@ ] }, { - "id": "0x38c8b90", + "id": "0x7f0da6bb00b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28471, - "line": 925, + "offset": 29584, + "line": 968, "col": 9, "tokLen": 6 }, "end": { - "offset": 28484, + "offset": 29597, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38c8b60", + "id": "0x7f0da6bb0088", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28478, + "offset": 29591, "col": 16, "tokLen": 4 }, "end": { - "offset": 28484, + "offset": 29597, "col": 22, "tokLen": 5 } @@ -40213,7 +40878,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ce0", + "id": "0x2cdbed20", "kind": "EnumConstantDecl", "name": "VB_CS", "type": { @@ -40226,35 +40891,35 @@ ] }, { - "id": "0x38c9a20", + "id": "0x7f0da6bb13f8", "kind": "IfStmt", "range": { "begin": { - "offset": 28495, - "line": 926, + "offset": 29608, + "line": 969, "col": 5, "tokLen": 2 }, "end": { - "offset": 28538, - "line": 927, + "offset": 29651, + "line": 970, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c9970", + "id": "0x7f0da6bb1348", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28499, - "line": 926, + "offset": 29612, + "line": 969, "col": 9, "tokLen": 1 }, "end": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 } @@ -40266,67 +40931,67 @@ "adl": true, "inner": [ { - "id": "0x38c9958", + "id": "0x7f0da6bb1330", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 }, "end": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c9938", + "id": "0x7f0da6bb1310", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 }, "end": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c8bc0", + "id": "0x7f0da6bb00e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28499, + "offset": 29612, "col": 9, "tokLen": 1 }, "end": { - "offset": 28499, + "offset": 29612, "col": 9, "tokLen": 1 } @@ -40334,11 +40999,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40347,16 +41012,16 @@ } }, { - "id": "0x38c9920", + "id": "0x7f0da6bb12f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 }, "end": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 } @@ -40368,16 +41033,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c8be0", + "id": "0x7f0da6bb0108", "kind": "StringLiteral", "range": { "begin": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 }, "end": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 } @@ -40393,33 +41058,33 @@ ] }, { - "id": "0x38c9a10", + "id": "0x7f0da6bb13e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28525, - "line": 927, + "offset": 29638, + "line": 970, "col": 9, "tokLen": 6 }, "end": { - "offset": 28538, + "offset": 29651, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c99e0", + "id": "0x7f0da6bb13b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28532, + "offset": 29645, "col": 16, "tokLen": 4 }, "end": { - "offset": 28538, + "offset": 29651, "col": 22, "tokLen": 9 } @@ -40429,7 +41094,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58d30", + "id": "0x2cdbed70", "kind": "EnumConstantDecl", "name": "VB_OPA_FD", "type": { @@ -40442,35 +41107,35 @@ ] }, { - "id": "0x38ca8a0", + "id": "0x7f0da6bb2728", "kind": "IfStmt", "range": { "begin": { - "offset": 28553, - "line": 928, + "offset": 29666, + "line": 971, "col": 5, "tokLen": 2 }, "end": { - "offset": 28596, - "line": 929, + "offset": 29709, + "line": 972, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ca7f0", + "id": "0x7f0da6bb2678", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28557, - "line": 928, + "offset": 29670, + "line": 971, "col": 9, "tokLen": 1 }, "end": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 } @@ -40482,67 +41147,67 @@ "adl": true, "inner": [ { - "id": "0x38ca7d8", + "id": "0x7f0da6bb2660", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 }, "end": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ca7b8", + "id": "0x7f0da6bb2640", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 }, "end": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c9a40", + "id": "0x7f0da6bb1418", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28557, + "offset": 29670, "col": 9, "tokLen": 1 }, "end": { - "offset": 28557, + "offset": 29670, "col": 9, "tokLen": 1 } @@ -40550,11 +41215,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40563,16 +41228,16 @@ } }, { - "id": "0x38ca7a0", + "id": "0x7f0da6bb2628", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 }, "end": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 } @@ -40584,16 +41249,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c9a60", + "id": "0x7f0da6bb1438", "kind": "StringLiteral", "range": { "begin": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 }, "end": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 } @@ -40609,33 +41274,33 @@ ] }, { - "id": "0x38ca890", + "id": "0x7f0da6bb2718", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28583, - "line": 929, + "offset": 29696, + "line": 972, "col": 9, "tokLen": 6 }, "end": { - "offset": 28596, + "offset": 29709, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ca860", + "id": "0x7f0da6bb26e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28590, + "offset": 29703, "col": 16, "tokLen": 4 }, "end": { - "offset": 28596, + "offset": 29709, "col": 22, "tokLen": 9 } @@ -40645,7 +41310,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58d80", + "id": "0x2cdbedc0", "kind": "EnumConstantDecl", "name": "VCOM_ADC2", "type": { @@ -40658,35 +41323,35 @@ ] }, { - "id": "0x38cb710", + "id": "0x7f0da6bb3a58", "kind": "IfStmt", "range": { "begin": { - "offset": 28611, - "line": 930, + "offset": 29724, + "line": 973, "col": 5, "tokLen": 2 }, "end": { - "offset": 28651, - "line": 931, + "offset": 29764, + "line": 974, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38cb660", + "id": "0x7f0da6bb39a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28615, - "line": 930, + "offset": 29728, + "line": 973, "col": 9, "tokLen": 1 }, "end": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 } @@ -40698,67 +41363,67 @@ "adl": true, "inner": [ { - "id": "0x38cb648", + "id": "0x7f0da6bb3990", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 }, "end": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cb628", + "id": "0x7f0da6bb3970", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 }, "end": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ca8c0", + "id": "0x7f0da6bb2748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28615, + "offset": 29728, "col": 9, "tokLen": 1 }, "end": { - "offset": 28615, + "offset": 29728, "col": 9, "tokLen": 1 } @@ -40766,11 +41431,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40779,16 +41444,16 @@ } }, { - "id": "0x38cb610", + "id": "0x7f0da6bb3958", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 }, "end": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 } @@ -40800,16 +41465,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ca8e0", + "id": "0x7f0da6bb2768", "kind": "StringLiteral", "range": { "begin": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 }, "end": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 } @@ -40825,33 +41490,33 @@ ] }, { - "id": "0x38cb700", + "id": "0x7f0da6bb3a48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28638, - "line": 931, + "offset": 29751, + "line": 974, "col": 9, "tokLen": 6 }, "end": { - "offset": 28651, + "offset": 29764, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38cb6d0", + "id": "0x7f0da6bb3a18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28645, + "offset": 29758, "col": 16, "tokLen": 4 }, "end": { - "offset": 28651, + "offset": 29764, "col": 22, "tokLen": 6 } @@ -40861,7 +41526,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58dd0", + "id": "0x2cdbee10", "kind": "EnumConstantDecl", "name": "VCASSH", "type": { @@ -40874,35 +41539,35 @@ ] }, { - "id": "0x38cc580", + "id": "0x7f0da6bb4d88", "kind": "IfStmt", "range": { "begin": { - "offset": 28663, - "line": 932, + "offset": 29776, + "line": 975, "col": 5, "tokLen": 2 }, "end": { - "offset": 28701, - "line": 933, + "offset": 29814, + "line": 976, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cc4d0", + "id": "0x7f0da6bb4cd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28667, - "line": 932, + "offset": 29780, + "line": 975, "col": 9, "tokLen": 1 }, "end": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 } @@ -40914,67 +41579,67 @@ "adl": true, "inner": [ { - "id": "0x38cc4b8", + "id": "0x7f0da6bb4cc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 }, "end": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cc498", + "id": "0x7f0da6bb4ca0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 }, "end": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cb730", + "id": "0x7f0da6bb3a78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28667, + "offset": 29780, "col": 9, "tokLen": 1 }, "end": { - "offset": 28667, + "offset": 29780, "col": 9, "tokLen": 1 } @@ -40982,11 +41647,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40995,16 +41660,16 @@ } }, { - "id": "0x38cc480", + "id": "0x7f0da6bb4c88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 }, "end": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 } @@ -41016,16 +41681,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cb750", + "id": "0x7f0da6bb3a98", "kind": "StringLiteral", "range": { "begin": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 }, "end": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 } @@ -41041,33 +41706,33 @@ ] }, { - "id": "0x38cc570", + "id": "0x7f0da6bb4d78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28688, - "line": 933, + "offset": 29801, + "line": 976, "col": 9, "tokLen": 6 }, "end": { - "offset": 28701, + "offset": 29814, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cc540", + "id": "0x7f0da6bb4d48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28695, + "offset": 29808, "col": 16, "tokLen": 4 }, "end": { - "offset": 28701, + "offset": 29814, "col": 22, "tokLen": 4 } @@ -41077,7 +41742,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58e20", + "id": "0x2cdbee60", "kind": "EnumConstantDecl", "name": "VTH2", "type": { @@ -41090,35 +41755,35 @@ ] }, { - "id": "0x38cd400", + "id": "0x7f0da6bb60b8", "kind": "IfStmt", "range": { "begin": { - "offset": 28711, - "line": 934, + "offset": 29824, + "line": 977, "col": 5, "tokLen": 2 }, "end": { - "offset": 28755, - "line": 935, + "offset": 29868, + "line": 978, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38cd350", + "id": "0x7f0da6bb6008", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28715, - "line": 934, + "offset": 29828, + "line": 977, "col": 9, "tokLen": 1 }, "end": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 } @@ -41130,67 +41795,67 @@ "adl": true, "inner": [ { - "id": "0x38cd338", + "id": "0x7f0da6bb5ff0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 }, "end": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cd318", + "id": "0x7f0da6bb5fd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 }, "end": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cc5a0", + "id": "0x7f0da6bb4da8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28715, + "offset": 29828, "col": 9, "tokLen": 1 }, "end": { - "offset": 28715, + "offset": 29828, "col": 9, "tokLen": 1 } @@ -41198,11 +41863,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41211,16 +41876,16 @@ } }, { - "id": "0x38cd300", + "id": "0x7f0da6bb5fb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 }, "end": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 } @@ -41232,16 +41897,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cc5c0", + "id": "0x7f0da6bb4dc8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 }, "end": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 } @@ -41257,33 +41922,33 @@ ] }, { - "id": "0x38cd3f0", + "id": "0x7f0da6bb60a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28742, - "line": 935, + "offset": 29855, + "line": 978, "col": 9, "tokLen": 6 }, "end": { - "offset": 28755, + "offset": 29868, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38cd3c0", + "id": "0x7f0da6bb6078", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28749, + "offset": 29862, "col": 16, "tokLen": 4 }, "end": { - "offset": 28755, + "offset": 29868, "col": 22, "tokLen": 10 } @@ -41293,7 +41958,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58e70", + "id": "0x2cdbeeb0", "kind": "EnumConstantDecl", "name": "VRSHAPER_N", "type": { @@ -41306,35 +41971,35 @@ ] }, { - "id": "0x38ce280", + "id": "0x7f0da6bb73e8", "kind": "IfStmt", "range": { "begin": { - "offset": 28771, - "line": 936, + "offset": 29884, + "line": 979, "col": 5, "tokLen": 2 }, "end": { - "offset": 28814, - "line": 937, + "offset": 29927, + "line": 980, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ce1d0", + "id": "0x7f0da6bb7338", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28775, - "line": 936, + "offset": 29888, + "line": 979, "col": 9, "tokLen": 1 }, "end": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 } @@ -41346,67 +42011,67 @@ "adl": true, "inner": [ { - "id": "0x38ce1b8", + "id": "0x7f0da6bb7320", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 }, "end": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ce198", + "id": "0x7f0da6bb7300", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 }, "end": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cd420", + "id": "0x7f0da6bb60d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28775, + "offset": 29888, "col": 9, "tokLen": 1 }, "end": { - "offset": 28775, + "offset": 29888, "col": 9, "tokLen": 1 } @@ -41414,11 +42079,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41427,16 +42092,16 @@ } }, { - "id": "0x38ce180", + "id": "0x7f0da6bb72e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 }, "end": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 } @@ -41448,16 +42113,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cd440", + "id": "0x7f0da6bb60f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 }, "end": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 } @@ -41473,33 +42138,33 @@ ] }, { - "id": "0x38ce270", + "id": "0x7f0da6bb73d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28801, - "line": 937, + "offset": 29914, + "line": 980, "col": 9, "tokLen": 6 }, "end": { - "offset": 28814, + "offset": 29927, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ce240", + "id": "0x7f0da6bb73a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28808, + "offset": 29921, "col": 16, "tokLen": 4 }, "end": { - "offset": 28814, + "offset": 29927, "col": 22, "tokLen": 9 } @@ -41509,7 +42174,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ec0", + "id": "0x2cdbef00", "kind": "EnumConstantDecl", "name": "VIPRE_OUT", "type": { @@ -41522,35 +42187,35 @@ ] }, { - "id": "0x38cf0f0", + "id": "0x7f0da6bb8718", "kind": "IfStmt", "range": { "begin": { - "offset": 28829, - "line": 938, + "offset": 29942, + "line": 981, "col": 5, "tokLen": 2 }, "end": { - "offset": 28867, - "line": 939, + "offset": 29980, + "line": 982, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cf040", + "id": "0x7f0da6bb8668", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28833, - "line": 938, + "offset": 29946, + "line": 981, "col": 9, "tokLen": 1 }, "end": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 } @@ -41562,67 +42227,67 @@ "adl": true, "inner": [ { - "id": "0x38cf028", + "id": "0x7f0da6bb8650", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 }, "end": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cf008", + "id": "0x7f0da6bb8630", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 }, "end": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ce2a0", + "id": "0x7f0da6bb7408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28833, + "offset": 29946, "col": 9, "tokLen": 1 }, "end": { - "offset": 28833, + "offset": 29946, "col": 9, "tokLen": 1 } @@ -41630,11 +42295,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41643,16 +42308,16 @@ } }, { - "id": "0x38ceff0", + "id": "0x7f0da6bb8618", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 }, "end": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 } @@ -41664,16 +42329,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ce2c0", + "id": "0x7f0da6bb7428", "kind": "StringLiteral", "range": { "begin": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 }, "end": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 } @@ -41689,33 +42354,33 @@ ] }, { - "id": "0x38cf0e0", + "id": "0x7f0da6bb8708", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28854, - "line": 939, + "offset": 29967, + "line": 982, "col": 9, "tokLen": 6 }, "end": { - "offset": 28867, + "offset": 29980, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cf0b0", + "id": "0x7f0da6bb86d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28861, + "offset": 29974, "col": 16, "tokLen": 4 }, "end": { - "offset": 28867, + "offset": 29980, "col": 22, "tokLen": 4 } @@ -41725,7 +42390,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58f10", + "id": "0x2cdbef50", "kind": "EnumConstantDecl", "name": "VTH3", "type": { @@ -41738,35 +42403,35 @@ ] }, { - "id": "0x38cff60", + "id": "0x7f0da6bb9a48", "kind": "IfStmt", "range": { "begin": { - "offset": 28877, - "line": 940, + "offset": 29990, + "line": 983, "col": 5, "tokLen": 2 }, "end": { - "offset": 28915, - "line": 941, + "offset": 30028, + "line": 984, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cfeb0", + "id": "0x7f0da6bb9998", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28881, - "line": 940, + "offset": 29994, + "line": 983, "col": 9, "tokLen": 1 }, "end": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 } @@ -41778,67 +42443,67 @@ "adl": true, "inner": [ { - "id": "0x38cfe98", + "id": "0x7f0da6bb9980", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 }, "end": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cfe78", + "id": "0x7f0da6bb9960", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 }, "end": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cf110", + "id": "0x7f0da6bb8738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28881, + "offset": 29994, "col": 9, "tokLen": 1 }, "end": { - "offset": 28881, + "offset": 29994, "col": 9, "tokLen": 1 } @@ -41846,11 +42511,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41859,16 +42524,16 @@ } }, { - "id": "0x38cfe60", + "id": "0x7f0da6bb9948", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 }, "end": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 } @@ -41880,16 +42545,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cf130", + "id": "0x7f0da6bb8758", "kind": "StringLiteral", "range": { "begin": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 }, "end": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 } @@ -41905,33 +42570,33 @@ ] }, { - "id": "0x38cff50", + "id": "0x7f0da6bb9a38", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28902, - "line": 941, + "offset": 30015, + "line": 984, "col": 9, "tokLen": 6 }, "end": { - "offset": 28915, + "offset": 30028, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cff20", + "id": "0x7f0da6bb9a08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28909, + "offset": 30022, "col": 16, "tokLen": 4 }, "end": { - "offset": 28915, + "offset": 30028, "col": 22, "tokLen": 4 } @@ -41941,7 +42606,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58f60", + "id": "0x2cdbefa0", "kind": "EnumConstantDecl", "name": "VTH1", "type": { @@ -41954,35 +42619,35 @@ ] }, { - "id": "0x38d0dd0", + "id": "0x7f0da6bbad78", "kind": "IfStmt", "range": { "begin": { - "offset": 28925, - "line": 942, + "offset": 30038, + "line": 985, "col": 5, "tokLen": 2 }, "end": { - "offset": 28964, - "line": 943, + "offset": 30077, + "line": 986, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d0d20", + "id": "0x7f0da6bbacc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28929, - "line": 942, + "offset": 30042, + "line": 985, "col": 9, "tokLen": 1 }, "end": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 } @@ -41994,67 +42659,67 @@ "adl": true, "inner": [ { - "id": "0x38d0d08", + "id": "0x7f0da6bbacb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 }, "end": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d0ce8", + "id": "0x7f0da6bbac90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 }, "end": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cff80", + "id": "0x7f0da6bb9a68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28929, + "offset": 30042, "col": 9, "tokLen": 1 }, "end": { - "offset": 28929, + "offset": 30042, "col": 9, "tokLen": 1 } @@ -42062,11 +42727,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42075,16 +42740,16 @@ } }, { - "id": "0x38d0cd0", + "id": "0x7f0da6bbac78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 }, "end": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 } @@ -42096,16 +42761,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cffa0", + "id": "0x7f0da6bb9a88", "kind": "StringLiteral", "range": { "begin": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 }, "end": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 } @@ -42121,33 +42786,33 @@ ] }, { - "id": "0x38d0dc0", + "id": "0x7f0da6bbad68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28951, - "line": 943, + "offset": 30064, + "line": 986, "col": 9, "tokLen": 6 }, "end": { - "offset": 28964, + "offset": 30077, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d0d90", + "id": "0x7f0da6bbad38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28958, + "offset": 30071, "col": 16, "tokLen": 4 }, "end": { - "offset": 28964, + "offset": 30077, "col": 22, "tokLen": 5 } @@ -42157,7 +42822,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58fb0", + "id": "0x2cdbeff0", "kind": "EnumConstantDecl", "name": "VICIN", "type": { @@ -42170,35 +42835,35 @@ ] }, { - "id": "0x38d1c40", + "id": "0x7f0da6bbc0a8", "kind": "IfStmt", "range": { "begin": { - "offset": 28975, - "line": 944, + "offset": 30088, + "line": 987, "col": 5, "tokLen": 2 }, "end": { - "offset": 29013, - "line": 945, + "offset": 30126, + "line": 988, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38d1b90", + "id": "0x7f0da6bbbff8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28979, - "line": 944, + "offset": 30092, + "line": 987, "col": 9, "tokLen": 1 }, "end": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 } @@ -42210,67 +42875,67 @@ "adl": true, "inner": [ { - "id": "0x38d1b78", + "id": "0x7f0da6bbbfe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 }, "end": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d1b58", + "id": "0x7f0da6bbbfc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 }, "end": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d0df0", + "id": "0x7f0da6bbad98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28979, + "offset": 30092, "col": 9, "tokLen": 1 }, "end": { - "offset": 28979, + "offset": 30092, "col": 9, "tokLen": 1 } @@ -42278,11 +42943,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42291,16 +42956,16 @@ } }, { - "id": "0x38d1b40", + "id": "0x7f0da6bbbfa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 }, "end": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 } @@ -42312,16 +42977,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d0e10", + "id": "0x7f0da6bbadb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 }, "end": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 } @@ -42337,33 +43002,33 @@ ] }, { - "id": "0x38d1c30", + "id": "0x7f0da6bbc098", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29000, - "line": 945, + "offset": 30113, + "line": 988, "col": 9, "tokLen": 6 }, "end": { - "offset": 29013, + "offset": 30126, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38d1c00", + "id": "0x7f0da6bbc068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29007, + "offset": 30120, "col": 16, "tokLen": 4 }, "end": { - "offset": 29013, + "offset": 30126, "col": 22, "tokLen": 4 } @@ -42373,7 +43038,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59000", + "id": "0x2cdbf040", "kind": "EnumConstantDecl", "name": "VCAS", "type": { @@ -42386,35 +43051,35 @@ ] }, { - "id": "0x38d2ab0", + "id": "0x7f0da6b7c3e8", "kind": "IfStmt", "range": { "begin": { - "offset": 29023, - "line": 946, + "offset": 30136, + "line": 989, "col": 5, "tokLen": 2 }, "end": { - "offset": 29063, - "line": 947, + "offset": 30176, + "line": 990, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d2a00", + "id": "0x7f0da6b7c338", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29027, - "line": 946, + "offset": 30140, + "line": 989, "col": 9, "tokLen": 1 }, "end": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 } @@ -42426,67 +43091,67 @@ "adl": true, "inner": [ { - "id": "0x38d29e8", + "id": "0x7f0da6b7c320", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 }, "end": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d29c8", + "id": "0x7f0da6b7c300", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 }, "end": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d1c60", + "id": "0x7f0da6bbc0c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29027, + "offset": 30140, "col": 9, "tokLen": 1 }, "end": { - "offset": 29027, + "offset": 30140, "col": 9, "tokLen": 1 } @@ -42494,11 +43159,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42507,16 +43172,16 @@ } }, { - "id": "0x38d29b0", + "id": "0x7f0da6b7c2e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 }, "end": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 } @@ -42528,16 +43193,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d1c80", + "id": "0x7f0da6bbc0e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 }, "end": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 } @@ -42553,33 +43218,33 @@ ] }, { - "id": "0x38d2aa0", + "id": "0x7f0da6b7c3d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29050, - "line": 947, + "offset": 30163, + "line": 990, "col": 9, "tokLen": 6 }, "end": { - "offset": 29063, + "offset": 30176, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d2a70", + "id": "0x7f0da6b7c3a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29057, + "offset": 30170, "col": 16, "tokLen": 4 }, "end": { - "offset": 29063, + "offset": 30176, "col": 22, "tokLen": 6 } @@ -42589,7 +43254,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59050", + "id": "0x2cdbf090", "kind": "EnumConstantDecl", "name": "VCAL_N", "type": { @@ -42602,35 +43267,35 @@ ] }, { - "id": "0x38d3920", + "id": "0x7f0da6b7d718", "kind": "IfStmt", "range": { "begin": { - "offset": 29075, - "line": 948, + "offset": 30188, + "line": 991, "col": 5, "tokLen": 2 }, "end": { - "offset": 29114, - "line": 949, + "offset": 30227, + "line": 992, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d3870", + "id": "0x7f0da6b7d668", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29079, - "line": 948, + "offset": 30192, + "line": 991, "col": 9, "tokLen": 1 }, "end": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 } @@ -42642,67 +43307,67 @@ "adl": true, "inner": [ { - "id": "0x38d3858", + "id": "0x7f0da6b7d650", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 }, "end": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d3838", + "id": "0x7f0da6b7d630", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 }, "end": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d2ad0", + "id": "0x7f0da6b7c408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29079, + "offset": 30192, "col": 9, "tokLen": 1 }, "end": { - "offset": 29079, + "offset": 30192, "col": 9, "tokLen": 1 } @@ -42710,11 +43375,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42723,16 +43388,16 @@ } }, { - "id": "0x38d3820", + "id": "0x7f0da6b7d618", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 }, "end": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 } @@ -42744,16 +43409,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d2af0", + "id": "0x7f0da6b7c428", "kind": "StringLiteral", "range": { "begin": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 }, "end": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 } @@ -42769,33 +43434,33 @@ ] }, { - "id": "0x38d3910", + "id": "0x7f0da6b7d708", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29101, - "line": 949, + "offset": 30214, + "line": 992, "col": 9, "tokLen": 6 }, "end": { - "offset": 29114, + "offset": 30227, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d38e0", + "id": "0x7f0da6b7d6d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29108, + "offset": 30221, "col": 16, "tokLen": 4 }, "end": { - "offset": 29114, + "offset": 30227, "col": 22, "tokLen": 5 } @@ -42805,7 +43470,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f590a0", + "id": "0x2cdbf0e0", "kind": "EnumConstantDecl", "name": "VIPRE", "type": { @@ -42818,35 +43483,35 @@ ] }, { - "id": "0x38d4790", + "id": "0x7f0da6b7ea48", "kind": "IfStmt", "range": { "begin": { - "offset": 29125, - "line": 950, + "offset": 30238, + "line": 993, "col": 5, "tokLen": 2 }, "end": { - "offset": 29165, - "line": 951, + "offset": 30278, + "line": 994, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d46e0", + "id": "0x7f0da6b7e998", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29129, - "line": 950, + "offset": 30242, + "line": 993, "col": 9, "tokLen": 1 }, "end": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 } @@ -42858,67 +43523,67 @@ "adl": true, "inner": [ { - "id": "0x38d46c8", + "id": "0x7f0da6b7e980", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 }, "end": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d46a8", + "id": "0x7f0da6b7e960", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 }, "end": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d3940", + "id": "0x7f0da6b7d738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29129, + "offset": 30242, "col": 9, "tokLen": 1 }, "end": { - "offset": 29129, + "offset": 30242, "col": 9, "tokLen": 1 } @@ -42926,11 +43591,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42939,16 +43604,16 @@ } }, { - "id": "0x38d4690", + "id": "0x7f0da6b7e948", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 }, "end": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 } @@ -42960,16 +43625,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d3960", + "id": "0x7f0da6b7d758", "kind": "StringLiteral", "range": { "begin": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 }, "end": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 } @@ -42985,33 +43650,33 @@ ] }, { - "id": "0x38d4780", + "id": "0x7f0da6b7ea38", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29152, - "line": 951, + "offset": 30265, + "line": 994, "col": 9, "tokLen": 6 }, "end": { - "offset": 29165, + "offset": 30278, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d4750", + "id": "0x7f0da6b7ea08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29159, + "offset": 30272, "col": 16, "tokLen": 4 }, "end": { - "offset": 29165, + "offset": 30278, "col": 22, "tokLen": 6 } @@ -43021,7 +43686,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f590f0", + "id": "0x2cdbf130", "kind": "EnumConstantDecl", "name": "VCAL_P", "type": { @@ -43034,35 +43699,35 @@ ] }, { - "id": "0x7f19646274c0", + "id": "0x7f0da6b7fd78", "kind": "IfStmt", "range": { "begin": { - "offset": 29177, - "line": 952, + "offset": 30290, + "line": 995, "col": 5, "tokLen": 2 }, "end": { - "offset": 29216, - "line": 953, + "offset": 30329, + "line": 996, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964627410", + "id": "0x7f0da6b7fcc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29181, - "line": 952, + "offset": 30294, + "line": 995, "col": 9, "tokLen": 1 }, "end": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 } @@ -43074,67 +43739,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646273f8", + "id": "0x7f0da6b7fcb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 }, "end": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646273d8", + "id": "0x7f0da6b7fc90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 }, "end": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d47b0", + "id": "0x7f0da6b7ea68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29181, + "offset": 30294, "col": 9, "tokLen": 1 }, "end": { - "offset": 29181, + "offset": 30294, "col": 9, "tokLen": 1 } @@ -43142,11 +43807,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43155,16 +43820,16 @@ } }, { - "id": "0x7f19646273c0", + "id": "0x7f0da6b7fc78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 }, "end": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 } @@ -43176,16 +43841,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d47d0", + "id": "0x7f0da6b7ea88", "kind": "StringLiteral", "range": { "begin": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 }, "end": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 } @@ -43201,33 +43866,33 @@ ] }, { - "id": "0x7f19646274b0", + "id": "0x7f0da6b7fd68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29203, - "line": 953, + "offset": 30316, + "line": 996, "col": 9, "tokLen": 6 }, "end": { - "offset": 29216, + "offset": 30329, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964627480", + "id": "0x7f0da6b7fd38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29210, + "offset": 30323, "col": 16, "tokLen": 4 }, "end": { - "offset": 29216, + "offset": 30329, "col": 22, "tokLen": 5 } @@ -43237,7 +43902,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59140", + "id": "0x2cdbf180", "kind": "EnumConstantDecl", "name": "VDCSH", "type": { @@ -43250,35 +43915,35 @@ ] }, { - "id": "0x7f1964628340", + "id": "0x7f0da6b810a8", "kind": "IfStmt", "range": { "begin": { - "offset": 29227, - "line": 954, + "offset": 30340, + "line": 997, "col": 5, "tokLen": 2 }, "end": { - "offset": 29271, - "line": 955, + "offset": 30384, + "line": 998, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x7f1964628290", + "id": "0x7f0da6b80ff8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29231, - "line": 954, + "offset": 30344, + "line": 997, "col": 9, "tokLen": 1 }, "end": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 } @@ -43290,67 +43955,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964628278", + "id": "0x7f0da6b80fe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 }, "end": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964628258", + "id": "0x7f0da6b80fc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 }, "end": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646274e0", + "id": "0x7f0da6b7fd98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29231, + "offset": 30344, "col": 9, "tokLen": 1 }, "end": { - "offset": 29231, + "offset": 30344, "col": 9, "tokLen": 1 } @@ -43358,11 +44023,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43371,16 +44036,16 @@ } }, { - "id": "0x7f1964628240", + "id": "0x7f0da6b80fa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 }, "end": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 } @@ -43392,16 +44057,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964627500", + "id": "0x7f0da6b7fdb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 }, "end": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 } @@ -43417,33 +44082,33 @@ ] }, { - "id": "0x7f1964628330", + "id": "0x7f0da6b81098", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29258, - "line": 955, + "offset": 30371, + "line": 998, "col": 9, "tokLen": 6 }, "end": { - "offset": 29271, + "offset": 30384, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x7f1964628300", + "id": "0x7f0da6b81068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29265, + "offset": 30378, "col": 16, "tokLen": 4 }, "end": { - "offset": 29271, + "offset": 30384, "col": 22, "tokLen": 10 } @@ -43453,7 +44118,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59190", + "id": "0x2cdbf1d0", "kind": "EnumConstantDecl", "name": "VBP_COLBUF", "type": { @@ -43466,35 +44131,35 @@ ] }, { - "id": "0x7f19646291b0", + "id": "0x7f0da6b823d8", "kind": "IfStmt", "range": { "begin": { - "offset": 29287, - "line": 956, + "offset": 30400, + "line": 999, "col": 5, "tokLen": 2 }, "end": { - "offset": 29327, - "line": 957, + "offset": 30440, + "line": 1000, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x7f1964629100", + "id": "0x7f0da6b82328", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29291, - "line": 956, + "offset": 30404, + "line": 999, "col": 9, "tokLen": 1 }, "end": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 } @@ -43506,67 +44171,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646290e8", + "id": "0x7f0da6b82310", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 }, "end": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646290c8", + "id": "0x7f0da6b822f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 }, "end": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964628360", + "id": "0x7f0da6b810c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29291, + "offset": 30404, "col": 9, "tokLen": 1 }, "end": { - "offset": 29291, + "offset": 30404, "col": 9, "tokLen": 1 } @@ -43574,11 +44239,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43587,16 +44252,16 @@ } }, { - "id": "0x7f19646290b0", + "id": "0x7f0da6b822d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 }, "end": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 } @@ -43608,16 +44273,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964628380", + "id": "0x7f0da6b810e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 }, "end": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 } @@ -43633,33 +44298,33 @@ ] }, { - "id": "0x7f19646291a0", + "id": "0x7f0da6b823c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29314, - "line": 957, + "offset": 30427, + "line": 1000, "col": 9, "tokLen": 6 }, "end": { - "offset": 29327, + "offset": 30440, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x7f1964629170", + "id": "0x7f0da6b82398", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29321, + "offset": 30434, "col": 16, "tokLen": 4 }, "end": { - "offset": 29327, + "offset": 30440, "col": 22, "tokLen": 6 } @@ -43669,7 +44334,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f591e0", + "id": "0x2cdbf220", "kind": "EnumConstantDecl", "name": "VB_SDA", "type": { @@ -43682,35 +44347,35 @@ ] }, { - "id": "0x7f196462a030", + "id": "0x7f0da6b83708", "kind": "IfStmt", "range": { "begin": { - "offset": 29339, - "line": 958, + "offset": 30452, + "line": 1001, "col": 5, "tokLen": 2 }, "end": { - "offset": 29382, - "line": 959, + "offset": 30495, + "line": 1002, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f1964629f80", + "id": "0x7f0da6b83658", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29343, - "line": 958, + "offset": 30456, + "line": 1001, "col": 9, "tokLen": 1 }, "end": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 } @@ -43722,67 +44387,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964629f68", + "id": "0x7f0da6b83640", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 }, "end": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964629f48", + "id": "0x7f0da6b83620", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 }, "end": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646291d0", + "id": "0x7f0da6b823f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29343, + "offset": 30456, "col": 9, "tokLen": 1 }, "end": { - "offset": 29343, + "offset": 30456, "col": 9, "tokLen": 1 } @@ -43790,11 +44455,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43803,16 +44468,16 @@ } }, { - "id": "0x7f1964629f30", + "id": "0x7f0da6b83608", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 }, "end": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 } @@ -43824,16 +44489,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646291f0", + "id": "0x7f0da6b82418", "kind": "StringLiteral", "range": { "begin": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 }, "end": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 } @@ -43849,33 +44514,33 @@ ] }, { - "id": "0x7f196462a020", + "id": "0x7f0da6b836f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29369, - "line": 959, + "offset": 30482, + "line": 1002, "col": 9, "tokLen": 6 }, "end": { - "offset": 29382, + "offset": 30495, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f1964629ff0", + "id": "0x7f0da6b836c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29376, + "offset": 30489, "col": 16, "tokLen": 4 }, "end": { - "offset": 29382, + "offset": 30495, "col": 22, "tokLen": 9 } @@ -43885,7 +44550,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59230", + "id": "0x2cdbf270", "kind": "EnumConstantDecl", "name": "VCASC_SFP", "type": { @@ -43898,35 +44563,35 @@ ] }, { - "id": "0x7f196462aeb0", + "id": "0x7f0da6b84a38", "kind": "IfStmt", "range": { "begin": { - "offset": 29397, - "line": 960, + "offset": 30510, + "line": 1003, "col": 5, "tokLen": 2 }, "end": { - "offset": 29440, - "line": 961, + "offset": 30553, + "line": 1004, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462ae00", + "id": "0x7f0da6b84988", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29401, - "line": 960, + "offset": 30514, + "line": 1003, "col": 9, "tokLen": 1 }, "end": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 } @@ -43938,67 +44603,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462ade8", + "id": "0x7f0da6b84970", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 }, "end": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462adc8", + "id": "0x7f0da6b84950", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 }, "end": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462a050", + "id": "0x7f0da6b83728", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29401, + "offset": 30514, "col": 9, "tokLen": 1 }, "end": { - "offset": 29401, + "offset": 30514, "col": 9, "tokLen": 1 } @@ -44006,11 +44671,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44019,16 +44684,16 @@ } }, { - "id": "0x7f196462adb0", + "id": "0x7f0da6b84938", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 }, "end": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 } @@ -44040,16 +44705,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462a070", + "id": "0x7f0da6b83748", "kind": "StringLiteral", "range": { "begin": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 }, "end": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 } @@ -44065,33 +44730,33 @@ ] }, { - "id": "0x7f196462aea0", + "id": "0x7f0da6b84a28", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29427, - "line": 961, + "offset": 30540, + "line": 1004, "col": 9, "tokLen": 6 }, "end": { - "offset": 29440, + "offset": 30553, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462ae70", + "id": "0x7f0da6b849f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29434, + "offset": 30547, "col": 16, "tokLen": 4 }, "end": { - "offset": 29440, + "offset": 30553, "col": 22, "tokLen": 9 } @@ -44101,7 +44766,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59280", + "id": "0x2cdbf2c0", "kind": "EnumConstantDecl", "name": "VIPRE_CDS", "type": { @@ -44114,35 +44779,35 @@ ] }, { - "id": "0x7f196462bd30", + "id": "0x7f0da6b85d68", "kind": "IfStmt", "range": { "begin": { - "offset": 29455, - "line": 962, + "offset": 30568, + "line": 1005, "col": 5, "tokLen": 2 }, "end": { - "offset": 29498, - "line": 963, + "offset": 30611, + "line": 1006, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462bc80", + "id": "0x7f0da6b85cb8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29459, - "line": 962, + "offset": 30572, + "line": 1005, "col": 9, "tokLen": 1 }, "end": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 } @@ -44154,67 +44819,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462bc68", + "id": "0x7f0da6b85ca0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 }, "end": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462bc48", + "id": "0x7f0da6b85c80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 }, "end": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462aed0", + "id": "0x7f0da6b84a58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29459, + "offset": 30572, "col": 9, "tokLen": 1 }, "end": { - "offset": 29459, + "offset": 30572, "col": 9, "tokLen": 1 } @@ -44222,11 +44887,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44235,16 +44900,16 @@ } }, { - "id": "0x7f196462bc30", + "id": "0x7f0da6b85c68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 }, "end": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 } @@ -44256,16 +44921,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462aef0", + "id": "0x7f0da6b84a78", "kind": "StringLiteral", "range": { "begin": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 }, "end": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 } @@ -44281,33 +44946,33 @@ ] }, { - "id": "0x7f196462bd20", + "id": "0x7f0da6b85d58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29485, - "line": 963, + "offset": 30598, + "line": 1006, "col": 9, "tokLen": 6 }, "end": { - "offset": 29498, + "offset": 30611, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462bcf0", + "id": "0x7f0da6b85d28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29492, + "offset": 30605, "col": 16, "tokLen": 4 }, "end": { - "offset": 29498, + "offset": 30611, "col": 22, "tokLen": 9 } @@ -44317,7 +44982,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f592d0", + "id": "0x2cdbf310", "kind": "EnumConstantDecl", "name": "IBIAS_SFP", "type": { @@ -44330,35 +44995,35 @@ ] }, { - "id": "0x7f196462cba0", + "id": "0x7f0da6b87098", "kind": "IfStmt", "range": { "begin": { - "offset": 29513, - "line": 964, + "offset": 30626, + "line": 1007, "col": 5, "tokLen": 2 }, "end": { - "offset": 29555, - "line": 965, + "offset": 30668, + "line": 1008, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462caf0", + "id": "0x7f0da6b86fe8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29517, - "line": 964, + "offset": 30630, + "line": 1007, "col": 9, "tokLen": 1 }, "end": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 } @@ -44370,67 +45035,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462cad8", + "id": "0x7f0da6b86fd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 }, "end": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462cab8", + "id": "0x7f0da6b86fb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 }, "end": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462bd50", + "id": "0x7f0da6b85d88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29517, + "offset": 30630, "col": 9, "tokLen": 1 }, "end": { - "offset": 29517, + "offset": 30630, "col": 9, "tokLen": 1 } @@ -44438,11 +45103,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44451,16 +45116,16 @@ } }, { - "id": "0x7f196462caa0", + "id": "0x7f0da6b86f98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 }, "end": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 } @@ -44472,16 +45137,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462bd70", + "id": "0x7f0da6b85da8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 }, "end": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 } @@ -44497,33 +45162,33 @@ ] }, { - "id": "0x7f196462cb90", + "id": "0x7f0da6b87088", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29542, - "line": 965, + "offset": 30655, + "line": 1008, "col": 9, "tokLen": 6 }, "end": { - "offset": 29555, + "offset": 30668, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462cb60", + "id": "0x7f0da6b87058", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29549, + "offset": 30662, "col": 16, "tokLen": 4 }, "end": { - "offset": 29555, + "offset": 30668, "col": 22, "tokLen": 12 } @@ -44533,7 +45198,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59690", + "id": "0x2cdbf6d0", "kind": "EnumConstantDecl", "name": "TRIMBIT_SCAN", "type": { @@ -44546,35 +45211,35 @@ ] }, { - "id": "0x7f196462da20", + "id": "0x7f0da6b883c8", "kind": "IfStmt", "range": { "begin": { - "offset": 29573, - "line": 966, + "offset": 30686, + "line": 1009, "col": 5, "tokLen": 2 }, "end": { - "offset": 29618, - "line": 967, + "offset": 30731, + "line": 1010, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462d970", + "id": "0x7f0da6b88318", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29577, - "line": 966, + "offset": 30690, + "line": 1009, "col": 9, "tokLen": 1 }, "end": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 } @@ -44586,67 +45251,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462d958", + "id": "0x7f0da6b88300", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 }, "end": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462d938", + "id": "0x7f0da6b882e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 }, "end": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462cbc0", + "id": "0x7f0da6b870b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29577, + "offset": 30690, "col": 9, "tokLen": 1 }, "end": { - "offset": 29577, + "offset": 30690, "col": 9, "tokLen": 1 } @@ -44654,11 +45319,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44667,16 +45332,16 @@ } }, { - "id": "0x7f196462d920", + "id": "0x7f0da6b882c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 }, "end": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 } @@ -44688,16 +45353,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462cbe0", + "id": "0x7f0da6b870d8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 }, "end": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 } @@ -44713,33 +45378,33 @@ ] }, { - "id": "0x7f196462da10", + "id": "0x7f0da6b883b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29605, - "line": 967, + "offset": 30718, + "line": 1010, "col": 9, "tokLen": 6 }, "end": { - "offset": 29618, + "offset": 30731, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462d9e0", + "id": "0x7f0da6b88388", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29612, + "offset": 30725, "col": 16, "tokLen": 4 }, "end": { - "offset": 29618, + "offset": 30731, "col": 22, "tokLen": 12 } @@ -44749,7 +45414,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59370", + "id": "0x2cdbf3b0", "kind": "EnumConstantDecl", "name": "HIGH_VOLTAGE", "type": { @@ -44762,35 +45427,35 @@ ] }, { - "id": "0x7f196462e890", + "id": "0x7f0da6b896f8", "kind": "IfStmt", "range": { "begin": { - "offset": 29636, - "line": 968, + "offset": 30749, + "line": 1011, "col": 5, "tokLen": 2 }, "end": { - "offset": 29677, - "line": 969, + "offset": 30790, + "line": 1012, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f196462e7e0", + "id": "0x7f0da6b89648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29640, - "line": 968, + "offset": 30753, + "line": 1011, "col": 9, "tokLen": 1 }, "end": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 } @@ -44802,67 +45467,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462e7c8", + "id": "0x7f0da6b89630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 }, "end": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462e7a8", + "id": "0x7f0da6b89610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 }, "end": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462da40", + "id": "0x7f0da6b883e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29640, + "offset": 30753, "col": 9, "tokLen": 1 }, "end": { - "offset": 29640, + "offset": 30753, "col": 9, "tokLen": 1 } @@ -44870,11 +45535,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44883,16 +45548,16 @@ } }, { - "id": "0x7f196462e790", + "id": "0x7f0da6b895f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 }, "end": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 } @@ -44904,16 +45569,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462da60", + "id": "0x7f0da6b88408", "kind": "StringLiteral", "range": { "begin": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 }, "end": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 } @@ -44929,33 +45594,33 @@ ] }, { - "id": "0x7f196462e880", + "id": "0x7f0da6b896e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29664, - "line": 969, + "offset": 30777, + "line": 1012, "col": 9, "tokLen": 6 }, "end": { - "offset": 29677, + "offset": 30790, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f196462e850", + "id": "0x7f0da6b896b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29671, + "offset": 30784, "col": 16, "tokLen": 4 }, "end": { - "offset": 29677, + "offset": 30790, "col": 22, "tokLen": 8 } @@ -44965,7 +45630,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58510", + "id": "0x2cdbe550", "kind": "EnumConstantDecl", "name": "IO_DELAY", "type": { @@ -44978,35 +45643,35 @@ ] }, { - "id": "0x7f196462f700", + "id": "0x7f0da6b8aa28", "kind": "IfStmt", "range": { "begin": { - "offset": 29691, - "line": 970, + "offset": 30804, + "line": 1013, "col": 5, "tokLen": 2 }, "end": { - "offset": 29733, - "line": 971, + "offset": 30846, + "line": 1014, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196462f650", + "id": "0x7f0da6b8a978", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29695, - "line": 970, + "offset": 30808, + "line": 1013, "col": 9, "tokLen": 1 }, "end": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 } @@ -45018,67 +45683,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462f638", + "id": "0x7f0da6b8a960", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 }, "end": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462f618", + "id": "0x7f0da6b8a940", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 }, "end": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462e8b0", + "id": "0x7f0da6b89718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29695, + "offset": 30808, "col": 9, "tokLen": 1 }, "end": { - "offset": 29695, + "offset": 30808, "col": 9, "tokLen": 1 } @@ -45086,11 +45751,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45099,16 +45764,16 @@ } }, { - "id": "0x7f196462f600", + "id": "0x7f0da6b8a928", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 }, "end": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 } @@ -45120,16 +45785,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462e8d0", + "id": "0x7f0da6b89738", "kind": "StringLiteral", "range": { "begin": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 }, "end": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 } @@ -45145,33 +45810,33 @@ ] }, { - "id": "0x7f196462f6f0", + "id": "0x7f0da6b8aa18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29720, - "line": 971, + "offset": 30833, + "line": 1014, "col": 9, "tokLen": 6 }, "end": { - "offset": 29733, + "offset": 30846, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196462f6c0", + "id": "0x7f0da6b8a9e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29727, + "offset": 30840, "col": 16, "tokLen": 4 }, "end": { - "offset": 29733, + "offset": 30846, "col": 22, "tokLen": 15 } @@ -45181,7 +45846,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f593c0", + "id": "0x2cdbf400", "kind": "EnumConstantDecl", "name": "TEMPERATURE_ADC", "type": { @@ -45194,35 +45859,35 @@ ] }, { - "id": "0x7f1964630580", + "id": "0x7f0da6b8bd58", "kind": "IfStmt", "range": { "begin": { - "offset": 29754, - "line": 972, + "offset": 30867, + "line": 1015, "col": 5, "tokLen": 2 }, "end": { - "offset": 29797, - "line": 973, + "offset": 30910, + "line": 1016, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f19646304d0", + "id": "0x7f0da6b8bca8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29758, - "line": 972, + "offset": 30871, + "line": 1015, "col": 9, "tokLen": 1 }, "end": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 } @@ -45234,67 +45899,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646304b8", + "id": "0x7f0da6b8bc90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 }, "end": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964630498", + "id": "0x7f0da6b8bc70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 }, "end": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462f720", + "id": "0x7f0da6b8aa48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29758, + "offset": 30871, "col": 9, "tokLen": 1 }, "end": { - "offset": 29758, + "offset": 30871, "col": 9, "tokLen": 1 } @@ -45302,11 +45967,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45315,16 +45980,16 @@ } }, { - "id": "0x7f1964630480", + "id": "0x7f0da6b8bc58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 }, "end": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 } @@ -45336,16 +46001,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462f740", + "id": "0x7f0da6b8aa68", "kind": "StringLiteral", "range": { "begin": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 }, "end": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 } @@ -45361,33 +46026,33 @@ ] }, { - "id": "0x7f1964630570", + "id": "0x7f0da6b8bd48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29784, - "line": 973, + "offset": 30897, + "line": 1016, "col": 9, "tokLen": 6 }, "end": { - "offset": 29797, + "offset": 30910, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964630540", + "id": "0x7f0da6b8bd18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29791, + "offset": 30904, "col": 16, "tokLen": 4 }, "end": { - "offset": 29797, + "offset": 30910, "col": 22, "tokLen": 16 } @@ -45397,7 +46062,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59410", + "id": "0x2cdbf450", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGA", "type": { @@ -45410,35 +46075,35 @@ ] }, { - "id": "0x7f1964631400", + "id": "0x7f0da6b8d088", "kind": "IfStmt", "range": { "begin": { - "offset": 29819, - "line": 974, + "offset": 30932, + "line": 1017, "col": 5, "tokLen": 2 }, "end": { - "offset": 29865, - "line": 975, + "offset": 30978, + "line": 1018, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f1964631350", + "id": "0x7f0da6b8cfd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29823, - "line": 974, + "offset": 30936, + "line": 1017, "col": 9, "tokLen": 1 }, "end": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 } @@ -45450,67 +46115,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964631338", + "id": "0x7f0da6b8cfc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 }, "end": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964631318", + "id": "0x7f0da6b8cfa0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 }, "end": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646305a0", + "id": "0x7f0da6b8bd78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29823, + "offset": 30936, "col": 9, "tokLen": 1 }, "end": { - "offset": 29823, + "offset": 30936, "col": 9, "tokLen": 1 } @@ -45518,11 +46183,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45531,16 +46196,16 @@ } }, { - "id": "0x7f1964631300", + "id": "0x7f0da6b8cf88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 }, "end": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 } @@ -45552,16 +46217,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646305c0", + "id": "0x7f0da6b8bd98", "kind": "StringLiteral", "range": { "begin": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 }, "end": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 } @@ -45577,33 +46242,33 @@ ] }, { - "id": "0x7f19646313f0", + "id": "0x7f0da6b8d078", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29852, - "line": 975, + "offset": 30965, + "line": 1018, "col": 9, "tokLen": 6 }, "end": { - "offset": 29865, + "offset": 30978, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f19646313c0", + "id": "0x7f0da6b8d048", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29859, + "offset": 30972, "col": 16, "tokLen": 4 }, "end": { - "offset": 29865, + "offset": 30978, "col": 22, "tokLen": 19 } @@ -45613,7 +46278,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59460", + "id": "0x2cdbf4a0", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGAEXT", "type": { @@ -45626,35 +46291,35 @@ ] }, { - "id": "0x7f1964632280", + "id": "0x7f0da6b8e3b8", "kind": "IfStmt", "range": { "begin": { - "offset": 29890, - "line": 976, + "offset": 31003, + "line": 1019, "col": 5, "tokLen": 2 }, "end": { - "offset": 29933, - "line": 977, + "offset": 31046, + "line": 1020, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f19646321d0", + "id": "0x7f0da6b8e308", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29894, - "line": 976, + "offset": 31007, + "line": 1019, "col": 9, "tokLen": 1 }, "end": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 } @@ -45666,67 +46331,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646321b8", + "id": "0x7f0da6b8e2f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 }, "end": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964632198", + "id": "0x7f0da6b8e2d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 }, "end": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964631420", + "id": "0x7f0da6b8d0a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29894, + "offset": 31007, "col": 9, "tokLen": 1 }, "end": { - "offset": 29894, + "offset": 31007, "col": 9, "tokLen": 1 } @@ -45734,11 +46399,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45747,16 +46412,16 @@ } }, { - "id": "0x7f1964632180", + "id": "0x7f0da6b8e2b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 }, "end": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 } @@ -45768,16 +46433,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964631440", + "id": "0x7f0da6b8d0c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 }, "end": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 } @@ -45793,33 +46458,33 @@ ] }, { - "id": "0x7f1964632270", + "id": "0x7f0da6b8e3a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29920, - "line": 977, + "offset": 31033, + "line": 1020, "col": 9, "tokLen": 6 }, "end": { - "offset": 29933, + "offset": 31046, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964632240", + "id": "0x7f0da6b8e378", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29927, + "offset": 31040, "col": 16, "tokLen": 4 }, "end": { - "offset": 29933, + "offset": 31046, "col": 22, "tokLen": 16 } @@ -45829,7 +46494,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f594b0", + "id": "0x2cdbf4f0", "kind": "EnumConstantDecl", "name": "TEMPERATURE_10GE", "type": { @@ -45842,35 +46507,35 @@ ] }, { - "id": "0x7f1964633100", + "id": "0x7f0da6b8f6e8", "kind": "IfStmt", "range": { "begin": { - "offset": 29955, - "line": 978, + "offset": 31068, + "line": 1021, "col": 5, "tokLen": 2 }, "end": { - "offset": 29998, - "line": 979, + "offset": 31111, + "line": 1022, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964633050", + "id": "0x7f0da6b8f638", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29959, - "line": 978, + "offset": 31072, + "line": 1021, "col": 9, "tokLen": 1 }, "end": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 } @@ -45882,67 +46547,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964633038", + "id": "0x7f0da6b8f620", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 }, "end": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964633018", + "id": "0x7f0da6b8f600", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 }, "end": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646322a0", + "id": "0x7f0da6b8e3d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29959, + "offset": 31072, "col": 9, "tokLen": 1 }, "end": { - "offset": 29959, + "offset": 31072, "col": 9, "tokLen": 1 } @@ -45950,11 +46615,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45963,16 +46628,16 @@ } }, { - "id": "0x7f1964633000", + "id": "0x7f0da6b8f5e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 }, "end": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 } @@ -45984,16 +46649,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646322c0", + "id": "0x7f0da6b8e3f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 }, "end": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 } @@ -46009,33 +46674,33 @@ ] }, { - "id": "0x7f19646330f0", + "id": "0x7f0da6b8f6d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29985, - "line": 979, + "offset": 31098, + "line": 1022, "col": 9, "tokLen": 6 }, "end": { - "offset": 29998, + "offset": 31111, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f19646330c0", + "id": "0x7f0da6b8f6a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29992, + "offset": 31105, "col": 16, "tokLen": 4 }, "end": { - "offset": 29998, + "offset": 31111, "col": 22, "tokLen": 16 } @@ -46045,7 +46710,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59500", + "id": "0x2cdbf540", "kind": "EnumConstantDecl", "name": "TEMPERATURE_DCDC", "type": { @@ -46058,35 +46723,35 @@ ] }, { - "id": "0x7f1964633f80", + "id": "0x7f0da6b90a18", "kind": "IfStmt", "range": { "begin": { - "offset": 30020, - "line": 980, + "offset": 31133, + "line": 1023, "col": 5, "tokLen": 2 }, "end": { - "offset": 30063, - "line": 981, + "offset": 31176, + "line": 1024, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964633ed0", + "id": "0x7f0da6b90968", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30024, - "line": 980, + "offset": 31137, + "line": 1023, "col": 9, "tokLen": 1 }, "end": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 } @@ -46098,67 +46763,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964633eb8", + "id": "0x7f0da6b90950", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 }, "end": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964633e98", + "id": "0x7f0da6b90930", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 }, "end": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964633120", + "id": "0x7f0da6b8f708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30024, + "offset": 31137, "col": 9, "tokLen": 1 }, "end": { - "offset": 30024, + "offset": 31137, "col": 9, "tokLen": 1 } @@ -46166,11 +46831,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46179,16 +46844,16 @@ } }, { - "id": "0x7f1964633e80", + "id": "0x7f0da6b90918", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 }, "end": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 } @@ -46200,16 +46865,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964633140", + "id": "0x7f0da6b8f728", "kind": "StringLiteral", "range": { "begin": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 }, "end": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 } @@ -46225,33 +46890,33 @@ ] }, { - "id": "0x7f1964633f70", + "id": "0x7f0da6b90a08", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30050, - "line": 981, + "offset": 31163, + "line": 1024, "col": 9, "tokLen": 6 }, "end": { - "offset": 30063, + "offset": 31176, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964633f40", + "id": "0x7f0da6b909d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30057, + "offset": 31170, "col": 16, "tokLen": 4 }, "end": { - "offset": 30063, + "offset": 31176, "col": 22, "tokLen": 16 } @@ -46261,7 +46926,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59550", + "id": "0x2cdbf590", "kind": "EnumConstantDecl", "name": "TEMPERATURE_SODL", "type": { @@ -46274,35 +46939,35 @@ ] }, { - "id": "0x7f1964634e00", + "id": "0x7f0da6b91d48", "kind": "IfStmt", "range": { "begin": { - "offset": 30085, - "line": 982, + "offset": 31198, + "line": 1025, "col": 5, "tokLen": 2 }, "end": { - "offset": 30128, - "line": 983, + "offset": 31241, + "line": 1026, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964634d50", + "id": "0x7f0da6b91c98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30089, - "line": 982, + "offset": 31202, + "line": 1025, "col": 9, "tokLen": 1 }, "end": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 } @@ -46314,67 +46979,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964634d38", + "id": "0x7f0da6b91c80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 }, "end": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964634d18", + "id": "0x7f0da6b91c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 }, "end": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964633fa0", + "id": "0x7f0da6b90a38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30089, + "offset": 31202, "col": 9, "tokLen": 1 }, "end": { - "offset": 30089, + "offset": 31202, "col": 9, "tokLen": 1 } @@ -46382,11 +47047,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46395,16 +47060,16 @@ } }, { - "id": "0x7f1964634d00", + "id": "0x7f0da6b91c48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 }, "end": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 } @@ -46416,16 +47081,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964633fc0", + "id": "0x7f0da6b90a58", "kind": "StringLiteral", "range": { "begin": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 }, "end": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 } @@ -46441,33 +47106,33 @@ ] }, { - "id": "0x7f1964634df0", + "id": "0x7f0da6b91d38", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30115, - "line": 983, + "offset": 31228, + "line": 1026, "col": 9, "tokLen": 6 }, "end": { - "offset": 30128, + "offset": 31241, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964634dc0", + "id": "0x7f0da6b91d08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30122, + "offset": 31235, "col": 16, "tokLen": 4 }, "end": { - "offset": 30128, + "offset": 31241, "col": 22, "tokLen": 16 } @@ -46477,7 +47142,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f595a0", + "id": "0x2cdbf5e0", "kind": "EnumConstantDecl", "name": "TEMPERATURE_SODR", "type": { @@ -46490,35 +47155,35 @@ ] }, { - "id": "0x7f1964635c80", + "id": "0x7f0da6b93078", "kind": "IfStmt", "range": { "begin": { - "offset": 30150, - "line": 984, + "offset": 31263, + "line": 1027, "col": 5, "tokLen": 2 }, "end": { - "offset": 30195, - "line": 985, + "offset": 31308, + "line": 1028, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964635bd0", + "id": "0x7f0da6b92fc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30154, - "line": 984, + "offset": 31267, + "line": 1027, "col": 9, "tokLen": 1 }, "end": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 } @@ -46530,67 +47195,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964635bb8", + "id": "0x7f0da6b92fb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 }, "end": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964635b98", + "id": "0x7f0da6b92f90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 }, "end": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964634e20", + "id": "0x7f0da6b91d68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30154, + "offset": 31267, "col": 9, "tokLen": 1 }, "end": { - "offset": 30154, + "offset": 31267, "col": 9, "tokLen": 1 } @@ -46598,11 +47263,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46611,16 +47276,16 @@ } }, { - "id": "0x7f1964635b80", + "id": "0x7f0da6b92f78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 }, "end": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 } @@ -46632,16 +47297,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964634e40", + "id": "0x7f0da6b91d88", "kind": "StringLiteral", "range": { "begin": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 }, "end": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 } @@ -46657,33 +47322,33 @@ ] }, { - "id": "0x7f1964635c70", + "id": "0x7f0da6b93068", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30182, - "line": 985, + "offset": 31295, + "line": 1028, "col": 9, "tokLen": 6 }, "end": { - "offset": 30195, + "offset": 31308, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964635c40", + "id": "0x7f0da6b93038", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30189, + "offset": 31302, "col": 16, "tokLen": 4 }, "end": { - "offset": 30195, + "offset": 31308, "col": 22, "tokLen": 17 } @@ -46693,7 +47358,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f595f0", + "id": "0x2cdbf630", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGA2", "type": { @@ -46706,35 +47371,35 @@ ] }, { - "id": "0x7f1964636b00", + "id": "0x7f0da6b943a8", "kind": "IfStmt", "range": { "begin": { - "offset": 30218, - "line": 986, + "offset": 31331, + "line": 1029, "col": 5, "tokLen": 2 }, "end": { - "offset": 30263, - "line": 987, + "offset": 31376, + "line": 1030, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964636a50", + "id": "0x7f0da6b942f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30222, - "line": 986, + "offset": 31335, + "line": 1029, "col": 9, "tokLen": 1 }, "end": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 } @@ -46746,67 +47411,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964636a38", + "id": "0x7f0da6b942e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 }, "end": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964636a18", + "id": "0x7f0da6b942c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 }, "end": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964635ca0", + "id": "0x7f0da6b93098", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30222, + "offset": 31335, "col": 9, "tokLen": 1 }, "end": { - "offset": 30222, + "offset": 31335, "col": 9, "tokLen": 1 } @@ -46814,11 +47479,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46827,16 +47492,16 @@ } }, { - "id": "0x7f1964636a00", + "id": "0x7f0da6b942a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 }, "end": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 } @@ -46848,16 +47513,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964635cc0", + "id": "0x7f0da6b930b8", "kind": "StringLiteral", "range": { "begin": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 }, "end": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 } @@ -46873,33 +47538,33 @@ ] }, { - "id": "0x7f1964636af0", + "id": "0x7f0da6b94398", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30250, - "line": 987, + "offset": 31363, + "line": 1030, "col": 9, "tokLen": 6 }, "end": { - "offset": 30263, + "offset": 31376, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964636ac0", + "id": "0x7f0da6b94368", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30257, + "offset": 31370, "col": 16, "tokLen": 4 }, "end": { - "offset": 30263, + "offset": 31376, "col": 22, "tokLen": 17 } @@ -46909,7 +47574,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59640", + "id": "0x2cdbf680", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGA3", "type": { @@ -46922,35 +47587,35 @@ ] }, { - "id": "0x7f1964637980", + "id": "0x7f0da6b956d8", "kind": "IfStmt", "range": { "begin": { - "offset": 30286, - "line": 988, + "offset": 31399, + "line": 1031, "col": 5, "tokLen": 2 }, "end": { - "offset": 30332, - "line": 989, + "offset": 31445, + "line": 1032, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x7f19646378d0", + "id": "0x7f0da6b95628", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30290, - "line": 988, + "offset": 31403, + "line": 1031, "col": 9, "tokLen": 1 }, "end": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 } @@ -46962,67 +47627,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646378b8", + "id": "0x7f0da6b95610", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 }, "end": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964637898", + "id": "0x7f0da6b955f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 }, "end": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964636b20", + "id": "0x7f0da6b943c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30290, + "offset": 31403, "col": 9, "tokLen": 1 }, "end": { - "offset": 30290, + "offset": 31403, "col": 9, "tokLen": 1 } @@ -47030,11 +47695,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47043,16 +47708,16 @@ } }, { - "id": "0x7f1964637880", + "id": "0x7f0da6b955d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 }, "end": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 } @@ -47064,16 +47729,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964636b40", + "id": "0x7f0da6b943e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 }, "end": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 } @@ -47089,33 +47754,33 @@ ] }, { - "id": "0x7f1964637970", + "id": "0x7f0da6b956c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30319, - "line": 989, + "offset": 31432, + "line": 1032, "col": 9, "tokLen": 6 }, "end": { - "offset": 30332, + "offset": 31445, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x7f1964637940", + "id": "0x7f0da6b95698", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30326, + "offset": 31439, "col": 16, "tokLen": 4 }, "end": { - "offset": 30332, + "offset": 31445, "col": 22, "tokLen": 13 } @@ -47125,7 +47790,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a060", + "id": "0x2cdc00a0", "kind": "EnumConstantDecl", "name": "SLOW_ADC_TEMP", "type": { @@ -47138,17 +47803,17 @@ ] }, { - "id": "0x7f1964637f90", + "id": "0x7f0da6b95d68", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 30351, - "line": 990, + "offset": 31464, + "line": 1033, "col": 5, "tokLen": 5 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } @@ -47160,16 +47825,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f1964637f78", + "id": "0x7f0da6b95d50", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 30351, + "offset": 31464, "col": 5, "tokLen": 5 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } @@ -47180,74 +47845,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f1964637f48", + "id": "0x7f0da6b95d20", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f1964637f30", + "id": "0x7f0da6b95d08", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f1964637f08", + "id": "0x7f0da6b95ce0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -47256,27 +47924,28 @@ }, "inner": [ { - "id": "0x7f1964637ee8", + "id": "0x7f0da6b95cc0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f1964637ee0", + "temp": "0x7f0da6b95cb8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -47285,22 +47954,23 @@ }, "inner": [ { - "id": "0x7f1964637eb0", + "id": "0x7f0da6b95c88", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -47310,73 +47980,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f1964637e98", + "id": "0x7f0da6b95c70", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f1964637e80", + "id": "0x7f0da6b95c58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f1964637e60", + "id": "0x7f0da6b95c38", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f1964637e58", + "temp": "0x7f0da6b95c30", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -47385,89 +48055,89 @@ }, "inner": [ { - "id": "0x7f1964637e20", + "id": "0x7f0da6b95bf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f1964637e08", + "id": "0x7f0da6b95be0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 }, "end": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964637de8", + "id": "0x7f0da6b95bc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 }, "end": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f1964637dd0", + "id": "0x7f0da6b95ba8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 } @@ -47479,16 +48149,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646379b0", + "id": "0x7f0da6b95708", "kind": "StringLiteral", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 } @@ -47502,16 +48172,16 @@ ] }, { - "id": "0x7f19646379e0", + "id": "0x7f0da6b95738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } @@ -47519,11 +48189,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47558,29 +48228,29 @@ ] } { - "id": "0x7f1964638418", + "id": "0x7f0da6b961f8", "kind": "FunctionDecl", "loc": { - "offset": 30428, + "offset": 31541, "file": "ToString.cpp", - "line": 993, + "line": 1036, "col": 29, "tokLen": 8 }, "range": { "begin": { - "offset": 30400, + "offset": 31513, "col": 1, "tokLen": 8 }, "end": { - "offset": 30788, - "line": 1003, + "offset": 31901, + "line": 1046, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368bb58", + "previousDecl": "0x2d3789b8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs9burstModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -47594,13 +48264,13 @@ }, "inner": [ { - "id": "0x2f5b1f0", + "id": "0x2cdc1230", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::burstMode" }, "decl": { - "id": "0x2f5b148", + "id": "0x2cdc1188", "kind": "EnumDecl", "name": "burstMode" } @@ -47608,22 +48278,22 @@ ] }, { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "loc": { - "offset": 30456, - "line": 993, + "offset": 31569, + "line": 1036, "col": 57, "tokLen": 1 }, "range": { "begin": { - "offset": 30437, + "offset": 31550, "col": 38, "tokLen": 5 }, "end": { - "offset": 30456, + "offset": 31569, "col": 57, "tokLen": 1 } @@ -47635,52 +48305,52 @@ } }, { - "id": "0x7f196463c5d8", + "id": "0x7f0da6b9b730", "kind": "CompoundStmt", "range": { "begin": { - "offset": 30459, + "offset": 31572, "col": 60, "tokLen": 1 }, "end": { - "offset": 30788, - "line": 1003, + "offset": 31901, + "line": 1046, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f1964639430", + "id": "0x7f0da6b976f8", "kind": "IfStmt", "range": { "begin": { - "offset": 30465, - "line": 994, + "offset": 31578, + "line": 1037, "col": 5, "tokLen": 2 }, "end": { - "offset": 30513, - "line": 995, + "offset": 31626, + "line": 1038, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f1964639380", + "id": "0x7f0da6b97648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30469, - "line": 994, + "offset": 31582, + "line": 1037, "col": 9, "tokLen": 1 }, "end": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 } @@ -47692,67 +48362,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964639368", + "id": "0x7f0da6b97630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 }, "end": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964639348", + "id": "0x7f0da6b97610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 }, "end": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646385d0", + "id": "0x7f0da6b963e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30469, + "offset": 31582, "col": 9, "tokLen": 1 }, "end": { - "offset": 30469, + "offset": 31582, "col": 9, "tokLen": 1 } @@ -47760,11 +48430,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47773,16 +48443,16 @@ } }, { - "id": "0x7f1964639330", + "id": "0x7f0da6b975f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 }, "end": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 } @@ -47794,16 +48464,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646385f0", + "id": "0x7f0da6b96400", "kind": "StringLiteral", "range": { "begin": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 }, "end": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 } @@ -47819,33 +48489,33 @@ ] }, { - "id": "0x7f1964639420", + "id": "0x7f0da6b976e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30500, - "line": 995, + "offset": 31613, + "line": 1038, "col": 9, "tokLen": 6 }, "end": { - "offset": 30513, + "offset": 31626, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f19646393f0", + "id": "0x7f0da6b976b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30507, + "offset": 31620, "col": 16, "tokLen": 4 }, "end": { - "offset": 30513, + "offset": 31626, "col": 22, "tokLen": 14 } @@ -47855,7 +48525,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b210", + "id": "0x2cdc1250", "kind": "EnumConstantDecl", "name": "BURST_INTERNAL", "type": { @@ -47868,35 +48538,35 @@ ] }, { - "id": "0x7f196463a2b0", + "id": "0x7f0da6b98a28", "kind": "IfStmt", "range": { "begin": { - "offset": 30533, - "line": 996, + "offset": 31646, + "line": 1039, "col": 5, "tokLen": 2 }, "end": { - "offset": 30581, - "line": 997, + "offset": 31694, + "line": 1040, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f196463a200", + "id": "0x7f0da6b98978", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30537, - "line": 996, + "offset": 31650, + "line": 1039, "col": 9, "tokLen": 1 }, "end": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 } @@ -47908,67 +48578,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463a1e8", + "id": "0x7f0da6b98960", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 }, "end": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463a1c8", + "id": "0x7f0da6b98940", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 }, "end": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964639450", + "id": "0x7f0da6b97718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30537, + "offset": 31650, "col": 9, "tokLen": 1 }, "end": { - "offset": 30537, + "offset": 31650, "col": 9, "tokLen": 1 } @@ -47976,11 +48646,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47989,16 +48659,16 @@ } }, { - "id": "0x7f196463a1b0", + "id": "0x7f0da6b98928", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 }, "end": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 } @@ -48010,16 +48680,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964639470", + "id": "0x7f0da6b97738", "kind": "StringLiteral", "range": { "begin": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 }, "end": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 } @@ -48035,33 +48705,33 @@ ] }, { - "id": "0x7f196463a2a0", + "id": "0x7f0da6b98a18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30568, - "line": 997, + "offset": 31681, + "line": 1040, "col": 9, "tokLen": 6 }, "end": { - "offset": 30581, + "offset": 31694, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f196463a270", + "id": "0x7f0da6b989e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30575, + "offset": 31688, "col": 16, "tokLen": 4 }, "end": { - "offset": 30581, + "offset": 31694, "col": 22, "tokLen": 14 } @@ -48071,7 +48741,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b260", + "id": "0x2cdc12a0", "kind": "EnumConstantDecl", "name": "BURST_EXTERNAL", "type": { @@ -48084,35 +48754,35 @@ ] }, { - "id": "0x7f196463b130", + "id": "0x7f0da6b99d58", "kind": "IfStmt", "range": { "begin": { - "offset": 30601, - "line": 998, + "offset": 31714, + "line": 1041, "col": 5, "tokLen": 2 }, "end": { - "offset": 30646, - "line": 999, + "offset": 31759, + "line": 1042, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463b080", + "id": "0x7f0da6b99ca8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30605, - "line": 998, + "offset": 31718, + "line": 1041, "col": 9, "tokLen": 1 }, "end": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 } @@ -48124,67 +48794,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463b068", + "id": "0x7f0da6b99c90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 }, "end": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463b048", + "id": "0x7f0da6b99c70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 }, "end": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463a2d0", + "id": "0x7f0da6b98a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30605, + "offset": 31718, "col": 9, "tokLen": 1 }, "end": { - "offset": 30605, + "offset": 31718, "col": 9, "tokLen": 1 } @@ -48192,11 +48862,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -48205,16 +48875,16 @@ } }, { - "id": "0x7f196463b030", + "id": "0x7f0da6b99c58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 }, "end": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 } @@ -48226,16 +48896,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463a2f0", + "id": "0x7f0da6b98a68", "kind": "StringLiteral", "range": { "begin": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 }, "end": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 } @@ -48251,33 +48921,33 @@ ] }, { - "id": "0x7f196463b120", + "id": "0x7f0da6b99d48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30633, - "line": 999, + "offset": 31746, + "line": 1042, "col": 9, "tokLen": 6 }, "end": { - "offset": 30646, + "offset": 31759, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463b0f0", + "id": "0x7f0da6b99d18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30640, + "offset": 31753, "col": 16, "tokLen": 4 }, "end": { - "offset": 30646, + "offset": 31759, "col": 22, "tokLen": 19 } @@ -48287,7 +48957,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b2b0", + "id": "0x2cdc12f0", "kind": "EnumConstantDecl", "name": "CONTINUOUS_INTERNAL", "type": { @@ -48300,35 +48970,35 @@ ] }, { - "id": "0x7f196463bfb0", + "id": "0x7f0da6b9b088", "kind": "IfStmt", "range": { "begin": { - "offset": 30671, - "line": 1000, + "offset": 31784, + "line": 1043, "col": 5, "tokLen": 2 }, "end": { - "offset": 30716, - "line": 1001, + "offset": 31829, + "line": 1044, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463bf00", + "id": "0x7f0da6b9afd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30675, - "line": 1000, + "offset": 31788, + "line": 1043, "col": 9, "tokLen": 1 }, "end": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 } @@ -48340,67 +49010,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463bee8", + "id": "0x7f0da6b9afc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 }, "end": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463bec8", + "id": "0x7f0da6b9afa0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 }, "end": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463b150", + "id": "0x7f0da6b99d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30675, + "offset": 31788, "col": 9, "tokLen": 1 }, "end": { - "offset": 30675, + "offset": 31788, "col": 9, "tokLen": 1 } @@ -48408,11 +49078,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -48421,16 +49091,16 @@ } }, { - "id": "0x7f196463beb0", + "id": "0x7f0da6b9af88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 }, "end": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 } @@ -48442,16 +49112,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463b170", + "id": "0x7f0da6b99d98", "kind": "StringLiteral", "range": { "begin": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 }, "end": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 } @@ -48467,33 +49137,33 @@ ] }, { - "id": "0x7f196463bfa0", + "id": "0x7f0da6b9b078", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30703, - "line": 1001, + "offset": 31816, + "line": 1044, "col": 9, "tokLen": 6 }, "end": { - "offset": 30716, + "offset": 31829, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463bf70", + "id": "0x7f0da6b9b048", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30710, + "offset": 31823, "col": 16, "tokLen": 4 }, "end": { - "offset": 30716, + "offset": 31829, "col": 22, "tokLen": 19 } @@ -48503,7 +49173,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b300", + "id": "0x2cdc1340", "kind": "EnumConstantDecl", "name": "CONTINUOUS_EXTERNAL", "type": { @@ -48516,17 +49186,17 @@ ] }, { - "id": "0x7f196463c5c0", + "id": "0x7f0da6b9b718", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 30741, - "line": 1002, + "offset": 31854, + "line": 1045, "col": 5, "tokLen": 5 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } @@ -48538,16 +49208,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f196463c5a8", + "id": "0x7f0da6b9b700", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 30741, + "offset": 31854, "col": 5, "tokLen": 5 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } @@ -48558,74 +49228,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f196463c578", + "id": "0x7f0da6b9b6d0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f196463c560", + "id": "0x7f0da6b9b6b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f196463c538", + "id": "0x7f0da6b9b690", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -48634,27 +49307,28 @@ }, "inner": [ { - "id": "0x7f196463c518", + "id": "0x7f0da6b9b670", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f196463c510", + "temp": "0x7f0da6b9b668", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -48663,22 +49337,23 @@ }, "inner": [ { - "id": "0x7f196463c4e0", + "id": "0x7f0da6b9b638", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -48688,73 +49363,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f196463c4c8", + "id": "0x7f0da6b9b620", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f196463c4b0", + "id": "0x7f0da6b9b608", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f196463c490", + "id": "0x7f0da6b9b5e8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f196463c488", + "temp": "0x7f0da6b9b5e0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -48763,89 +49438,89 @@ }, "inner": [ { - "id": "0x7f196463c450", + "id": "0x7f0da6b9b5a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f196463c438", + "id": "0x7f0da6b9b590", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 }, "end": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463c418", + "id": "0x7f0da6b9b570", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 }, "end": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f196463c400", + "id": "0x7f0da6b9b558", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 } @@ -48857,16 +49532,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463bfe0", + "id": "0x7f0da6b9b0b8", "kind": "StringLiteral", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 } @@ -48880,16 +49555,16 @@ ] }, { - "id": "0x7f196463c010", + "id": "0x7f0da6b9b0e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } @@ -48897,11 +49572,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -48936,29 +49611,29 @@ ] } { - "id": "0x7f196463c788", + "id": "0x7f0da6b9b8e8", "kind": "FunctionDecl", "loc": { - "offset": 30826, + "offset": 31939, "file": "ToString.cpp", - "line": 1005, + "line": 1048, "col": 36, "tokLen": 8 }, "range": { "begin": { - "offset": 30791, + "offset": 31904, "col": 1, "tokLen": 8 }, "end": { - "offset": 31044, - "line": 1011, + "offset": 32157, + "line": 1054, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368c078", + "previousDecl": "0x2d378f08", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16timingSourceTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -48972,13 +49647,13 @@ }, "inner": [ { - "id": "0x2f5b470", + "id": "0x2cdc14b0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingSourceType" }, "decl": { - "id": "0x2f5b3c8", + "id": "0x2cdc1408", "kind": "EnumDecl", "name": "timingSourceType" } @@ -48986,22 +49661,22 @@ ] }, { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "loc": { - "offset": 30854, - "line": 1005, + "offset": 31967, + "line": 1048, "col": 64, "tokLen": 1 }, "range": { "begin": { - "offset": 30835, + "offset": 31948, "col": 45, "tokLen": 5 }, "end": { - "offset": 30854, + "offset": 31967, "col": 64, "tokLen": 1 } @@ -49013,52 +49688,52 @@ } }, { - "id": "0x7f196463ec30", + "id": "0x7f0da6b5d808", "kind": "CompoundStmt", "range": { "begin": { - "offset": 30857, + "offset": 31970, "col": 67, "tokLen": 1 }, "end": { - "offset": 31044, - "line": 1011, + "offset": 32157, + "line": 1054, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f196463d790", + "id": "0x7f0da6b5bdf8", "kind": "IfStmt", "range": { "begin": { - "offset": 30863, - "line": 1006, + "offset": 31976, + "line": 1049, "col": 5, "tokLen": 2 }, "end": { - "offset": 30905, - "line": 1007, + "offset": 32018, + "line": 1050, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463d6e0", + "id": "0x7f0da6b5bd48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30867, - "line": 1006, + "offset": 31980, + "line": 1049, "col": 9, "tokLen": 1 }, "end": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 } @@ -49070,67 +49745,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463d6c8", + "id": "0x7f0da6b5bd30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 }, "end": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463d6a8", + "id": "0x7f0da6b5bd10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 }, "end": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463c940", + "id": "0x7f0da6b9bad0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30867, + "offset": 31980, "col": 9, "tokLen": 1 }, "end": { - "offset": 30867, + "offset": 31980, "col": 9, "tokLen": 1 } @@ -49138,11 +49813,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "name": "s", "type": { @@ -49151,16 +49826,16 @@ } }, { - "id": "0x7f196463d690", + "id": "0x7f0da6b5bcf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 }, "end": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 } @@ -49172,16 +49847,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463c960", + "id": "0x7f0da6b9baf0", "kind": "StringLiteral", "range": { "begin": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 }, "end": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 } @@ -49197,33 +49872,33 @@ ] }, { - "id": "0x7f196463d780", + "id": "0x7f0da6b5bde8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30892, - "line": 1007, + "offset": 32005, + "line": 1050, "col": 9, "tokLen": 6 }, "end": { - "offset": 30905, + "offset": 32018, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463d750", + "id": "0x7f0da6b5bdb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30899, + "offset": 32012, "col": 16, "tokLen": 4 }, "end": { - "offset": 30905, + "offset": 32018, "col": 22, "tokLen": 15 } @@ -49233,7 +49908,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b490", + "id": "0x2cdc14d0", "kind": "EnumConstantDecl", "name": "TIMING_INTERNAL", "type": { @@ -49246,35 +49921,35 @@ ] }, { - "id": "0x7f196463e600", + "id": "0x7f0da6b5d128", "kind": "IfStmt", "range": { "begin": { - "offset": 30926, - "line": 1008, + "offset": 32039, + "line": 1051, "col": 5, "tokLen": 2 }, "end": { - "offset": 30968, - "line": 1009, + "offset": 32081, + "line": 1052, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463e550", + "id": "0x7f0da6b5d078", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30930, - "line": 1008, + "offset": 32043, + "line": 1051, "col": 9, "tokLen": 1 }, "end": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 } @@ -49286,67 +49961,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463e538", + "id": "0x7f0da6b5d060", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 }, "end": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463e518", + "id": "0x7f0da6b5d040", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 }, "end": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463d7b0", + "id": "0x7f0da6b5be18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30930, + "offset": 32043, "col": 9, "tokLen": 1 }, "end": { - "offset": 30930, + "offset": 32043, "col": 9, "tokLen": 1 } @@ -49354,11 +50029,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "name": "s", "type": { @@ -49367,16 +50042,16 @@ } }, { - "id": "0x7f196463e500", + "id": "0x7f0da6b5d028", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 }, "end": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 } @@ -49388,16 +50063,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463d7d0", + "id": "0x7f0da6b5be38", "kind": "StringLiteral", "range": { "begin": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 }, "end": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 } @@ -49413,33 +50088,33 @@ ] }, { - "id": "0x7f196463e5f0", + "id": "0x7f0da6b5d118", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30955, - "line": 1009, + "offset": 32068, + "line": 1052, "col": 9, "tokLen": 6 }, "end": { - "offset": 30968, + "offset": 32081, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463e5c0", + "id": "0x7f0da6b5d0e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30962, + "offset": 32075, "col": 16, "tokLen": 4 }, "end": { - "offset": 30968, + "offset": 32081, "col": 22, "tokLen": 15 } @@ -49449,7 +50124,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b4e0", + "id": "0x2cdc1520", "kind": "EnumConstantDecl", "name": "TIMING_EXTERNAL", "type": { @@ -49462,17 +50137,17 @@ ] }, { - "id": "0x7f196463ec18", + "id": "0x7f0da6b5d7f0", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 30989, - "line": 1010, + "offset": 32102, + "line": 1053, "col": 5, "tokLen": 5 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } @@ -49484,16 +50159,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f196463ec00", + "id": "0x7f0da6b5d7d8", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 30989, + "offset": 32102, "col": 5, "tokLen": 5 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } @@ -49504,74 +50179,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f196463ebd0", + "id": "0x7f0da6b5d7a8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f196463ebb8", + "id": "0x7f0da6b5d790", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f196463eb90", + "id": "0x7f0da6b5d768", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -49580,27 +50258,28 @@ }, "inner": [ { - "id": "0x7f196463eb70", + "id": "0x7f0da6b5d748", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f196463eb68", + "temp": "0x7f0da6b5d740", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -49609,22 +50288,23 @@ }, "inner": [ { - "id": "0x7f196463eb38", + "id": "0x7f0da6b5d710", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -49634,73 +50314,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f196463eb20", + "id": "0x7f0da6b5d6f8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f196463eb08", + "id": "0x7f0da6b5d6e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f196463eae8", + "id": "0x7f0da6b5d6c0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f196463eae0", + "temp": "0x7f0da6b5d6b8", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -49709,89 +50389,89 @@ }, "inner": [ { - "id": "0x7f196463eaa8", + "id": "0x7f0da6b5d680", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f196463ea90", + "id": "0x7f0da6b5d668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 }, "end": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463ea70", + "id": "0x7f0da6b5d648", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 }, "end": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f196463ea58", + "id": "0x7f0da6b5d630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 } @@ -49803,16 +50483,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463e630", + "id": "0x7f0da6b5d158", "kind": "StringLiteral", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 } @@ -49826,16 +50506,16 @@ ] }, { - "id": "0x7f196463e668", + "id": "0x7f0da6b5d190", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } @@ -49843,11 +50523,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "name": "s", "type": { @@ -49882,29 +50562,29 @@ ] } { - "id": "0x7f196463edd8", + "id": "0x7f0da6b5d9a8", "kind": "FunctionDecl", "loc": { - "offset": 31077, + "offset": 32190, "file": "ToString.cpp", - "line": 1013, + "line": 1056, "col": 31, "tokLen": 8 }, "range": { "begin": { - "offset": 31047, + "offset": 32160, "col": 1, "tokLen": 8 }, "end": { - "offset": 31487, - "line": 1027, + "offset": 32600, + "line": 1070, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368c598", + "previousDecl": "0x2d379458", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11M3_GainCapsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -49918,13 +50598,13 @@ }, "inner": [ { - "id": "0x2f5b5d0", + "id": "0x2cdc1610", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::M3_GainCaps" }, "decl": { - "id": "0x2f5b530", + "id": "0x2cdc1570", "kind": "EnumDecl", "name": "M3_GainCaps" } @@ -49932,22 +50612,22 @@ ] }, { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "loc": { - "offset": 31105, - "line": 1013, + "offset": 32218, + "line": 1056, "col": 59, "tokLen": 1 }, "range": { "begin": { - "offset": 31086, + "offset": 32199, "col": 40, "tokLen": 5 }, "end": { - "offset": 31105, + "offset": 32218, "col": 59, "tokLen": 1 } @@ -49959,52 +50639,52 @@ } }, { - "id": "0x7f1964644c38", + "id": "0x7f0da6b65530", "kind": "CompoundStmt", "range": { "begin": { - "offset": 31108, + "offset": 32221, "col": 62, "tokLen": 1 }, "end": { - "offset": 31487, - "line": 1027, + "offset": 32600, + "line": 1070, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f196463fde0", + "id": "0x7f0da6b5ee98", "kind": "IfStmt", "range": { "begin": { - "offset": 31114, - "line": 1014, + "offset": 32227, + "line": 1057, "col": 5, "tokLen": 2 }, "end": { - "offset": 31154, - "line": 1015, + "offset": 32267, + "line": 1058, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196463fd30", + "id": "0x7f0da6b5ede8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31118, - "line": 1014, + "offset": 32231, + "line": 1057, "col": 9, "tokLen": 1 }, "end": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 } @@ -50016,67 +50696,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463fd18", + "id": "0x7f0da6b5edd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 }, "end": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463fcf8", + "id": "0x7f0da6b5edb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 }, "end": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463ef90", + "id": "0x7f0da6b5db90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31118, + "offset": 32231, "col": 9, "tokLen": 1 }, "end": { - "offset": 31118, + "offset": 32231, "col": 9, "tokLen": 1 } @@ -50084,11 +50764,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50097,16 +50777,16 @@ } }, { - "id": "0x7f196463fce0", + "id": "0x7f0da6b5ed98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 }, "end": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 } @@ -50118,16 +50798,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463efb0", + "id": "0x7f0da6b5dbb0", "kind": "StringLiteral", "range": { "begin": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 }, "end": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 } @@ -50143,33 +50823,33 @@ ] }, { - "id": "0x7f196463fdd0", + "id": "0x7f0da6b5ee88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31141, - "line": 1015, + "offset": 32254, + "line": 1058, "col": 9, "tokLen": 6 }, "end": { - "offset": 31154, + "offset": 32267, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196463fda0", + "id": "0x7f0da6b5ee58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31148, + "offset": 32261, "col": 16, "tokLen": 4 }, "end": { - "offset": 31154, + "offset": 32267, "col": 22, "tokLen": 9 } @@ -50179,7 +50859,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b670", + "id": "0x2cdc16b0", "kind": "EnumConstantDecl", "name": "M3_C10pre", "type": { @@ -50192,35 +50872,35 @@ ] }, { - "id": "0x7f1964640c50", + "id": "0x7f0da6b601c8", "kind": "IfStmt", "range": { "begin": { - "offset": 31169, - "line": 1016, + "offset": 32282, + "line": 1059, "col": 5, "tokLen": 2 }, "end": { - "offset": 31208, - "line": 1017, + "offset": 32321, + "line": 1060, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964640ba0", + "id": "0x7f0da6b60118", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31173, - "line": 1016, + "offset": 32286, + "line": 1059, "col": 9, "tokLen": 1 }, "end": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 } @@ -50232,67 +50912,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964640b88", + "id": "0x7f0da6b60100", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 }, "end": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964640b68", + "id": "0x7f0da6b600e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 }, "end": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463fe00", + "id": "0x7f0da6b5eeb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31173, + "offset": 32286, "col": 9, "tokLen": 1 }, "end": { - "offset": 31173, + "offset": 32286, "col": 9, "tokLen": 1 } @@ -50300,11 +50980,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50313,16 +50993,16 @@ } }, { - "id": "0x7f1964640b50", + "id": "0x7f0da6b600c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 }, "end": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 } @@ -50334,16 +51014,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463fe20", + "id": "0x7f0da6b5eed8", "kind": "StringLiteral", "range": { "begin": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 }, "end": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 } @@ -50359,33 +51039,33 @@ ] }, { - "id": "0x7f1964640c40", + "id": "0x7f0da6b601b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31195, - "line": 1017, + "offset": 32308, + "line": 1060, "col": 9, "tokLen": 6 }, "end": { - "offset": 31208, + "offset": 32321, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964640c10", + "id": "0x7f0da6b60188", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31202, + "offset": 32315, "col": 16, "tokLen": 4 }, "end": { - "offset": 31208, + "offset": 32321, "col": 22, "tokLen": 8 } @@ -50395,7 +51075,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b740", + "id": "0x2cdc1780", "kind": "EnumConstantDecl", "name": "M3_C15sh", "type": { @@ -50408,35 +51088,35 @@ ] }, { - "id": "0x7f1964641ac0", + "id": "0x7f0da6b614f8", "kind": "IfStmt", "range": { "begin": { - "offset": 31222, - "line": 1018, + "offset": 32335, + "line": 1061, "col": 5, "tokLen": 2 }, "end": { - "offset": 31261, - "line": 1019, + "offset": 32374, + "line": 1062, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964641a10", + "id": "0x7f0da6b61448", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31226, - "line": 1018, + "offset": 32339, + "line": 1061, "col": 9, "tokLen": 1 }, "end": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 } @@ -50448,67 +51128,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646419f8", + "id": "0x7f0da6b61430", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 }, "end": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646419d8", + "id": "0x7f0da6b61410", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 }, "end": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964640c70", + "id": "0x7f0da6b601e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31226, + "offset": 32339, "col": 9, "tokLen": 1 }, "end": { - "offset": 31226, + "offset": 32339, "col": 9, "tokLen": 1 } @@ -50516,11 +51196,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50529,16 +51209,16 @@ } }, { - "id": "0x7f19646419c0", + "id": "0x7f0da6b613f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 }, "end": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 } @@ -50550,16 +51230,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964640c90", + "id": "0x7f0da6b60208", "kind": "StringLiteral", "range": { "begin": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 }, "end": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 } @@ -50575,33 +51255,33 @@ ] }, { - "id": "0x7f1964641ab0", + "id": "0x7f0da6b614e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31248, - "line": 1019, + "offset": 32361, + "line": 1062, "col": 9, "tokLen": 6 }, "end": { - "offset": 31261, + "offset": 32374, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964641a80", + "id": "0x7f0da6b614b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31255, + "offset": 32368, "col": 16, "tokLen": 4 }, "end": { - "offset": 31261, + "offset": 32374, "col": 22, "tokLen": 8 } @@ -50611,7 +51291,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b810", + "id": "0x2cdc1850", "kind": "EnumConstantDecl", "name": "M3_C30sh", "type": { @@ -50624,35 +51304,35 @@ ] }, { - "id": "0x7f1964642930", + "id": "0x7f0da6b62828", "kind": "IfStmt", "range": { "begin": { - "offset": 31275, - "line": 1020, + "offset": 32388, + "line": 1063, "col": 5, "tokLen": 2 }, "end": { - "offset": 31314, - "line": 1021, + "offset": 32427, + "line": 1064, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964642880", + "id": "0x7f0da6b62778", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31279, - "line": 1020, + "offset": 32392, + "line": 1063, "col": 9, "tokLen": 1 }, "end": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 } @@ -50664,67 +51344,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964642868", + "id": "0x7f0da6b62760", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 }, "end": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964642848", + "id": "0x7f0da6b62740", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 }, "end": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964641ae0", + "id": "0x7f0da6b61518", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31279, + "offset": 32392, "col": 9, "tokLen": 1 }, "end": { - "offset": 31279, + "offset": 32392, "col": 9, "tokLen": 1 } @@ -50732,11 +51412,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50745,16 +51425,16 @@ } }, { - "id": "0x7f1964642830", + "id": "0x7f0da6b62728", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 }, "end": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 } @@ -50766,16 +51446,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964641b00", + "id": "0x7f0da6b61538", "kind": "StringLiteral", "range": { "begin": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 }, "end": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 } @@ -50791,33 +51471,33 @@ ] }, { - "id": "0x7f1964642920", + "id": "0x7f0da6b62818", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31301, - "line": 1021, + "offset": 32414, + "line": 1064, "col": 9, "tokLen": 6 }, "end": { - "offset": 31314, + "offset": 32427, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f19646428f0", + "id": "0x7f0da6b627e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31308, + "offset": 32421, "col": 16, "tokLen": 4 }, "end": { - "offset": 31314, + "offset": 32427, "col": 22, "tokLen": 8 } @@ -50827,7 +51507,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b8e0", + "id": "0x2cdc1920", "kind": "EnumConstantDecl", "name": "M3_C50sh", "type": { @@ -50840,35 +51520,35 @@ ] }, { - "id": "0x7f19646437a0", + "id": "0x7f0da6b63b58", "kind": "IfStmt", "range": { "begin": { - "offset": 31328, - "line": 1022, + "offset": 32441, + "line": 1065, "col": 5, "tokLen": 2 }, "end": { - "offset": 31370, - "line": 1023, + "offset": 32483, + "line": 1066, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x7f19646436f0", + "id": "0x7f0da6b63aa8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31332, - "line": 1022, + "offset": 32445, + "line": 1065, "col": 9, "tokLen": 1 }, "end": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 } @@ -50880,67 +51560,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646436d8", + "id": "0x7f0da6b63a90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 }, "end": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646436b8", + "id": "0x7f0da6b63a70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 }, "end": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964642950", + "id": "0x7f0da6b62848", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31332, + "offset": 32445, "col": 9, "tokLen": 1 }, "end": { - "offset": 31332, + "offset": 32445, "col": 9, "tokLen": 1 } @@ -50948,11 +51628,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50961,16 +51641,16 @@ } }, { - "id": "0x7f19646436a0", + "id": "0x7f0da6b63a58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 }, "end": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 } @@ -50982,16 +51662,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964642970", + "id": "0x7f0da6b62868", "kind": "StringLiteral", "range": { "begin": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 }, "end": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 } @@ -51007,33 +51687,33 @@ ] }, { - "id": "0x7f1964643790", + "id": "0x7f0da6b63b48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31357, - "line": 1023, + "offset": 32470, + "line": 1066, "col": 9, "tokLen": 6 }, "end": { - "offset": 31370, + "offset": 32483, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x7f1964643760", + "id": "0x7f0da6b63b18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31364, + "offset": 32477, "col": 16, "tokLen": 4 }, "end": { - "offset": 31370, + "offset": 32483, "col": 22, "tokLen": 11 } @@ -51043,7 +51723,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b9b0", + "id": "0x2cdc19f0", "kind": "EnumConstantDecl", "name": "M3_C225ACsh", "type": { @@ -51056,35 +51736,35 @@ ] }, { - "id": "0x7f1964644610", + "id": "0x7f0da6b64e88", "kind": "IfStmt", "range": { "begin": { - "offset": 31387, - "line": 1024, + "offset": 32500, + "line": 1067, "col": 5, "tokLen": 2 }, "end": { - "offset": 31427, - "line": 1025, + "offset": 32540, + "line": 1068, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f1964644560", + "id": "0x7f0da6b64dd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31391, - "line": 1024, + "offset": 32504, + "line": 1067, "col": 9, "tokLen": 1 }, "end": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 } @@ -51096,67 +51776,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964644548", + "id": "0x7f0da6b64dc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 }, "end": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964644528", + "id": "0x7f0da6b64da0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 }, "end": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646437c0", + "id": "0x7f0da6b63b78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31391, + "offset": 32504, "col": 9, "tokLen": 1 }, "end": { - "offset": 31391, + "offset": 32504, "col": 9, "tokLen": 1 } @@ -51164,11 +51844,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -51177,16 +51857,16 @@ } }, { - "id": "0x7f1964644510", + "id": "0x7f0da6b64d88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 }, "end": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 } @@ -51198,16 +51878,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646437e0", + "id": "0x7f0da6b63b98", "kind": "StringLiteral", "range": { "begin": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 }, "end": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 } @@ -51223,33 +51903,33 @@ ] }, { - "id": "0x7f1964644600", + "id": "0x7f0da6b64e78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31414, - "line": 1025, + "offset": 32527, + "line": 1068, "col": 9, "tokLen": 6 }, "end": { - "offset": 31427, + "offset": 32540, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f19646445d0", + "id": "0x7f0da6b64e48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31421, + "offset": 32534, "col": 16, "tokLen": 4 }, "end": { - "offset": 31427, + "offset": 32540, "col": 22, "tokLen": 9 } @@ -51259,7 +51939,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ba80", + "id": "0x2cdc1ac0", "kind": "EnumConstantDecl", "name": "M3_C15pre", "type": { @@ -51272,17 +51952,17 @@ ] }, { - "id": "0x7f1964644c20", + "id": "0x7f0da6b65518", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 31442, - "line": 1026, + "offset": 32555, + "line": 1069, "col": 5, "tokLen": 5 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } @@ -51294,16 +51974,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f1964644c08", + "id": "0x7f0da6b65500", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 31442, + "offset": 32555, "col": 5, "tokLen": 5 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } @@ -51314,74 +51994,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f1964644bd8", + "id": "0x7f0da6b654d0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f1964644bc0", + "id": "0x7f0da6b654b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f1964644b98", + "id": "0x7f0da6b65490", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -51390,27 +52073,28 @@ }, "inner": [ { - "id": "0x7f1964644b78", + "id": "0x7f0da6b65470", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f1964644b70", + "temp": "0x7f0da6b65468", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -51419,22 +52103,23 @@ }, "inner": [ { - "id": "0x7f1964644b40", + "id": "0x7f0da6b65438", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -51444,73 +52129,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f1964644b28", + "id": "0x7f0da6b65420", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f1964644b10", + "id": "0x7f0da6b65408", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f1964644af0", + "id": "0x7f0da6b653e8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f1964644ae8", + "temp": "0x7f0da6b653e0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -51519,89 +52204,89 @@ }, "inner": [ { - "id": "0x7f1964644ab0", + "id": "0x7f0da6b653a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f1964644a98", + "id": "0x7f0da6b65390", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 }, "end": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964644a78", + "id": "0x7f0da6b65370", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 }, "end": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f1964644a60", + "id": "0x7f0da6b65358", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 } @@ -51613,16 +52298,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964644640", + "id": "0x7f0da6b64eb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 } @@ -51636,16 +52321,16 @@ ] }, { - "id": "0x7f1964644670", + "id": "0x7f0da6b64ee8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } @@ -51653,11 +52338,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -51692,29 +52377,29 @@ ] } { - "id": "0x7f1964644df8", + "id": "0x7f0da6b656f8", "kind": "FunctionDecl", "loc": { - "offset": 31521, + "offset": 32634, "file": "ToString.cpp", - "line": 1029, + "line": 1072, "col": 32, "tokLen": 8 }, "range": { "begin": { - "offset": 31490, + "offset": 32603, "col": 1, "tokLen": 8 }, "end": { - "offset": 31804, - "line": 1039, + "offset": 32917, + "line": 1082, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368cab8", + "previousDecl": "0x2d3799a8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12portPositionEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -51728,13 +52413,13 @@ }, "inner": [ { - "id": "0x2f5bc00", + "id": "0x2cdc1c40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::portPosition" }, "decl": { - "id": "0x2f5bb60", + "id": "0x2cdc1ba0", "kind": "EnumDecl", "name": "portPosition" } @@ -51742,22 +52427,22 @@ ] }, { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "loc": { - "offset": 31549, - "line": 1029, + "offset": 32662, + "line": 1072, "col": 60, "tokLen": 1 }, "range": { "begin": { - "offset": 31530, + "offset": 32643, "col": 41, "tokLen": 5 }, "end": { - "offset": 31549, + "offset": 32662, "col": 60, "tokLen": 1 } @@ -51769,52 +52454,52 @@ } }, { - "id": "0x38d70f8", + "id": "0x7f0da6b6ac20", "kind": "CompoundStmt", "range": { "begin": { - "offset": 31552, + "offset": 32665, "col": 63, "tokLen": 1 }, "end": { - "offset": 31804, - "line": 1039, + "offset": 32917, + "line": 1082, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f1964645e00", + "id": "0x7f0da6b66be8", "kind": "IfStmt", "range": { "begin": { - "offset": 31558, - "line": 1030, + "offset": 32671, + "line": 1073, "col": 5, "tokLen": 2 }, "end": { - "offset": 31596, - "line": 1031, + "offset": 32709, + "line": 1074, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x7f1964645d50", + "id": "0x7f0da6b66b38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31562, - "line": 1030, + "offset": 32675, + "line": 1073, "col": 9, "tokLen": 1 }, "end": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 } @@ -51826,67 +52511,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964645d38", + "id": "0x7f0da6b66b20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 }, "end": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964645d18", + "id": "0x7f0da6b66b00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 }, "end": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964644fb0", + "id": "0x7f0da6b658e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31562, + "offset": 32675, "col": 9, "tokLen": 1 }, "end": { - "offset": 31562, + "offset": 32675, "col": 9, "tokLen": 1 } @@ -51894,11 +52579,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -51907,16 +52592,16 @@ } }, { - "id": "0x7f1964645d00", + "id": "0x7f0da6b66ae8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 }, "end": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 } @@ -51928,16 +52613,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964644fd0", + "id": "0x7f0da6b65900", "kind": "StringLiteral", "range": { "begin": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 }, "end": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 } @@ -51953,33 +52638,33 @@ ] }, { - "id": "0x7f1964645df0", + "id": "0x7f0da6b66bd8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31583, - "line": 1031, + "offset": 32696, + "line": 1074, "col": 9, "tokLen": 6 }, "end": { - "offset": 31596, + "offset": 32709, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x7f1964645dc0", + "id": "0x7f0da6b66ba8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31590, + "offset": 32703, "col": 16, "tokLen": 4 }, "end": { - "offset": 31596, + "offset": 32709, "col": 22, "tokLen": 4 } @@ -51989,7 +52674,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bc20", + "id": "0x2cdc1c60", "kind": "EnumConstantDecl", "name": "LEFT", "type": { @@ -52002,35 +52687,35 @@ ] }, { - "id": "0x7f1964646c70", + "id": "0x7f0da6b67f18", "kind": "IfStmt", "range": { "begin": { - "offset": 31606, - "line": 1032, + "offset": 32719, + "line": 1075, "col": 5, "tokLen": 2 }, "end": { - "offset": 31645, - "line": 1033, + "offset": 32758, + "line": 1076, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964646bc0", + "id": "0x7f0da6b67e68", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31610, - "line": 1032, + "offset": 32723, + "line": 1075, "col": 9, "tokLen": 1 }, "end": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 } @@ -52042,67 +52727,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964646ba8", + "id": "0x7f0da6b67e50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 }, "end": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964646b88", + "id": "0x7f0da6b67e30", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 }, "end": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964645e20", + "id": "0x7f0da6b66c08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31610, + "offset": 32723, "col": 9, "tokLen": 1 }, "end": { - "offset": 31610, + "offset": 32723, "col": 9, "tokLen": 1 } @@ -52110,11 +52795,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -52123,16 +52808,16 @@ } }, { - "id": "0x7f1964646b70", + "id": "0x7f0da6b67e18", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 }, "end": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 } @@ -52144,16 +52829,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964645e40", + "id": "0x7f0da6b66c28", "kind": "StringLiteral", "range": { "begin": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 }, "end": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 } @@ -52169,33 +52854,33 @@ ] }, { - "id": "0x7f1964646c60", + "id": "0x7f0da6b67f08", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31632, - "line": 1033, + "offset": 32745, + "line": 1076, "col": 9, "tokLen": 6 }, "end": { - "offset": 31645, + "offset": 32758, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964646c30", + "id": "0x7f0da6b67ed8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31639, + "offset": 32752, "col": 16, "tokLen": 4 }, "end": { - "offset": 31645, + "offset": 32758, "col": 22, "tokLen": 5 } @@ -52205,7 +52890,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bc70", + "id": "0x2cdc1cb0", "kind": "EnumConstantDecl", "name": "RIGHT", "type": { @@ -52218,35 +52903,35 @@ ] }, { - "id": "0x38d5c60", + "id": "0x7f0da6b69248", "kind": "IfStmt", "range": { "begin": { - "offset": 31656, - "line": 1034, + "offset": 32769, + "line": 1077, "col": 5, "tokLen": 2 }, "end": { - "offset": 31693, - "line": 1035, + "offset": 32806, + "line": 1078, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38d5bb0", + "id": "0x7f0da6b69198", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31660, - "line": 1034, + "offset": 32773, + "line": 1077, "col": 9, "tokLen": 1 }, "end": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 } @@ -52258,67 +52943,67 @@ "adl": true, "inner": [ { - "id": "0x38d5b98", + "id": "0x7f0da6b69180", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 }, "end": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d5b78", + "id": "0x7f0da6b69160", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 }, "end": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964646c90", + "id": "0x7f0da6b67f38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31660, + "offset": 32773, "col": 9, "tokLen": 1 }, "end": { - "offset": 31660, + "offset": 32773, "col": 9, "tokLen": 1 } @@ -52326,11 +53011,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -52339,16 +53024,16 @@ } }, { - "id": "0x38d5b60", + "id": "0x7f0da6b69148", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 }, "end": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 } @@ -52360,16 +53045,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964646cb0", + "id": "0x7f0da6b67f58", "kind": "StringLiteral", "range": { "begin": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 }, "end": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 } @@ -52385,33 +53070,33 @@ ] }, { - "id": "0x38d5c50", + "id": "0x7f0da6b69238", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31680, - "line": 1035, + "offset": 32793, + "line": 1078, "col": 9, "tokLen": 6 }, "end": { - "offset": 31693, + "offset": 32806, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38d5c20", + "id": "0x7f0da6b69208", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31687, + "offset": 32800, "col": 16, "tokLen": 4 }, "end": { - "offset": 31693, + "offset": 32806, "col": 22, "tokLen": 3 } @@ -52421,7 +53106,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bcc0", + "id": "0x2cdc1d00", "kind": "EnumConstantDecl", "name": "TOP", "type": { @@ -52434,35 +53119,35 @@ ] }, { - "id": "0x38d6ad0", + "id": "0x7f0da6b6a578", "kind": "IfStmt", "range": { "begin": { - "offset": 31702, - "line": 1036, + "offset": 32815, + "line": 1079, "col": 5, "tokLen": 2 }, "end": { - "offset": 31742, - "line": 1037, + "offset": 32855, + "line": 1080, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d6a20", + "id": "0x7f0da6b6a4c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31706, - "line": 1036, + "offset": 32819, + "line": 1079, "col": 9, "tokLen": 1 }, "end": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 } @@ -52474,67 +53159,67 @@ "adl": true, "inner": [ { - "id": "0x38d6a08", + "id": "0x7f0da6b6a4b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 }, "end": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d69e8", + "id": "0x7f0da6b6a490", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 }, "end": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d5c80", + "id": "0x7f0da6b69268", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31706, + "offset": 32819, "col": 9, "tokLen": 1 }, "end": { - "offset": 31706, + "offset": 32819, "col": 9, "tokLen": 1 } @@ -52542,11 +53227,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -52555,16 +53240,16 @@ } }, { - "id": "0x38d69d0", + "id": "0x7f0da6b6a478", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 }, "end": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 } @@ -52576,16 +53261,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d5ca0", + "id": "0x7f0da6b69288", "kind": "StringLiteral", "range": { "begin": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 }, "end": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 } @@ -52601,33 +53286,33 @@ ] }, { - "id": "0x38d6ac0", + "id": "0x7f0da6b6a568", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31729, - "line": 1037, + "offset": 32842, + "line": 1080, "col": 9, "tokLen": 6 }, "end": { - "offset": 31742, + "offset": 32855, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d6a90", + "id": "0x7f0da6b6a538", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31736, + "offset": 32849, "col": 16, "tokLen": 4 }, "end": { - "offset": 31742, + "offset": 32855, "col": 22, "tokLen": 6 } @@ -52637,7 +53322,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bd10", + "id": "0x2cdc1d50", "kind": "EnumConstantDecl", "name": "BOTTOM", "type": { @@ -52650,17 +53335,17 @@ ] }, { - "id": "0x38d70e0", + "id": "0x7f0da6b6ac08", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 31754, - "line": 1038, + "offset": 32867, + "line": 1081, "col": 5, "tokLen": 5 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } @@ -52672,16 +53357,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38d70c8", + "id": "0x7f0da6b6abf0", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 31754, + "offset": 32867, "col": 5, "tokLen": 5 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } @@ -52692,74 +53377,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38d7098", + "id": "0x7f0da6b6abc0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38d7080", + "id": "0x7f0da6b6aba8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38d7058", + "id": "0x7f0da6b6ab80", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -52768,27 +53456,28 @@ }, "inner": [ { - "id": "0x38d7038", + "id": "0x7f0da6b6ab60", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38d7030", + "temp": "0x7f0da6b6ab58", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -52797,22 +53486,23 @@ }, "inner": [ { - "id": "0x38d7000", + "id": "0x7f0da6b6ab28", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -52822,73 +53512,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38d6fe8", + "id": "0x7f0da6b6ab10", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38d6fd0", + "id": "0x7f0da6b6aaf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d6fb0", + "id": "0x7f0da6b6aad8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38d6fa8", + "temp": "0x7f0da6b6aad0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -52897,89 +53587,89 @@ }, "inner": [ { - "id": "0x38d6f70", + "id": "0x7f0da6b6aa98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38d6f58", + "id": "0x7f0da6b6aa80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 }, "end": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d6f38", + "id": "0x7f0da6b6aa60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 }, "end": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38d6f20", + "id": "0x7f0da6b6aa48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 } @@ -52991,16 +53681,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d6b00", + "id": "0x7f0da6b6a5a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 } @@ -53014,16 +53704,16 @@ ] }, { - "id": "0x38d6b30", + "id": "0x7f0da6b6a5d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } @@ -53031,11 +53721,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -53070,29 +53760,29 @@ ] } { - "id": "0x38d72a8", + "id": "0x7f0da6b6add8", "kind": "FunctionDecl", "loc": { - "offset": 31844, + "offset": 32957, "file": "ToString.cpp", - "line": 1041, + "line": 1084, "col": 38, "tokLen": 8 }, "range": { "begin": { - "offset": 31807, + "offset": 32920, "col": 1, "tokLen": 8 }, "end": { - "offset": 32267, - "line": 1052, + "offset": 33380, + "line": 1095, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368cfd8", + "previousDecl": "0x2d379ef8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18streamingInterfaceEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -53106,13 +53796,13 @@ }, "inner": [ { - "id": "0x2f5bf90", + "id": "0x2cdc1fd0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::streamingInterface" }, "decl": { - "id": "0x2f5bef0", + "id": "0x2cdc1f30", "kind": "EnumDecl", "name": "streamingInterface" } @@ -53120,22 +53810,22 @@ ] }, { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "loc": { - "offset": 31872, - "line": 1041, + "offset": 32985, + "line": 1084, "col": 66, "tokLen": 1 }, "range": { "begin": { - "offset": 31853, + "offset": 32966, "col": 47, "tokLen": 5 }, "end": { - "offset": 31872, + "offset": 32985, "col": 66, "tokLen": 1 } @@ -53147,55 +53837,55 @@ } }, { - "id": "0x38dacc0", + "id": "0x7f0da6b6f708", "kind": "CompoundStmt", "range": { "begin": { - "offset": 31875, + "offset": 32988, "col": 69, "tokLen": 1 }, "end": { - "offset": 32267, - "line": 1052, + "offset": 33380, + "line": 1095, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38d7560", + "id": "0x7f0da6b6b0c0", "kind": "DeclStmt", "range": { "begin": { - "offset": 31881, - "line": 1042, + "offset": 32994, + "line": 1085, "col": 5, "tokLen": 3 }, "end": { - "offset": 31899, + "offset": 33012, "col": 23, "tokLen": 1 } }, "inner": [ { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "loc": { - "offset": 31893, + "offset": 33006, "col": 17, "tokLen": 2 }, "range": { "begin": { - "offset": 31881, + "offset": 32994, "col": 5, "tokLen": 3 }, "end": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 } @@ -53205,21 +53895,21 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "init": "c", "inner": [ { - "id": "0x38d7530", + "id": "0x7f0da6b6b090", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 }, "end": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 } @@ -53227,26 +53917,26 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (const std::basic_string &)" + "qualType": "void (const basic_string &)" }, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38d7510", + "id": "0x7f0da6b6b070", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 }, "end": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 } @@ -53254,11 +53944,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "name": "s", "type": { @@ -53273,35 +53963,35 @@ ] }, { - "id": "0x38d7ab0", + "id": "0x7f0da6b6b610", "kind": "IfStmt", "range": { "begin": { - "offset": 31905, - "line": 1043, + "offset": 33018, + "line": 1086, "col": 5, "tokLen": 2 }, "end": { - "offset": 31972, - "line": 1044, + "offset": 33085, + "line": 1087, "col": 30, "tokLen": 1 } }, "inner": [ { - "id": "0x38d77c0", + "id": "0x7f0da6b6b320", "kind": "BinaryOperator", "range": { "begin": { - "offset": 31909, - "line": 1043, + "offset": 33022, + "line": 1086, "col": 9, "tokLen": 1 }, "end": { - "offset": 31937, + "offset": 33050, "col": 37, "tokLen": 4 } @@ -53313,38 +54003,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38d7650", + "id": "0x7f0da6b6b1b0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 }, "end": { - "offset": 31919, + "offset": 33032, "col": 19, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38d7620", + "id": "0x7f0da6b6b180", "kind": "MemberExpr", "range": { "begin": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 }, "end": { - "offset": 31911, + "offset": 33024, "col": 11, "tokLen": 4 } @@ -53355,19 +54045,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1fe0", + "referencedMemberDecl": "0x2c8caab0", "inner": [ { - "id": "0x38d7578", + "id": "0x7f0da6b6b0d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 }, "end": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 } @@ -53375,11 +54065,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "name": "s", "type": { @@ -53390,16 +54080,16 @@ ] }, { - "id": "0x38d7608", + "id": "0x7f0da6b6b168", "kind": "CharacterLiteral", "range": { "begin": { - "offset": 31916, + "offset": 33029, "col": 16, "tokLen": 3 }, "end": { - "offset": 31916, + "offset": 33029, "col": 16, "tokLen": 3 } @@ -53411,7 +54101,7 @@ "value": 44 }, { - "id": "0x38d7698", + "id": "0x7f0da6b6b1f8", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -53419,24 +54109,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38d77a8", + "id": "0x7f0da6b6b308", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31924, + "offset": 33037, "col": 24, "tokLen": 3 }, "end": { - "offset": 31937, + "offset": 33050, "col": 37, "tokLen": 4 } @@ -53444,22 +54134,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38d7778", + "id": "0x7f0da6b6b2d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31924, + "offset": 33037, "col": 24, "tokLen": 3 }, "end": { - "offset": 31937, + "offset": 33050, "col": 37, "tokLen": 4 } @@ -53467,17 +54157,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -53487,37 +54177,38 @@ ] }, { - "id": "0x38d7a08", + "id": "0x7f0da6b6b568", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 31951, - "line": 1044, + "offset": 33064, + "line": 1087, "col": 9, "tokLen": 2 }, "end": { - "offset": 31972, + "offset": 33085, "col": 30, "tokLen": 1 } }, "type": { - "qualType": "std::basic_string" + "desugaredQualType": "std::basic_string", + "qualType": "basic_string" }, "valueCategory": "lvalue", "inner": [ { - "id": "0x38d79d8", + "id": "0x7f0da6b6b538", "kind": "MemberExpr", "range": { "begin": { - "offset": 31951, + "offset": 33064, "col": 9, "tokLen": 2 }, "end": { - "offset": 31954, + "offset": 33067, "col": 12, "tokLen": 5 } @@ -53528,19 +54219,19 @@ "valueCategory": "prvalue", "name": "erase", "isArrow": false, - "referencedMemberDecl": "0x2c9ba48", + "referencedMemberDecl": "0x2c8c3390", "inner": [ { - "id": "0x38d77e0", + "id": "0x7f0da6b6b340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31951, + "offset": 33064, "col": 9, "tokLen": 2 }, "end": { - "offset": 31951, + "offset": 33064, "col": 9, "tokLen": 2 } @@ -53548,55 +54239,55 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38d7940", + "id": "0x7f0da6b6b4a0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31971, + "offset": 33084, "col": 29, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38d7910", + "id": "0x7f0da6b6b470", "kind": "MemberExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31963, + "offset": 33076, "col": 21, "tokLen": 4 } @@ -53607,19 +54298,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1fe0", + "referencedMemberDecl": "0x2c8caab0", "inner": [ { - "id": "0x38d7970", + "id": "0x7f0da6b6b4d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 } @@ -53631,16 +54322,16 @@ "castKind": "NoOp", "inner": [ { - "id": "0x38d7868", + "id": "0x7f0da6b6b3c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 } @@ -53648,17 +54339,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } @@ -53667,16 +54358,16 @@ ] }, { - "id": "0x38d78f8", + "id": "0x7f0da6b6b458", "kind": "CharacterLiteral", "range": { "begin": { - "offset": 31968, + "offset": 33081, "col": 26, "tokLen": 3 }, "end": { - "offset": 31968, + "offset": 33081, "col": 26, "tokLen": 3 } @@ -53688,7 +54379,7 @@ "value": 44 }, { - "id": "0x38d7988", + "id": "0x7f0da6b6b4e8", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -53696,15 +54387,15 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38d7a90", + "id": "0x7f0da6b6b5f0", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -53713,7 +54404,7 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } @@ -53722,35 +54413,35 @@ ] }, { - "id": "0x38d8950", + "id": "0x7f0da6b6c968", "kind": "IfStmt", "range": { "begin": { - "offset": 31979, - "line": 1045, + "offset": 33092, + "line": 1088, "col": 5, "tokLen": 2 }, "end": { - "offset": 32038, - "line": 1046, + "offset": 33151, + "line": 1089, "col": 42, "tokLen": 4 } }, "inner": [ { - "id": "0x38d8888", + "id": "0x7f0da6b6c8a0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31983, - "line": 1045, + "offset": 33096, + "line": 1088, "col": 9, "tokLen": 2 }, "end": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 } @@ -53762,89 +54453,89 @@ "adl": true, "inner": [ { - "id": "0x38d8870", + "id": "0x7f0da6b6c888", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 }, "end": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d8850", + "id": "0x7f0da6b6c868", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 }, "end": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d8820", + "id": "0x7f0da6b6c838", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 }, "end": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d7ad0", + "id": "0x7f0da6b6b630", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 }, "end": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 } @@ -53852,33 +54543,33 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38d8838", + "id": "0x7f0da6b6c850", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 }, "end": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 } @@ -53890,16 +54581,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d7af0", + "id": "0x7f0da6b6b650", "kind": "StringLiteral", "range": { "begin": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 }, "end": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 } @@ -53915,33 +54606,33 @@ ] }, { - "id": "0x38d8940", + "id": "0x7f0da6b6c958", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32005, - "line": 1046, + "offset": 33118, + "line": 1089, "col": 9, "tokLen": 6 }, "end": { - "offset": 32038, + "offset": 33151, "col": 42, "tokLen": 4 } }, "inner": [ { - "id": "0x38d8910", + "id": "0x7f0da6b6c928", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32012, + "offset": 33125, "col": 16, "tokLen": 4 }, "end": { - "offset": 32038, + "offset": 33151, "col": 42, "tokLen": 4 } @@ -53951,7 +54642,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bff0", + "id": "0x2cdc2030", "kind": "EnumConstantDecl", "name": "NONE", "type": { @@ -53964,35 +54655,35 @@ ] }, { - "id": "0x38d97f0", + "id": "0x7f0da6b6dcc8", "kind": "IfStmt", "range": { "begin": { - "offset": 32048, - "line": 1047, + "offset": 33161, + "line": 1090, "col": 5, "tokLen": 2 }, "end": { - "offset": 32106, - "line": 1048, + "offset": 33219, + "line": 1091, "col": 42, "tokLen": 16 } }, "inner": [ { - "id": "0x38d9728", + "id": "0x7f0da6b6dc00", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32052, - "line": 1047, + "offset": 33165, + "line": 1090, "col": 9, "tokLen": 2 }, "end": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 } @@ -54004,89 +54695,89 @@ "adl": true, "inner": [ { - "id": "0x38d9710", + "id": "0x7f0da6b6dbe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 }, "end": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d96f0", + "id": "0x7f0da6b6dbc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 }, "end": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d96c0", + "id": "0x7f0da6b6db98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 }, "end": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d8970", + "id": "0x7f0da6b6c988", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 }, "end": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 } @@ -54094,33 +54785,33 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38d96d8", + "id": "0x7f0da6b6dbb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 }, "end": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 } @@ -54132,16 +54823,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d8990", + "id": "0x7f0da6b6c9a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 }, "end": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 } @@ -54157,33 +54848,33 @@ ] }, { - "id": "0x38d97e0", + "id": "0x7f0da6b6dcb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32073, - "line": 1048, + "offset": 33186, + "line": 1091, "col": 9, "tokLen": 6 }, "end": { - "offset": 32106, + "offset": 33219, "col": 42, "tokLen": 16 } }, "inner": [ { - "id": "0x38d97b0", + "id": "0x7f0da6b6dc88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32080, + "offset": 33193, "col": 16, "tokLen": 4 }, "end": { - "offset": 32106, + "offset": 33219, "col": 42, "tokLen": 16 } @@ -54193,7 +54884,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c0c0", + "id": "0x2cdc2100", "kind": "EnumConstantDecl", "name": "LOW_LATENCY_LINK", "type": { @@ -54206,35 +54897,35 @@ ] }, { - "id": "0x38da690", + "id": "0x7f0da6b6f028", "kind": "IfStmt", "range": { "begin": { - "offset": 32128, - "line": 1049, + "offset": 33241, + "line": 1092, "col": 5, "tokLen": 2 }, "end": { - "offset": 32188, - "line": 1050, + "offset": 33301, + "line": 1093, "col": 42, "tokLen": 13 } }, "inner": [ { - "id": "0x38da5c8", + "id": "0x7f0da6b6ef60", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32132, - "line": 1049, + "offset": 33245, + "line": 1092, "col": 9, "tokLen": 2 }, "end": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 } @@ -54246,89 +54937,89 @@ "adl": true, "inner": [ { - "id": "0x38da5b0", + "id": "0x7f0da6b6ef48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 }, "end": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38da590", + "id": "0x7f0da6b6ef28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 }, "end": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38da560", + "id": "0x7f0da6b6eef8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 }, "end": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d9810", + "id": "0x7f0da6b6dce8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 }, "end": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 } @@ -54336,33 +55027,33 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38da578", + "id": "0x7f0da6b6ef10", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 }, "end": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 } @@ -54374,16 +55065,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d9830", + "id": "0x7f0da6b6dd08", "kind": "StringLiteral", "range": { "begin": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 }, "end": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 } @@ -54399,33 +55090,33 @@ ] }, { - "id": "0x38da680", + "id": "0x7f0da6b6f018", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32155, - "line": 1050, + "offset": 33268, + "line": 1093, "col": 9, "tokLen": 6 }, "end": { - "offset": 32188, + "offset": 33301, "col": 42, "tokLen": 13 } }, "inner": [ { - "id": "0x38da650", + "id": "0x7f0da6b6efe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32162, + "offset": 33275, "col": 16, "tokLen": 4 }, "end": { - "offset": 32188, + "offset": 33301, "col": 42, "tokLen": 13 } @@ -54435,7 +55126,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c190", + "id": "0x2cdc21d0", "kind": "EnumConstantDecl", "name": "ETHERNET_10GB", "type": { @@ -54448,17 +55139,17 @@ ] }, { - "id": "0x38daca8", + "id": "0x7f0da6b6f6f0", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 32207, - "line": 1051, + "offset": 33320, + "line": 1094, "col": 5, "tokLen": 5 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } @@ -54470,16 +55161,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38dac90", + "id": "0x7f0da6b6f6d8", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 32207, + "offset": 33320, "col": 5, "tokLen": 5 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } @@ -54490,74 +55181,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38dac60", + "id": "0x7f0da6b6f6a8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38dac48", + "id": "0x7f0da6b6f690", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38dac20", + "id": "0x7f0da6b6f668", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -54566,27 +55260,28 @@ }, "inner": [ { - "id": "0x38dac00", + "id": "0x7f0da6b6f648", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38dabf8", + "temp": "0x7f0da6b6f640", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -54595,22 +55290,23 @@ }, "inner": [ { - "id": "0x38dabc8", + "id": "0x7f0da6b6f610", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -54620,73 +55316,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38dabb0", + "id": "0x7f0da6b6f5f8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38dab98", + "id": "0x7f0da6b6f5e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38dab78", + "id": "0x7f0da6b6f5c0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38dab70", + "temp": "0x7f0da6b6f5b8", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -54695,89 +55391,89 @@ }, "inner": [ { - "id": "0x38dab38", + "id": "0x7f0da6b6f580", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38dab20", + "id": "0x7f0da6b6f568", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 }, "end": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dab00", + "id": "0x7f0da6b6f548", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 }, "end": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38daae8", + "id": "0x7f0da6b6f530", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 } @@ -54789,16 +55485,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38da6c0", + "id": "0x7f0da6b6f058", "kind": "StringLiteral", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 } @@ -54812,16 +55508,16 @@ ] }, { - "id": "0x38da6f8", + "id": "0x7f0da6b6f090", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } @@ -54829,11 +55525,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "name": "s", "type": { @@ -54868,29 +55564,29 @@ ] } { - "id": "0x38dae78", + "id": "0x7f0da6b6f8c8", "kind": "FunctionDecl", "loc": { - "offset": 32302, + "offset": 33415, "file": "ToString.cpp", - "line": 1054, + "line": 1097, "col": 33, "tokLen": 8 }, "range": { "begin": { - "offset": 32270, + "offset": 33383, "col": 1, "tokLen": 8 }, "end": { - "offset": 32492, - "line": 1060, + "offset": 33605, + "line": 1103, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368d4f8", + "previousDecl": "0x2d37a448", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs13vetoAlgorithmEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -54904,13 +55600,13 @@ }, "inner": [ { - "id": "0x2f5c350", + "id": "0x2cdc2390", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::vetoAlgorithm" }, "decl": { - "id": "0x2f5c2b0", + "id": "0x2cdc22f0", "kind": "EnumDecl", "name": "vetoAlgorithm" } @@ -54918,22 +55614,22 @@ ] }, { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "loc": { - "offset": 32330, - "line": 1054, + "offset": 33443, + "line": 1097, "col": 61, "tokLen": 1 }, "range": { "begin": { - "offset": 32311, + "offset": 33424, "col": 42, "tokLen": 5 }, "end": { - "offset": 32330, + "offset": 33443, "col": 61, "tokLen": 1 } @@ -54945,52 +55641,52 @@ } }, { - "id": "0x38dd318", + "id": "0x7f0da6b72790", "kind": "CompoundStmt", "range": { "begin": { - "offset": 32333, + "offset": 33446, "col": 64, "tokLen": 1 }, "end": { - "offset": 32492, - "line": 1060, + "offset": 33605, + "line": 1103, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38dbe80", + "id": "0x7f0da6b70db8", "kind": "IfStmt", "range": { "begin": { - "offset": 32339, - "line": 1055, + "offset": 33452, + "line": 1098, "col": 5, "tokLen": 2 }, "end": { - "offset": 32377, - "line": 1056, + "offset": 33490, + "line": 1099, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38dbdd0", + "id": "0x7f0da6b70d08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32343, - "line": 1055, + "offset": 33456, + "line": 1098, "col": 9, "tokLen": 1 }, "end": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 } @@ -55002,67 +55698,67 @@ "adl": true, "inner": [ { - "id": "0x38dbdb8", + "id": "0x7f0da6b70cf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 }, "end": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dbd98", + "id": "0x7f0da6b70cd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 }, "end": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38db030", + "id": "0x7f0da6b6fab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32343, + "offset": 33456, "col": 9, "tokLen": 1 }, "end": { - "offset": 32343, + "offset": 33456, "col": 9, "tokLen": 1 } @@ -55070,11 +55766,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -55083,16 +55779,16 @@ } }, { - "id": "0x38dbd80", + "id": "0x7f0da6b70cb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 }, "end": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 } @@ -55104,16 +55800,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38db050", + "id": "0x7f0da6b6fad0", "kind": "StringLiteral", "range": { "begin": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 }, "end": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 } @@ -55129,33 +55825,33 @@ ] }, { - "id": "0x38dbe70", + "id": "0x7f0da6b70da8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32364, - "line": 1056, + "offset": 33477, + "line": 1099, "col": 9, "tokLen": 6 }, "end": { - "offset": 32377, + "offset": 33490, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38dbe40", + "id": "0x7f0da6b70d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32371, + "offset": 33484, "col": 16, "tokLen": 4 }, "end": { - "offset": 32377, + "offset": 33490, "col": 22, "tokLen": 8 } @@ -55165,7 +55861,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c370", + "id": "0x2cdc23b0", "kind": "EnumConstantDecl", "name": "ALG_HITS", "type": { @@ -55178,35 +55874,35 @@ ] }, { - "id": "0x38dccf0", + "id": "0x7f0da6b720e8", "kind": "IfStmt", "range": { "begin": { - "offset": 32391, - "line": 1057, + "offset": 33504, + "line": 1100, "col": 5, "tokLen": 2 }, "end": { - "offset": 32428, - "line": 1058, + "offset": 33541, + "line": 1101, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38dcc40", + "id": "0x7f0da6b72038", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32395, - "line": 1057, + "offset": 33508, + "line": 1100, "col": 9, "tokLen": 1 }, "end": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 } @@ -55218,67 +55914,67 @@ "adl": true, "inner": [ { - "id": "0x38dcc28", + "id": "0x7f0da6b72020", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 }, "end": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dcc08", + "id": "0x7f0da6b72000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 }, "end": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38dbea0", + "id": "0x7f0da6b70dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32395, + "offset": 33508, "col": 9, "tokLen": 1 }, "end": { - "offset": 32395, + "offset": 33508, "col": 9, "tokLen": 1 } @@ -55286,11 +55982,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -55299,16 +55995,16 @@ } }, { - "id": "0x38dcbf0", + "id": "0x7f0da6b71fe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 }, "end": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 } @@ -55320,16 +56016,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38dbec0", + "id": "0x7f0da6b70df8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 }, "end": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 } @@ -55345,33 +56041,33 @@ ] }, { - "id": "0x38dcce0", + "id": "0x7f0da6b720d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32415, - "line": 1058, + "offset": 33528, + "line": 1101, "col": 9, "tokLen": 6 }, "end": { - "offset": 32428, + "offset": 33541, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38dccb0", + "id": "0x7f0da6b720a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32422, + "offset": 33535, "col": 16, "tokLen": 4 }, "end": { - "offset": 32428, + "offset": 33541, "col": 22, "tokLen": 7 } @@ -55381,7 +56077,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c3c0", + "id": "0x2cdc2400", "kind": "EnumConstantDecl", "name": "ALG_RAW", "type": { @@ -55394,17 +56090,17 @@ ] }, { - "id": "0x38dd300", + "id": "0x7f0da6b72778", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 32441, - "line": 1059, + "offset": 33554, + "line": 1102, "col": 5, "tokLen": 5 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } @@ -55416,16 +56112,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38dd2e8", + "id": "0x7f0da6b72760", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 32441, + "offset": 33554, "col": 5, "tokLen": 5 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } @@ -55436,74 +56132,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38dd2b8", + "id": "0x7f0da6b72730", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38dd2a0", + "id": "0x7f0da6b72718", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38dd278", + "id": "0x7f0da6b726f0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -55512,27 +56211,28 @@ }, "inner": [ { - "id": "0x38dd258", + "id": "0x7f0da6b726d0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38dd250", + "temp": "0x7f0da6b726c8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -55541,22 +56241,23 @@ }, "inner": [ { - "id": "0x38dd220", + "id": "0x7f0da6b72698", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -55566,73 +56267,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38dd208", + "id": "0x7f0da6b72680", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38dd1f0", + "id": "0x7f0da6b72668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38dd1d0", + "id": "0x7f0da6b72648", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38dd1c8", + "temp": "0x7f0da6b72640", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -55641,89 +56342,89 @@ }, "inner": [ { - "id": "0x38dd190", + "id": "0x7f0da6b72608", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38dd178", + "id": "0x7f0da6b725f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 }, "end": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dd158", + "id": "0x7f0da6b725d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 }, "end": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38dd140", + "id": "0x7f0da6b725b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 } @@ -55735,16 +56436,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38dcd20", + "id": "0x7f0da6b72118", "kind": "StringLiteral", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 } @@ -55758,16 +56459,16 @@ ] }, { - "id": "0x38dcd50", + "id": "0x7f0da6b72148", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } @@ -55775,11 +56476,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -55814,29 +56515,29 @@ ] } { - "id": "0x38dd4b8", + "id": "0x7f0da6b72938", "kind": "FunctionDecl", "loc": { - "offset": 32522, + "offset": 33635, "file": "ToString.cpp", - "line": 1062, + "line": 1105, "col": 28, "tokLen": 8 }, "range": { "begin": { - "offset": 32495, + "offset": 33608, "col": 1, "tokLen": 8 }, "end": { - "offset": 32948, - "line": 1076, + "offset": 34061, + "line": 1119, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368da18", + "previousDecl": "0x2d37a998", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8gainModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -55850,13 +56551,13 @@ }, "inner": [ { - "id": "0x2f5c4b0", + "id": "0x2cdc24f0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::gainMode" }, "decl": { - "id": "0x2f5c410", + "id": "0x2cdc2450", "kind": "EnumDecl", "name": "gainMode" } @@ -55864,22 +56565,22 @@ ] }, { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "loc": { - "offset": 32550, - "line": 1062, + "offset": 33663, + "line": 1105, "col": 56, "tokLen": 1 }, "range": { "begin": { - "offset": 32531, + "offset": 33644, "col": 37, "tokLen": 5 }, "end": { - "offset": 32550, + "offset": 33663, "col": 56, "tokLen": 1 } @@ -55891,52 +56592,52 @@ } }, { - "id": "0x38e3338", + "id": "0x7f0da6b7a4c0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 32553, + "offset": 33666, "col": 59, "tokLen": 1 }, "end": { - "offset": 32948, - "line": 1076, + "offset": 34061, + "line": 1119, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38de4c0", + "id": "0x7f0da6b73e28", "kind": "IfStmt", "range": { "begin": { - "offset": 32559, - "line": 1063, + "offset": 33672, + "line": 1106, "col": 5, "tokLen": 2 }, "end": { - "offset": 32600, - "line": 1064, + "offset": 33713, + "line": 1107, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38de410", + "id": "0x7f0da6b73d78", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32563, - "line": 1063, + "offset": 33676, + "line": 1106, "col": 9, "tokLen": 1 }, "end": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 } @@ -55948,67 +56649,67 @@ "adl": true, "inner": [ { - "id": "0x38de3f8", + "id": "0x7f0da6b73d60", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 }, "end": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38de3d8", + "id": "0x7f0da6b73d40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 }, "end": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38dd670", + "id": "0x7f0da6b72b20", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32563, + "offset": 33676, "col": 9, "tokLen": 1 }, "end": { - "offset": 32563, + "offset": 33676, "col": 9, "tokLen": 1 } @@ -56016,11 +56717,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56029,16 +56730,16 @@ } }, { - "id": "0x38de3c0", + "id": "0x7f0da6b73d28", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 }, "end": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 } @@ -56050,16 +56751,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38dd690", + "id": "0x7f0da6b72b40", "kind": "StringLiteral", "range": { "begin": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 }, "end": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 } @@ -56075,33 +56776,33 @@ ] }, { - "id": "0x38de4b0", + "id": "0x7f0da6b73e18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32587, - "line": 1064, + "offset": 33700, + "line": 1107, "col": 9, "tokLen": 6 }, "end": { - "offset": 32600, + "offset": 33713, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38de480", + "id": "0x7f0da6b73de8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32594, + "offset": 33707, "col": 16, "tokLen": 4 }, "end": { - "offset": 32600, + "offset": 33713, "col": 22, "tokLen": 7 } @@ -56111,7 +56812,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c4d0", + "id": "0x2cdc2510", "kind": "EnumConstantDecl", "name": "DYNAMIC", "type": { @@ -56124,35 +56825,35 @@ ] }, { - "id": "0x38df340", + "id": "0x7f0da6b75158", "kind": "IfStmt", "range": { "begin": { - "offset": 32613, - "line": 1065, + "offset": 33726, + "line": 1108, "col": 5, "tokLen": 2 }, "end": { - "offset": 32660, - "line": 1066, + "offset": 33773, + "line": 1109, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38df290", + "id": "0x7f0da6b750a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32617, - "line": 1065, + "offset": 33730, + "line": 1108, "col": 9, "tokLen": 1 }, "end": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 } @@ -56164,67 +56865,67 @@ "adl": true, "inner": [ { - "id": "0x38df278", + "id": "0x7f0da6b75090", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 }, "end": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38df258", + "id": "0x7f0da6b75070", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 }, "end": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38de4e0", + "id": "0x7f0da6b73e48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32617, + "offset": 33730, "col": 9, "tokLen": 1 }, "end": { - "offset": 32617, + "offset": 33730, "col": 9, "tokLen": 1 } @@ -56232,11 +56933,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56245,16 +56946,16 @@ } }, { - "id": "0x38df240", + "id": "0x7f0da6b75058", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 }, "end": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 } @@ -56266,16 +56967,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38de500", + "id": "0x7f0da6b73e68", "kind": "StringLiteral", "range": { "begin": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 }, "end": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 } @@ -56291,33 +56992,33 @@ ] }, { - "id": "0x38df330", + "id": "0x7f0da6b75148", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32647, - "line": 1066, + "offset": 33760, + "line": 1109, "col": 9, "tokLen": 6 }, "end": { - "offset": 32660, + "offset": 33773, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38df300", + "id": "0x7f0da6b75118", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32654, + "offset": 33767, "col": 16, "tokLen": 4 }, "end": { - "offset": 32660, + "offset": 33773, "col": 22, "tokLen": 15 } @@ -56327,7 +57028,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c520", + "id": "0x2cdc2560", "kind": "EnumConstantDecl", "name": "FORCE_SWITCH_G1", "type": { @@ -56340,35 +57041,35 @@ ] }, { - "id": "0x38e01c0", + "id": "0x7f0da6b76488", "kind": "IfStmt", "range": { "begin": { - "offset": 32681, - "line": 1067, + "offset": 33794, + "line": 1110, "col": 5, "tokLen": 2 }, "end": { - "offset": 32728, - "line": 1068, + "offset": 33841, + "line": 1111, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38e0110", + "id": "0x7f0da6b763d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32685, - "line": 1067, + "offset": 33798, + "line": 1110, "col": 9, "tokLen": 1 }, "end": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 } @@ -56380,67 +57081,67 @@ "adl": true, "inner": [ { - "id": "0x38e00f8", + "id": "0x7f0da6b763c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 }, "end": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e00d8", + "id": "0x7f0da6b763a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 }, "end": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38df360", + "id": "0x7f0da6b75178", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32685, + "offset": 33798, "col": 9, "tokLen": 1 }, "end": { - "offset": 32685, + "offset": 33798, "col": 9, "tokLen": 1 } @@ -56448,11 +57149,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56461,16 +57162,16 @@ } }, { - "id": "0x38e00c0", + "id": "0x7f0da6b76388", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 }, "end": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 } @@ -56482,16 +57183,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38df380", + "id": "0x7f0da6b75198", "kind": "StringLiteral", "range": { "begin": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 }, "end": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 } @@ -56507,33 +57208,33 @@ ] }, { - "id": "0x38e01b0", + "id": "0x7f0da6b76478", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32715, - "line": 1068, + "offset": 33828, + "line": 1111, "col": 9, "tokLen": 6 }, "end": { - "offset": 32728, + "offset": 33841, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38e0180", + "id": "0x7f0da6b76448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32722, + "offset": 33835, "col": 16, "tokLen": 4 }, "end": { - "offset": 32728, + "offset": 33841, "col": 22, "tokLen": 15 } @@ -56543,7 +57244,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c570", + "id": "0x2cdc25b0", "kind": "EnumConstantDecl", "name": "FORCE_SWITCH_G2", "type": { @@ -56556,35 +57257,35 @@ ] }, { - "id": "0x38e1030", + "id": "0x7f0da6b777b8", "kind": "IfStmt", "range": { "begin": { - "offset": 32749, - "line": 1069, + "offset": 33862, + "line": 1112, "col": 5, "tokLen": 2 }, "end": { - "offset": 32788, - "line": 1070, + "offset": 33901, + "line": 1113, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e0f80", + "id": "0x7f0da6b77708", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32753, - "line": 1069, + "offset": 33866, + "line": 1112, "col": 9, "tokLen": 1 }, "end": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 } @@ -56596,67 +57297,67 @@ "adl": true, "inner": [ { - "id": "0x38e0f68", + "id": "0x7f0da6b776f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 }, "end": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e0f48", + "id": "0x7f0da6b776d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 }, "end": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e01e0", + "id": "0x7f0da6b764a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32753, + "offset": 33866, "col": 9, "tokLen": 1 }, "end": { - "offset": 32753, + "offset": 33866, "col": 9, "tokLen": 1 } @@ -56664,11 +57365,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56677,16 +57378,16 @@ } }, { - "id": "0x38e0f30", + "id": "0x7f0da6b776b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 }, "end": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 } @@ -56698,16 +57399,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e0200", + "id": "0x7f0da6b764c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 }, "end": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 } @@ -56723,33 +57424,33 @@ ] }, { - "id": "0x38e1020", + "id": "0x7f0da6b777a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32775, - "line": 1070, + "offset": 33888, + "line": 1113, "col": 9, "tokLen": 6 }, "end": { - "offset": 32788, + "offset": 33901, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e0ff0", + "id": "0x7f0da6b77778", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32782, + "offset": 33895, "col": 16, "tokLen": 4 }, "end": { - "offset": 32788, + "offset": 33901, "col": 22, "tokLen": 6 } @@ -56759,7 +57460,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c5c0", + "id": "0x2cdc2600", "kind": "EnumConstantDecl", "name": "FIX_G1", "type": { @@ -56772,35 +57473,35 @@ ] }, { - "id": "0x38e1ea0", + "id": "0x7f0da6b78ae8", "kind": "IfStmt", "range": { "begin": { - "offset": 32800, - "line": 1071, + "offset": 33913, + "line": 1114, "col": 5, "tokLen": 2 }, "end": { - "offset": 32839, - "line": 1072, + "offset": 33952, + "line": 1115, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e1df0", + "id": "0x7f0da6b78a38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32804, - "line": 1071, + "offset": 33917, + "line": 1114, "col": 9, "tokLen": 1 }, "end": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 } @@ -56812,67 +57513,67 @@ "adl": true, "inner": [ { - "id": "0x38e1dd8", + "id": "0x7f0da6b78a20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 }, "end": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e1db8", + "id": "0x7f0da6b78a00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 }, "end": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e1050", + "id": "0x7f0da6b777d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32804, + "offset": 33917, "col": 9, "tokLen": 1 }, "end": { - "offset": 32804, + "offset": 33917, "col": 9, "tokLen": 1 } @@ -56880,11 +57581,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56893,16 +57594,16 @@ } }, { - "id": "0x38e1da0", + "id": "0x7f0da6b789e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 }, "end": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 } @@ -56914,16 +57615,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e1070", + "id": "0x7f0da6b777f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 }, "end": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 } @@ -56939,33 +57640,33 @@ ] }, { - "id": "0x38e1e90", + "id": "0x7f0da6b78ad8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32826, - "line": 1072, + "offset": 33939, + "line": 1115, "col": 9, "tokLen": 6 }, "end": { - "offset": 32839, + "offset": 33952, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e1e60", + "id": "0x7f0da6b78aa8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32833, + "offset": 33946, "col": 16, "tokLen": 4 }, "end": { - "offset": 32839, + "offset": 33952, "col": 22, "tokLen": 6 } @@ -56975,7 +57676,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c610", + "id": "0x2cdc2650", "kind": "EnumConstantDecl", "name": "FIX_G2", "type": { @@ -56988,35 +57689,35 @@ ] }, { - "id": "0x38e2d10", + "id": "0x7f0da6b79e18", "kind": "IfStmt", "range": { "begin": { - "offset": 32851, - "line": 1073, + "offset": 33964, + "line": 1116, "col": 5, "tokLen": 2 }, "end": { - "offset": 32890, - "line": 1074, + "offset": 34003, + "line": 1117, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e2c60", + "id": "0x7f0da6b79d68", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32855, - "line": 1073, + "offset": 33968, + "line": 1116, "col": 9, "tokLen": 1 }, "end": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 } @@ -57028,67 +57729,67 @@ "adl": true, "inner": [ { - "id": "0x38e2c48", + "id": "0x7f0da6b79d50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 }, "end": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e2c28", + "id": "0x7f0da6b79d30", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 }, "end": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e1ec0", + "id": "0x7f0da6b78b08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32855, + "offset": 33968, "col": 9, "tokLen": 1 }, "end": { - "offset": 32855, + "offset": 33968, "col": 9, "tokLen": 1 } @@ -57096,11 +57797,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -57109,16 +57810,16 @@ } }, { - "id": "0x38e2c10", + "id": "0x7f0da6b79d18", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 }, "end": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 } @@ -57130,16 +57831,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e1ee0", + "id": "0x7f0da6b78b28", "kind": "StringLiteral", "range": { "begin": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 }, "end": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 } @@ -57155,33 +57856,33 @@ ] }, { - "id": "0x38e2d00", + "id": "0x7f0da6b79e08", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32877, - "line": 1074, + "offset": 33990, + "line": 1117, "col": 9, "tokLen": 6 }, "end": { - "offset": 32890, + "offset": 34003, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e2cd0", + "id": "0x7f0da6b79dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32884, + "offset": 33997, "col": 16, "tokLen": 4 }, "end": { - "offset": 32890, + "offset": 34003, "col": 22, "tokLen": 6 } @@ -57191,7 +57892,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c660", + "id": "0x2cdc26a0", "kind": "EnumConstantDecl", "name": "FIX_G0", "type": { @@ -57204,17 +57905,17 @@ ] }, { - "id": "0x38e3320", + "id": "0x7f0da6b7a4a8", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 32902, - "line": 1075, + "offset": 34015, + "line": 1118, "col": 5, "tokLen": 5 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } @@ -57226,16 +57927,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38e3308", + "id": "0x7f0da6b7a490", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 32902, + "offset": 34015, "col": 5, "tokLen": 5 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } @@ -57246,74 +57947,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e32d8", + "id": "0x7f0da6b7a460", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38e32c0", + "id": "0x7f0da6b7a448", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38e3298", + "id": "0x7f0da6b7a420", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -57322,27 +58026,28 @@ }, "inner": [ { - "id": "0x38e3278", + "id": "0x7f0da6b7a400", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38e3270", + "temp": "0x7f0da6b7a3f8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -57351,22 +58056,23 @@ }, "inner": [ { - "id": "0x38e3240", + "id": "0x7f0da6b7a3c8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -57376,73 +58082,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38e3228", + "id": "0x7f0da6b7a3b0", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38e3210", + "id": "0x7f0da6b7a398", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38e31f0", + "id": "0x7f0da6b7a378", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38e31e8", + "temp": "0x7f0da6b7a370", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -57451,89 +58157,89 @@ }, "inner": [ { - "id": "0x38e31b0", + "id": "0x7f0da6b7a338", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38e3198", + "id": "0x7f0da6b7a320", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 }, "end": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e3178", + "id": "0x7f0da6b7a300", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 }, "end": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38e3160", + "id": "0x7f0da6b7a2e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 } @@ -57545,16 +58251,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e2d40", + "id": "0x7f0da6b79e48", "kind": "StringLiteral", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 } @@ -57568,16 +58274,16 @@ ] }, { - "id": "0x38e2d70", + "id": "0x7f0da6b79e78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } @@ -57585,11 +58291,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -57624,29 +58330,29 @@ ] } { - "id": "0x38e34f8", + "id": "0x7f0da6b7a688", "kind": "FunctionDecl", "loc": { - "offset": 32978, + "offset": 34091, "file": "ToString.cpp", - "line": 1078, + "line": 1121, "col": 28, "tokLen": 8 }, "range": { "begin": { - "offset": 32951, + "offset": 34064, "col": 1, "tokLen": 8 }, "end": { - "offset": 33167, - "line": 1084, + "offset": 34280, + "line": 1127, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368df38", + "previousDecl": "0x2d37aee8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8polarityEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -57660,13 +58366,13 @@ }, "inner": [ { - "id": "0x2f5c750", + "id": "0x2cdc2790", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::polarity" }, "decl": { - "id": "0x2f5c6b0", + "id": "0x2cdc26f0", "kind": "EnumDecl", "name": "polarity" } @@ -57674,22 +58380,22 @@ ] }, { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "loc": { - "offset": 33006, - "line": 1078, + "offset": 34119, + "line": 1121, "col": 56, "tokLen": 1 }, "range": { "begin": { - "offset": 32987, + "offset": 34100, "col": 37, "tokLen": 5 }, "end": { - "offset": 33006, + "offset": 34119, "col": 56, "tokLen": 1 } @@ -57701,52 +58407,52 @@ } }, { - "id": "0x38e5998", + "id": "0x7f0da6b3c560", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33009, + "offset": 34122, "col": 59, "tokLen": 1 }, "end": { - "offset": 33167, - "line": 1084, + "offset": 34280, + "line": 1127, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e4500", + "id": "0x7f0da6b3ab88", "kind": "IfStmt", "range": { "begin": { - "offset": 33015, - "line": 1079, + "offset": 34128, + "line": 1122, "col": 5, "tokLen": 2 }, "end": { - "offset": 33052, - "line": 1080, + "offset": 34165, + "line": 1123, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e4450", + "id": "0x7f0da6b3aad8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 33019, - "line": 1079, + "offset": 34132, + "line": 1122, "col": 9, "tokLen": 1 }, "end": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 } @@ -57758,67 +58464,67 @@ "adl": true, "inner": [ { - "id": "0x38e4438", + "id": "0x7f0da6b3aac0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 }, "end": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e4418", + "id": "0x7f0da6b3aaa0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 }, "end": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e36b0", + "id": "0x7f0da6b7a870", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33019, + "offset": 34132, "col": 9, "tokLen": 1 }, "end": { - "offset": 33019, + "offset": 34132, "col": 9, "tokLen": 1 } @@ -57826,11 +58532,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -57839,16 +58545,16 @@ } }, { - "id": "0x38e4400", + "id": "0x7f0da6b3aa88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 }, "end": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 } @@ -57860,16 +58566,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e36d0", + "id": "0x7f0da6b7a890", "kind": "StringLiteral", "range": { "begin": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 }, "end": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 } @@ -57885,33 +58591,33 @@ ] }, { - "id": "0x38e44f0", + "id": "0x7f0da6b3ab78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33039, - "line": 1080, + "offset": 34152, + "line": 1123, "col": 9, "tokLen": 6 }, "end": { - "offset": 33052, + "offset": 34165, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e44c0", + "id": "0x7f0da6b3ab48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33046, + "offset": 34159, "col": 16, "tokLen": 4 }, "end": { - "offset": 33052, + "offset": 34165, "col": 22, "tokLen": 8 } @@ -57921,7 +58627,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c770", + "id": "0x2cdc27b0", "kind": "EnumConstantDecl", "name": "POSITIVE", "type": { @@ -57934,35 +58640,35 @@ ] }, { - "id": "0x38e5370", + "id": "0x7f0da6b3beb8", "kind": "IfStmt", "range": { "begin": { - "offset": 33066, - "line": 1081, + "offset": 34179, + "line": 1124, "col": 5, "tokLen": 2 }, "end": { - "offset": 33103, - "line": 1082, + "offset": 34216, + "line": 1125, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e52c0", + "id": "0x7f0da6b3be08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 33070, - "line": 1081, + "offset": 34183, + "line": 1124, "col": 9, "tokLen": 1 }, "end": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 } @@ -57974,67 +58680,67 @@ "adl": true, "inner": [ { - "id": "0x38e52a8", + "id": "0x7f0da6b3bdf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 }, "end": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e5288", + "id": "0x7f0da6b3bdd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 }, "end": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e4520", + "id": "0x7f0da6b3aba8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33070, + "offset": 34183, "col": 9, "tokLen": 1 }, "end": { - "offset": 33070, + "offset": 34183, "col": 9, "tokLen": 1 } @@ -58042,11 +58748,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -58055,16 +58761,16 @@ } }, { - "id": "0x38e5270", + "id": "0x7f0da6b3bdb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 }, "end": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 } @@ -58076,16 +58782,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e4540", + "id": "0x7f0da6b3abc8", "kind": "StringLiteral", "range": { "begin": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 }, "end": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 } @@ -58101,33 +58807,33 @@ ] }, { - "id": "0x38e5360", + "id": "0x7f0da6b3bea8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33090, - "line": 1082, + "offset": 34203, + "line": 1125, "col": 9, "tokLen": 6 }, "end": { - "offset": 33103, + "offset": 34216, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e5330", + "id": "0x7f0da6b3be78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33097, + "offset": 34210, "col": 16, "tokLen": 4 }, "end": { - "offset": 33103, + "offset": 34216, "col": 22, "tokLen": 8 } @@ -58137,7 +58843,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c7c0", + "id": "0x2cdc2800", "kind": "EnumConstantDecl", "name": "NEGATIVE", "type": { @@ -58150,17 +58856,17 @@ ] }, { - "id": "0x38e5980", + "id": "0x7f0da6b3c548", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 33117, - "line": 1083, + "offset": 34230, + "line": 1126, "col": 5, "tokLen": 5 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } @@ -58172,16 +58878,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38e5968", + "id": "0x7f0da6b3c530", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 33117, + "offset": 34230, "col": 5, "tokLen": 5 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } @@ -58192,74 +58898,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e5938", + "id": "0x7f0da6b3c500", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38e5920", + "id": "0x7f0da6b3c4e8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38e58f8", + "id": "0x7f0da6b3c4c0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -58268,27 +58977,28 @@ }, "inner": [ { - "id": "0x38e58d8", + "id": "0x7f0da6b3c4a0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38e58d0", + "temp": "0x7f0da6b3c498", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -58297,22 +59007,23 @@ }, "inner": [ { - "id": "0x38e58a0", + "id": "0x7f0da6b3c468", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -58322,73 +59033,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38e5888", + "id": "0x7f0da6b3c450", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38e5870", + "id": "0x7f0da6b3c438", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38e5850", + "id": "0x7f0da6b3c418", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38e5848", + "temp": "0x7f0da6b3c410", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -58397,89 +59108,89 @@ }, "inner": [ { - "id": "0x38e5810", + "id": "0x7f0da6b3c3d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38e57f8", + "id": "0x7f0da6b3c3c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 }, "end": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e57d8", + "id": "0x7f0da6b3c3a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 }, "end": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38e57c0", + "id": "0x7f0da6b3c388", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 } @@ -58491,16 +59202,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e53a0", + "id": "0x7f0da6b3bee8", "kind": "StringLiteral", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 } @@ -58514,16 +59225,16 @@ ] }, { - "id": "0x38e53d0", + "id": "0x7f0da6b3bf18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } @@ -58531,11 +59242,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -58570,29 +59281,5561 @@ ] } { - "id": "0x38e5ae8", + "id": "0x7f0da6b3c708", "kind": "FunctionDecl", "loc": { - "offset": 33191, + "offset": 34319, "file": "ToString.cpp", - "line": 1086, + "line": 1129, + "col": 37, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 34283, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 34518, + "line": 1135, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37b438", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs17timingInfoDecoderEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::timingInfoDecoder (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "inner": [ + { + "id": "0x2cdc28f0", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "decl": { + "id": "0x2cdc2850", + "kind": "EnumDecl", + "name": "timingInfoDecoder" + } + } + ] + }, + { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "loc": { + "offset": 34347, + "line": 1129, + "col": 65, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 34328, + "col": 46, + "tokLen": 5 + }, + "end": { + "offset": 34347, + "col": 65, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b3f608", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 34350, + "col": 68, + "tokLen": 1 + }, + "end": { + "offset": 34518, + "line": 1135, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b3dbf8", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34356, + "line": 1130, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34398, + "line": 1131, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b3db48", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34360, + "line": 1130, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34365, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b3db30", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34362, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34362, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3db10", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34362, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34362, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3c8f0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34360, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34360, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b3daf8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34365, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34365, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3c910", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34365, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34365, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char[9]" + }, + "valueCategory": "lvalue", + "value": "\"swissfel\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b3dbe8", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34385, + "line": 1131, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34398, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b3dbb8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34392, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34398, + "col": 22, + "tokLen": 8 + } + }, + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2910", + "kind": "EnumConstantDecl", + "name": "SWISSFEL", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b3ef28", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34412, + "line": 1132, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34451, + "line": 1133, + "col": 22, + "tokLen": 5 + } + }, + "inner": [ + { + "id": "0x7f0da6b3ee78", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34416, + "line": 1132, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34421, + "col": 14, + "tokLen": 7 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b3ee60", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34418, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34418, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3ee40", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34418, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34418, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3dc18", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34416, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34416, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b3ee28", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34421, + "col": 14, + "tokLen": 7 + }, + "end": { + "offset": 34421, + "col": 14, + "tokLen": 7 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3dc38", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34421, + "col": 14, + "tokLen": 7 + }, + "end": { + "offset": 34421, + "col": 14, + "tokLen": 7 + } + }, + "type": { + "qualType": "const char[6]" + }, + "valueCategory": "lvalue", + "value": "\"shine\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b3ef18", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34438, + "line": 1133, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34451, + "col": 22, + "tokLen": 5 + } + }, + "inner": [ + { + "id": "0x7f0da6b3eee8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34445, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34451, + "col": 22, + "tokLen": 5 + } + }, + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2960", + "kind": "EnumConstantDecl", + "name": "SHINE", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b3f5f0", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 34462, + "line": 1134, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b3f5d8", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 34462, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b3f5a8", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b3f590", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b3f568", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b3f548", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b3f540", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b3f510", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b3f4f8", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b3f4e0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b3f4c0", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b3f4b8", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b3f480", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b3f468", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34512, + "col": 55, + "tokLen": 1 + }, + "end": { + "offset": 34512, + "col": 55, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3f448", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34512, + "col": 55, + "tokLen": 1 + }, + "end": { + "offset": 34512, + "col": 55, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3f430", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34481, + "col": 24, + "tokLen": 30 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3ef58", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34481, + "col": 24, + "tokLen": 30 + } + }, + "type": { + "qualType": "const char[29]" + }, + "valueCategory": "lvalue", + "value": "\"Unknown Timing Info Decoder \"" + } + ] + }, + { + "id": "0x7f0da6b3ef90", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34514, + "col": 57, + "tokLen": 1 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +} +{ + "id": "0x7f0da6b3f7a8", + "kind": "FunctionDecl", + "loc": { + "offset": 34554, + "file": "ToString.cpp", + "line": 1137, + "col": 34, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 34521, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 34747, + "line": 1143, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37b988", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs14collectionModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::collectionMode (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "inner": [ + { + "id": "0x2cdc2a50", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "decl": { + "id": "0x2cdc29b0", + "kind": "EnumDecl", + "name": "collectionMode" + } + } + ] + }, + { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "loc": { + "offset": 34582, + "line": 1137, + "col": 62, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 34563, + "col": 43, + "tokLen": 5 + }, + "end": { + "offset": 34582, + "col": 62, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b426a8", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 34585, + "col": 65, + "tokLen": 1 + }, + "end": { + "offset": 34747, + "line": 1143, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b40c98", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34591, + "line": 1138, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34629, + "line": 1139, + "col": 22, + "tokLen": 4 + } + }, + "inner": [ + { + "id": "0x7f0da6b40be8", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34595, + "line": 1138, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34600, + "col": 14, + "tokLen": 6 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b40bd0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34597, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34597, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b40bb0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34597, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34597, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3f990", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34595, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34595, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b40b98", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34600, + "col": 14, + "tokLen": 6 + }, + "end": { + "offset": 34600, + "col": 14, + "tokLen": 6 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3f9b0", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34600, + "col": 14, + "tokLen": 6 + }, + "end": { + "offset": 34600, + "col": 14, + "tokLen": 6 + } + }, + "type": { + "qualType": "const char[5]" + }, + "valueCategory": "lvalue", + "value": "\"hole\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b40c88", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34616, + "line": 1139, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34629, + "col": 22, + "tokLen": 4 + } + }, + "inner": [ + { + "id": "0x7f0da6b40c58", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34623, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34629, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2a70", + "kind": "EnumConstantDecl", + "name": "HOLE", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b41fc8", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34639, + "line": 1140, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34681, + "line": 1141, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b41f18", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34643, + "line": 1140, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34648, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b41f00", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34645, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34645, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b41ee0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34645, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34645, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b40cb8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34643, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34643, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b41ec8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34648, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34648, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b40cd8", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34648, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34648, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char[9]" + }, + "valueCategory": "lvalue", + "value": "\"electron\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b41fb8", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34668, + "line": 1141, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34681, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b41f88", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34675, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34681, + "col": 22, + "tokLen": 8 + } + }, + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2ac0", + "kind": "EnumConstantDecl", + "name": "ELECTRON", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b42690", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 34695, + "line": 1142, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b42678", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 34695, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42648", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b42630", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b42608", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b425e8", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b425e0", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b425b0", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b42598", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b42580", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b42560", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b42558", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b42520", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b42508", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34741, + "col": 51, + "tokLen": 1 + }, + "end": { + "offset": 34741, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b424e8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34741, + "col": 51, + "tokLen": 1 + }, + "end": { + "offset": 34741, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b424d0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34714, + "col": 24, + "tokLen": 26 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b41ff8", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34714, + "col": 24, + "tokLen": 26 + } + }, + "type": { + "qualType": "const char[25]" + }, + "valueCategory": "lvalue", + "value": "\"Unknown collection mode \"" + } + ] + }, + { + "id": "0x7f0da6b42028", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34743, + "col": 53, + "tokLen": 1 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +} +{ + "id": "0x7f0da6b427f8", + "kind": "FunctionDecl", + "loc": { + "offset": 34770, + "file": "ToString.cpp", + "line": 1145, + "col": 21, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 34750, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 35199, + "line": 1154, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37be88", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIhEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint8_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned char" + }, + "inner": [ + { + "id": "0x2bf08d50", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned char" + } + } + ] + }, + { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "loc": { + "offset": 34798, + "line": 1145, + "col": 49, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 34779, + "col": 30, + "tokLen": 5 + }, + "end": { + "offset": 34798, + "col": 49, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b44c30", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 34801, + "col": 52, + "tokLen": 1 + }, + "end": { + "offset": 35199, + "line": 1154, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b42ce0", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 34807, + "line": 1146, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34861, + "col": 59, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b429c8", + "kind": "VarDecl", + "loc": { + "offset": 34811, + "col": 9, + "tokLen": 4 + }, + "range": { + "begin": { + "offset": 34807, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34859, + "col": 57, + "tokLen": 2 + } + }, + "isUsed": true, + "name": "base", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b42cb0", + "kind": "ConditionalOperator", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34859, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42c50", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34847, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "!=", + "inner": [ + { + "id": "0x7f0da6b42b10", + "kind": "CXXMemberCallExpr", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34829, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42ae0", + "kind": "MemberExpr", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34820, + "col": 18, + "tokLen": 4 + } + }, + "type": { + "qualType": "" + }, + "valueCategory": "prvalue", + "name": "find", + "isArrow": false, + "referencedMemberDecl": "0x2c8ca830", + "inner": [ + { + "id": "0x7f0da6b42a30", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34818, + "col": 16, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + }, + { + "id": "0x7f0da6b42b40", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34825, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 34825, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b42ac0", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34825, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 34825, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char[3]" + }, + "valueCategory": "lvalue", + "value": "\"0x\"" + } + ] + }, + { + "id": "0x7f0da6b42b70", + "kind": "CXXDefaultArgExpr", + "range": { + "begin": {}, + "end": {} + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b42c38", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34834, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 34847, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b42c08", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34834, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 34847, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d0eda20", + "kind": "VarDecl", + "name": "npos", + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + } + }, + "nonOdrUseReason": "constant" + } + ] + } + ] + }, + { + "id": "0x7f0da6b42c70", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 34854, + "col": 52, + "tokLen": 2 + }, + "end": { + "offset": 34854, + "col": 52, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "16" + }, + { + "id": "0x7f0da6b42c90", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 34859, + "col": 57, + "tokLen": 2 + }, + "end": { + "offset": 34859, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "10" + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b42f48", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 34867, + "line": 1147, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34906, + "col": 44, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "loc": { + "offset": 34871, + "col": 9, + "tokLen": 5 + }, + "range": { + "begin": { + "offset": 34867, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34905, + "col": 43, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "value", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b42ee0", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 34879, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34905, + "col": 43, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42ec8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34879, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34884, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (*)(const string &, size_t *, int)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b42e38", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34879, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34884, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (const string &, size_t *, int)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c88ede0", + "kind": "FunctionDecl", + "name": "stoi", + "type": { + "qualType": "int (const string &, size_t *, int)" + } + } + } + ] + }, + { + "id": "0x7f0da6b42de8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34889, + "col": 27, + "tokLen": 1 + }, + "end": { + "offset": 34889, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b42f18", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34892, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 34892, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "size_t *" + }, + "valueCategory": "prvalue", + "castKind": "NullToPointer", + "inner": [ + { + "id": "0x7f0da6b42e08", + "kind": "CXXNullPtrLiteralExpr", + "range": { + "begin": { + "offset": 34892, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 34892, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "std::nullptr_t" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b42f30", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34901, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 34901, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b42e18", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34901, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 34901, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b429c8", + "kind": "VarDecl", + "name": "base", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44b70", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34912, + "line": 1148, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 35157, + "line": 1152, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b432f8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34916, + "line": 1148, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35013, + "line": 1149, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "||", + "inner": [ + { + "id": "0x7f0da6b43140", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34916, + "line": 1148, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34958, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "<", + "inner": [ + { + "id": "0x7f0da6b43110", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34916, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34916, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b42f60", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34916, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34916, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b43128", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34958, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b430f0", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34958, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned char" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b430d8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34954, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b430a8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34954, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c0d55a8", + "kind": "CXXMethodDecl", + "name": "min", + "type": { + "qualType": "unsigned char () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b432d8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34971, + "line": 1149, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35013, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": ">", + "inner": [ + { + "id": "0x7f0da6b432a8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34971, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34971, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b43160", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34971, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34971, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b432c0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35013, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b43288", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35013, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned char" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b43270", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35009, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b43240", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35009, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c0d5680", + "kind": "CXXMethodDecl", + "name": "max", + "type": { + "qualType": "unsigned char () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44b58", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 35016, + "col": 54, + "tokLen": 1 + }, + "end": { + "offset": 35157, + "line": 1152, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b44b40", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 35026, + "line": 1150, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b44b28", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 35026, + "line": 1150, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b44af8", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b44ae0", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b44ab8", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b44a98", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b44a90", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b44a60", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b44a48", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b44a30", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b44a10", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b44a08", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b449d0", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b449b8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35085, + "line": 1150, + "col": 68, + "tokLen": 1 + }, + "end": { + "offset": 35085, + "col": 68, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(basic_string, allocator> &&, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b44940", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35085, + "col": 68, + "tokLen": 1 + }, + "end": { + "offset": 35085, + "col": 68, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44798", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b44910", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b43920", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b43918", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b438e0", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b438c8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35081, + "col": 64, + "tokLen": 1 + }, + "end": { + "offset": 35081, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b438a8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35081, + "col": 64, + "tokLen": 1 + }, + "end": { + "offset": 35081, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b43890", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35045, + "col": 28, + "tokLen": 35 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b433a8", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35045, + "col": 28, + "tokLen": 35 + } + }, + "type": { + "qualType": "const char[34]" + }, + "valueCategory": "lvalue", + "value": "\"Cannot scan uint8_t from string '\"" + } + ] + }, + { + "id": "0x7f0da6b433e8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35083, + "col": 66, + "tokLen": 1 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44928", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35114, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b43940", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35114, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35114, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char[35]" + }, + "valueCategory": "lvalue", + "value": "\"'. Value must be in range 0 - 255.\"" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44c20", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 35163, + "line": 1153, + "col": 5, + "tokLen": 6 + }, + "end": { + "offset": 35196, + "col": 38, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b44bf0", + "kind": "CXXStaticCastExpr", + "range": { + "begin": { + "offset": 35170, + "col": 12, + "tokLen": 11 + }, + "end": { + "offset": 35196, + "col": 38, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned char", + "qualType": "uint8_t", + "typeAliasDeclId": "0x2c0e6c18" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b44bd8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35191, + "col": 33, + "tokLen": 5 + }, + "end": { + "offset": 35191, + "col": 33, + "tokLen": 5 + } + }, + "type": { + "desugaredQualType": "unsigned char", + "qualType": "uint8_t", + "typeAliasDeclId": "0x2c0e6c18" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b44bc0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35191, + "col": 33, + "tokLen": 5 + }, + "end": { + "offset": 35191, + "col": 33, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b44b90", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35191, + "col": 33, + "tokLen": 5 + }, + "end": { + "offset": 35191, + "col": 33, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +} +{ + "id": "0x7f0da6b44d88", + "kind": "FunctionDecl", + "loc": { + "offset": 35223, + "file": "ToString.cpp", + "line": 1156, "col": 22, "tokLen": 8 }, "range": { "begin": { - "offset": 33170, + "offset": 35202, "col": 1, "tokLen": 8 }, "end": { - "offset": 33325, - "line": 1089, + "offset": 35658, + "line": 1165, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368e408", + "previousDecl": "0x2d37c358", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToItEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint16_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned short" + }, + "inner": [ + { + "id": "0x2bf08d70", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned short" + } + } + ] + }, + { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "loc": { + "offset": 35251, + "line": 1156, + "col": 50, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 35232, + "col": 31, + "tokLen": 5 + }, + "end": { + "offset": 35251, + "col": 50, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b46558", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 35254, + "col": 53, + "tokLen": 1 + }, + "end": { + "offset": 35658, + "line": 1165, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b45258", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 35260, + "line": 1157, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35314, + "col": 59, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b44f58", + "kind": "VarDecl", + "loc": { + "offset": 35264, + "col": 9, + "tokLen": 4 + }, + "range": { + "begin": { + "offset": 35260, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35312, + "col": 57, + "tokLen": 2 + } + }, + "isUsed": true, + "name": "base", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b45228", + "kind": "ConditionalOperator", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35312, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b451c8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35300, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "!=", + "inner": [ + { + "id": "0x7f0da6b450a0", + "kind": "CXXMemberCallExpr", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35282, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b45070", + "kind": "MemberExpr", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35273, + "col": 18, + "tokLen": 4 + } + }, + "type": { + "qualType": "" + }, + "valueCategory": "prvalue", + "name": "find", + "isArrow": false, + "referencedMemberDecl": "0x2c8ca830", + "inner": [ + { + "id": "0x7f0da6b44fc0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35271, + "col": 16, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + }, + { + "id": "0x7f0da6b450d0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35278, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 35278, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45050", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35278, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 35278, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char[3]" + }, + "valueCategory": "lvalue", + "value": "\"0x\"" + } + ] + }, + { + "id": "0x7f0da6b450e8", + "kind": "CXXDefaultArgExpr", + "range": { + "begin": {}, + "end": {} + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b451b0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35287, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 35300, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45180", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35287, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 35300, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d0eda20", + "kind": "VarDecl", + "name": "npos", + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + } + }, + "nonOdrUseReason": "constant" + } + ] + } + ] + }, + { + "id": "0x7f0da6b451e8", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 35307, + "col": 52, + "tokLen": 2 + }, + "end": { + "offset": 35307, + "col": 52, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "16" + }, + { + "id": "0x7f0da6b45208", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 35312, + "col": 57, + "tokLen": 2 + }, + "end": { + "offset": 35312, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "10" + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b45460", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 35320, + "line": 1158, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35359, + "col": 44, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "loc": { + "offset": 35324, + "col": 9, + "tokLen": 5 + }, + "range": { + "begin": { + "offset": 35320, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35358, + "col": 43, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "value", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b453f8", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 35332, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35358, + "col": 43, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b453e0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35332, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35337, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (*)(const string &, size_t *, int)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b453b0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35332, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35337, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (const string &, size_t *, int)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c88ede0", + "kind": "FunctionDecl", + "name": "stoi", + "type": { + "qualType": "int (const string &, size_t *, int)" + } + } + } + ] + }, + { + "id": "0x7f0da6b45360", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35342, + "col": 27, + "tokLen": 1 + }, + "end": { + "offset": 35342, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b45430", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35345, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 35345, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "size_t *" + }, + "valueCategory": "prvalue", + "castKind": "NullToPointer", + "inner": [ + { + "id": "0x7f0da6b45380", + "kind": "CXXNullPtrLiteralExpr", + "range": { + "begin": { + "offset": 35345, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 35345, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "std::nullptr_t" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b45448", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35354, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 35354, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45390", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35354, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 35354, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44f58", + "kind": "VarDecl", + "name": "base", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b46498", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 35365, + "line": 1159, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 35615, + "line": 1163, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b457f8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35369, + "line": 1159, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35468, + "line": 1160, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "||", + "inner": [ + { + "id": "0x7f0da6b45640", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35369, + "line": 1159, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35412, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "<", + "inner": [ + { + "id": "0x7f0da6b45610", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35369, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35369, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45478", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35369, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35369, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b45628", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35412, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b455f0", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35412, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned short" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b455d8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35408, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b455a8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35408, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c179c48", + "kind": "CXXMethodDecl", + "name": "min", + "type": { + "qualType": "unsigned short () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b457d8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35425, + "line": 1160, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35468, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": ">", + "inner": [ + { + "id": "0x7f0da6b457a8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35425, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35425, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45660", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35425, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35425, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b457c0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35468, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b45788", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35468, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned short" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b45770", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35464, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45740", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35464, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c179d20", + "kind": "CXXMethodDecl", + "name": "max", + "type": { + "qualType": "unsigned short () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b46480", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 35471, + "col": 55, + "tokLen": 1 + }, + "end": { + "offset": 35615, + "line": 1163, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b46468", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 35481, + "line": 1161, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b46450", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 35481, + "line": 1161, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b46420", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b46408", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b463e0", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b463c0", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b463b8", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b46388", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b46370", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b46358", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b46338", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b46330", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b462f8", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b462e0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35541, + "line": 1161, + "col": 69, + "tokLen": 1 + }, + "end": { + "offset": 35541, + "col": 69, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(basic_string, allocator> &&, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b462c0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35541, + "col": 69, + "tokLen": 1 + }, + "end": { + "offset": 35541, + "col": 69, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44798", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b46290", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b45d68", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b45d60", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b45d28", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b45d10", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35537, + "col": 65, + "tokLen": 1 + }, + "end": { + "offset": 35537, + "col": 65, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45cf0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35537, + "col": 65, + "tokLen": 1 + }, + "end": { + "offset": 35537, + "col": 65, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b45cd8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35500, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45828", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35500, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char[35]" + }, + "valueCategory": "lvalue", + "value": "\"Cannot scan uint16_t from string '\"" + } + ] + }, + { + "id": "0x7f0da6b45868", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35539, + "col": 67, + "tokLen": 1 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b462a8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + }, + "end": { + "offset": 35570, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45e08", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35570, + "col": 28, + "tokLen": 38 + }, + "end": { + "offset": 35570, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "qualType": "const char[37]" + }, + "valueCategory": "lvalue", + "value": "\"'. Value must be in range 0 - 65535.\"" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b46548", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 35621, + "line": 1164, + "col": 5, + "tokLen": 6 + }, + "end": { + "offset": 35655, + "col": 39, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b46518", + "kind": "CXXStaticCastExpr", + "range": { + "begin": { + "offset": 35628, + "col": 12, + "tokLen": 11 + }, + "end": { + "offset": 35655, + "col": 39, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned short", + "qualType": "uint16_t", + "typeAliasDeclId": "0x2c0e6c80" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b46500", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35650, + "col": 34, + "tokLen": 5 + }, + "end": { + "offset": 35650, + "col": 34, + "tokLen": 5 + } + }, + "type": { + "desugaredQualType": "unsigned short", + "qualType": "uint16_t", + "typeAliasDeclId": "0x2c0e6c80" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b464e8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35650, + "col": 34, + "tokLen": 5 + }, + "end": { + "offset": 35650, + "col": 34, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b464b8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35650, + "col": 34, + "tokLen": 5 + }, + "end": { + "offset": 35650, + "col": 34, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +} +{ + "id": "0x7f0da6b466b8", + "kind": "FunctionDecl", + "loc": { + "offset": 35682, + "file": "ToString.cpp", + "line": 1167, + "col": 22, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 35661, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 35816, + "line": 1170, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37c828", "name": "StringTo", "mangledName": "_ZN3sls8StringToIjEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -58606,7 +64849,7 @@ }, "inner": [ { - "id": "0x230bbd0", + "id": "0x2bf08d90", "kind": "BuiltinType", "type": { "qualType": "unsigned int" @@ -58615,22 +64858,22 @@ ] }, { - "id": "0x38e5a28", + "id": "0x7f0da6b465f0", "kind": "ParmVarDecl", "loc": { - "offset": 33219, - "line": 1086, + "offset": 35710, + "line": 1167, "col": 50, "tokLen": 1 }, "range": { "begin": { - "offset": 33200, + "offset": 35691, "col": 31, "tokLen": 5 }, "end": { - "offset": 33219, + "offset": 35710, "col": 50, "tokLen": 1 } @@ -58642,55 +64885,55 @@ } }, { - "id": "0x38e61b0", + "id": "0x7f0da6b46d90", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33222, + "offset": 35713, "col": 53, "tokLen": 1 }, "end": { - "offset": 33325, - "line": 1089, + "offset": 35816, + "line": 1170, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e5fa0", + "id": "0x7f0da6b46b88", "kind": "DeclStmt", "range": { "begin": { - "offset": 33228, - "line": 1087, + "offset": 35719, + "line": 1168, "col": 5, "tokLen": 3 }, "end": { - "offset": 33282, + "offset": 35773, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e5c88", + "id": "0x7f0da6b46888", "kind": "VarDecl", "loc": { - "offset": 33232, + "offset": 35723, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33228, + "offset": 35719, "col": 5, "tokLen": 3 }, "end": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 } @@ -58703,16 +64946,16 @@ "init": "c", "inner": [ { - "id": "0x38e5f70", + "id": "0x7f0da6b46b58", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 } @@ -58723,16 +64966,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e5f10", + "id": "0x7f0da6b46af8", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33268, + "offset": 35759, "col": 45, "tokLen": 4 } @@ -58744,38 +64987,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e5dd0", + "id": "0x7f0da6b469d0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33250, + "offset": 35741, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e5da0", + "id": "0x7f0da6b469a0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33241, + "offset": 35732, "col": 18, "tokLen": 4 } @@ -58786,19 +65029,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e5cf0", + "id": "0x7f0da6b468f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 } @@ -58806,11 +65049,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e5a28", + "id": "0x7f0da6b465f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -58821,16 +65064,16 @@ ] }, { - "id": "0x38e5e00", + "id": "0x7f0da6b46a00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 }, "end": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 } @@ -58842,16 +65085,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e5d80", + "id": "0x7f0da6b46980", "kind": "StringLiteral", "range": { "begin": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 }, "end": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 } @@ -58865,7 +65108,7 @@ ] }, { - "id": "0x38e5e30", + "id": "0x7f0da6b46a18", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -58873,24 +65116,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e5ef8", + "id": "0x7f0da6b46ae0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33255, + "offset": 35746, "col": 32, "tokLen": 3 }, "end": { - "offset": 33268, + "offset": 35759, "col": 45, "tokLen": 4 } @@ -58898,22 +65141,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e5ec8", + "id": "0x7f0da6b46ab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33255, + "offset": 35746, "col": 32, "tokLen": 3 }, "end": { - "offset": 33268, + "offset": 35759, "col": 45, "tokLen": 4 } @@ -58921,17 +65164,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -58941,16 +65184,16 @@ ] }, { - "id": "0x38e5f30", + "id": "0x7f0da6b46b18", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33275, + "offset": 35766, "col": 52, "tokLen": 2 }, "end": { - "offset": 33275, + "offset": 35766, "col": 52, "tokLen": 2 } @@ -58962,16 +65205,16 @@ "value": "16" }, { - "id": "0x38e5f50", + "id": "0x7f0da6b46b38", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 }, "end": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 } @@ -58989,33 +65232,33 @@ ] }, { - "id": "0x38e61a0", + "id": "0x7f0da6b46d80", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33288, - "line": 1088, + "offset": 35779, + "line": 1169, "col": 5, "tokLen": 6 }, "end": { - "offset": 33322, + "offset": 35813, "col": 39, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6188", + "id": "0x7f0da6b46d68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33322, + "offset": 35813, "col": 39, "tokLen": 1 } @@ -59023,22 +65266,22 @@ "type": { "desugaredQualType": "unsigned int", "qualType": "uint32_t", - "typeAliasDeclId": "0x23ae7f8" + "typeAliasDeclId": "0x2c0e6ce8" }, "valueCategory": "prvalue", "castKind": "IntegralCast", "inner": [ { - "id": "0x38e6120", + "id": "0x7f0da6b46d00", "kind": "CallExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33322, + "offset": 35813, "col": 39, "tokLen": 1 } @@ -59049,67 +65292,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6108", + "id": "0x7f0da6b46ce8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33300, + "offset": 35791, "col": 17, "tokLen": 5 } }, "type": { - "qualType": "unsigned long (*)(const std::string &, std::size_t *, int)" + "qualType": "unsigned long (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e6078", + "id": "0x7f0da6b46c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33300, + "offset": 35791, "col": 17, "tokLen": 5 } }, "type": { - "qualType": "unsigned long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2ca8d40", + "id": "0x2c8d3880", "kind": "FunctionDecl", "name": "stoul", "type": { - "qualType": "unsigned long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e6028", + "id": "0x7f0da6b46c10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33306, + "offset": 35797, "col": 23, "tokLen": 1 }, "end": { - "offset": 33306, + "offset": 35797, "col": 23, "tokLen": 1 } @@ -59117,11 +65360,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e5a28", + "id": "0x7f0da6b465f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -59130,37 +65373,37 @@ } }, { - "id": "0x38e6158", + "id": "0x7f0da6b46d38", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 }, "end": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e6048", + "id": "0x7f0da6b46c30", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 }, "end": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 } @@ -59173,16 +65416,16 @@ ] }, { - "id": "0x38e6170", + "id": "0x7f0da6b46d50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 }, "end": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 } @@ -59194,16 +65437,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e6058", + "id": "0x7f0da6b46c40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 }, "end": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 } @@ -59213,7 +65456,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e5c88", + "id": "0x7f0da6b46888", "kind": "VarDecl", "name": "base", "type": { @@ -59234,29 +65477,29 @@ ] } { - "id": "0x38e62f8", + "id": "0x7f0da6b46ed8", "kind": "FunctionDecl", "loc": { - "offset": 33349, + "offset": 35840, "file": "ToString.cpp", - "line": 1091, + "line": 1172, "col": 22, "tokLen": 8 }, "range": { "begin": { - "offset": 33328, + "offset": 35819, "col": 1, "tokLen": 8 }, "end": { - "offset": 33484, - "line": 1094, + "offset": 35975, + "line": 1175, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368e8a8", + "previousDecl": "0x2d37ccc8", "name": "StringTo", "mangledName": "_ZN3sls8StringToImEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -59270,7 +65513,7 @@ }, "inner": [ { - "id": "0x230bbf0", + "id": "0x2bf08db0", "kind": "BuiltinType", "type": { "qualType": "unsigned long" @@ -59279,22 +65522,22 @@ ] }, { - "id": "0x38e6238", + "id": "0x7f0da6b46e18", "kind": "ParmVarDecl", "loc": { - "offset": 33377, - "line": 1091, + "offset": 35868, + "line": 1172, "col": 50, "tokLen": 1 }, "range": { "begin": { - "offset": 33358, + "offset": 35849, "col": 31, "tokLen": 5 }, "end": { - "offset": 33377, + "offset": 35868, "col": 50, "tokLen": 1 } @@ -59306,55 +65549,55 @@ } }, { - "id": "0x38e69a0", + "id": "0x7f0da6b475b0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33380, + "offset": 35871, "col": 53, "tokLen": 1 }, "end": { - "offset": 33484, - "line": 1094, + "offset": 35975, + "line": 1175, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6798", + "id": "0x7f0da6b473a8", "kind": "DeclStmt", "range": { "begin": { - "offset": 33386, - "line": 1092, + "offset": 35877, + "line": 1173, "col": 5, "tokLen": 3 }, "end": { - "offset": 33440, + "offset": 35931, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6498", + "id": "0x7f0da6b470a8", "kind": "VarDecl", "loc": { - "offset": 33390, + "offset": 35881, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33386, + "offset": 35877, "col": 5, "tokLen": 3 }, "end": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 } @@ -59367,16 +65610,16 @@ "init": "c", "inner": [ { - "id": "0x38e6768", + "id": "0x7f0da6b47378", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 } @@ -59387,16 +65630,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6708", + "id": "0x7f0da6b47318", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33426, + "offset": 35917, "col": 45, "tokLen": 4 } @@ -59408,38 +65651,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e65e0", + "id": "0x7f0da6b471f0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33408, + "offset": 35899, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e65b0", + "id": "0x7f0da6b471c0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33399, + "offset": 35890, "col": 18, "tokLen": 4 } @@ -59450,19 +65693,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e6500", + "id": "0x7f0da6b47110", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 } @@ -59470,11 +65713,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6238", + "id": "0x7f0da6b46e18", "kind": "ParmVarDecl", "name": "s", "type": { @@ -59485,16 +65728,16 @@ ] }, { - "id": "0x38e6610", + "id": "0x7f0da6b47220", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 }, "end": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 } @@ -59506,16 +65749,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e6590", + "id": "0x7f0da6b471a0", "kind": "StringLiteral", "range": { "begin": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 }, "end": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 } @@ -59529,7 +65772,7 @@ ] }, { - "id": "0x38e6628", + "id": "0x7f0da6b47238", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -59537,24 +65780,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e66f0", + "id": "0x7f0da6b47300", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33413, + "offset": 35904, "col": 32, "tokLen": 3 }, "end": { - "offset": 33426, + "offset": 35917, "col": 45, "tokLen": 4 } @@ -59562,22 +65805,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e66c0", + "id": "0x7f0da6b472d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33413, + "offset": 35904, "col": 32, "tokLen": 3 }, "end": { - "offset": 33426, + "offset": 35917, "col": 45, "tokLen": 4 } @@ -59585,17 +65828,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -59605,16 +65848,16 @@ ] }, { - "id": "0x38e6728", + "id": "0x7f0da6b47338", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33433, + "offset": 35924, "col": 52, "tokLen": 2 }, "end": { - "offset": 33433, + "offset": 35924, "col": 52, "tokLen": 2 } @@ -59626,16 +65869,16 @@ "value": "16" }, { - "id": "0x38e6748", + "id": "0x7f0da6b47358", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 }, "end": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 } @@ -59653,33 +65896,33 @@ ] }, { - "id": "0x38e6990", + "id": "0x7f0da6b475a0", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33446, - "line": 1093, + "offset": 35937, + "line": 1174, "col": 5, "tokLen": 6 }, "end": { - "offset": 33481, + "offset": 35972, "col": 40, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6978", + "id": "0x7f0da6b47588", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33481, + "offset": 35972, "col": 40, "tokLen": 1 } @@ -59687,22 +65930,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "uint64_t", - "typeAliasDeclId": "0x23ae860" + "typeAliasDeclId": "0x2c0e6d50" }, "valueCategory": "prvalue", "castKind": "IntegralCast", "inner": [ { - "id": "0x38e6910", + "id": "0x7f0da6b47520", "kind": "CallExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33481, + "offset": 35972, "col": 40, "tokLen": 1 } @@ -59713,67 +65956,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e68f8", + "id": "0x7f0da6b47508", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33458, + "offset": 35949, "col": 17, "tokLen": 6 } }, "type": { - "qualType": "unsigned long long (*)(const std::string &, std::size_t *, int)" + "qualType": "unsigned long long (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e6870", + "id": "0x7f0da6b47480", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33458, + "offset": 35949, "col": 17, "tokLen": 6 } }, "type": { - "qualType": "unsigned long long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long long (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2caac00", + "id": "0x2c8d5880", "kind": "FunctionDecl", "name": "stoull", "type": { - "qualType": "unsigned long long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long long (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e6820", + "id": "0x7f0da6b47430", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33465, + "offset": 35956, "col": 24, "tokLen": 1 }, "end": { - "offset": 33465, + "offset": 35956, "col": 24, "tokLen": 1 } @@ -59781,11 +66024,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6238", + "id": "0x7f0da6b46e18", "kind": "ParmVarDecl", "name": "s", "type": { @@ -59794,37 +66037,37 @@ } }, { - "id": "0x38e6948", + "id": "0x7f0da6b47558", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 }, "end": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e6840", + "id": "0x7f0da6b47450", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 }, "end": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 } @@ -59837,16 +66080,16 @@ ] }, { - "id": "0x38e6960", + "id": "0x7f0da6b47570", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 }, "end": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 } @@ -59858,16 +66101,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e6850", + "id": "0x7f0da6b47460", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 }, "end": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 } @@ -59877,7 +66120,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6498", + "id": "0x7f0da6b470a8", "kind": "VarDecl", "name": "base", "type": { @@ -59898,29 +66141,29 @@ ] } { - "id": "0x38e6af0", + "id": "0x7f0da6b47700", "kind": "FunctionDecl", "loc": { - "offset": 33503, + "offset": 35994, "file": "ToString.cpp", - "line": 1096, + "line": 1177, "col": 17, "tokLen": 8 }, "range": { "begin": { - "offset": 33487, + "offset": 35978, "col": 1, "tokLen": 8 }, "end": { - "offset": 33636, - "line": 1099, + "offset": 36127, + "line": 1180, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368ed50", + "previousDecl": "0x2d37d1a0", "name": "StringTo", "mangledName": "_ZN3sls8StringToIiEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -59934,7 +66177,7 @@ }, "inner": [ { - "id": "0x230bb30", + "id": "0x2bf08cf0", "kind": "BuiltinType", "type": { "qualType": "int" @@ -59943,22 +66186,22 @@ ] }, { - "id": "0x38e6a28", + "id": "0x7f0da6b47638", "kind": "ParmVarDecl", "loc": { - "offset": 33531, - "line": 1096, + "offset": 36022, + "line": 1177, "col": 45, "tokLen": 1 }, "range": { "begin": { - "offset": 33512, + "offset": 36003, "col": 26, "tokLen": 5 }, "end": { - "offset": 33531, + "offset": 36022, "col": 45, "tokLen": 1 } @@ -59970,55 +66213,55 @@ } }, { - "id": "0x38e7188", + "id": "0x7f0da6b47d70", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33534, + "offset": 36025, "col": 48, "tokLen": 1 }, "end": { - "offset": 33636, - "line": 1099, + "offset": 36127, + "line": 1180, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6f98", + "id": "0x7f0da6b47bd8", "kind": "DeclStmt", "range": { "begin": { - "offset": 33540, - "line": 1097, + "offset": 36031, + "line": 1178, "col": 5, "tokLen": 3 }, "end": { - "offset": 33594, + "offset": 36085, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6c98", + "id": "0x7f0da6b478d8", "kind": "VarDecl", "loc": { - "offset": 33544, + "offset": 36035, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33540, + "offset": 36031, "col": 5, "tokLen": 3 }, "end": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 } @@ -60031,16 +66274,16 @@ "init": "c", "inner": [ { - "id": "0x38e6f68", + "id": "0x7f0da6b47ba8", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 } @@ -60051,16 +66294,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6f08", + "id": "0x7f0da6b47b48", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33580, + "offset": 36071, "col": 45, "tokLen": 4 } @@ -60072,38 +66315,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e6de0", + "id": "0x7f0da6b47a20", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33562, + "offset": 36053, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6db0", + "id": "0x7f0da6b479f0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33553, + "offset": 36044, "col": 18, "tokLen": 4 } @@ -60114,19 +66357,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e6d00", + "id": "0x7f0da6b47940", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 } @@ -60134,11 +66377,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6a28", + "id": "0x7f0da6b47638", "kind": "ParmVarDecl", "name": "s", "type": { @@ -60149,16 +66392,16 @@ ] }, { - "id": "0x38e6e10", + "id": "0x7f0da6b47a50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 }, "end": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 } @@ -60170,16 +66413,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e6d90", + "id": "0x7f0da6b479d0", "kind": "StringLiteral", "range": { "begin": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 }, "end": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 } @@ -60193,7 +66436,7 @@ ] }, { - "id": "0x38e6e28", + "id": "0x7f0da6b47a68", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -60201,24 +66444,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e6ef0", + "id": "0x7f0da6b47b30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33567, + "offset": 36058, "col": 32, "tokLen": 3 }, "end": { - "offset": 33580, + "offset": 36071, "col": 45, "tokLen": 4 } @@ -60226,22 +66469,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e6ec0", + "id": "0x7f0da6b47b00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33567, + "offset": 36058, "col": 32, "tokLen": 3 }, "end": { - "offset": 33580, + "offset": 36071, "col": 45, "tokLen": 4 } @@ -60249,17 +66492,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -60269,16 +66512,16 @@ ] }, { - "id": "0x38e6f28", + "id": "0x7f0da6b47b68", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33587, + "offset": 36078, "col": 52, "tokLen": 2 }, "end": { - "offset": 33587, + "offset": 36078, "col": 52, "tokLen": 2 } @@ -60290,16 +66533,16 @@ "value": "16" }, { - "id": "0x38e6f48", + "id": "0x7f0da6b47b88", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 }, "end": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 } @@ -60317,33 +66560,33 @@ ] }, { - "id": "0x38e7178", + "id": "0x7f0da6b47d60", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33600, - "line": 1098, + "offset": 36091, + "line": 1179, "col": 5, "tokLen": 6 }, "end": { - "offset": 33633, + "offset": 36124, "col": 38, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7110", + "id": "0x7f0da6b47cf8", "kind": "CallExpr", "range": { "begin": { - "offset": 33607, + "offset": 36098, "col": 12, "tokLen": 3 }, "end": { - "offset": 33633, + "offset": 36124, "col": 38, "tokLen": 1 } @@ -60354,67 +66597,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e70f8", + "id": "0x7f0da6b47ce0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33607, + "offset": 36098, "col": 12, "tokLen": 3 }, "end": { - "offset": 33612, + "offset": 36103, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "int (*)(const std::string &, std::size_t *, int)" + "qualType": "int (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e7070", + "id": "0x7f0da6b47cb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33607, + "offset": 36098, "col": 12, "tokLen": 3 }, "end": { - "offset": 33612, + "offset": 36103, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2c76400", + "id": "0x2c88ede0", "kind": "FunctionDecl", "name": "stoi", "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e7020", + "id": "0x7f0da6b47c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33617, + "offset": 36108, "col": 22, "tokLen": 1 }, "end": { - "offset": 33617, + "offset": 36108, "col": 22, "tokLen": 1 } @@ -60422,11 +66665,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6a28", + "id": "0x7f0da6b47638", "kind": "ParmVarDecl", "name": "s", "type": { @@ -60435,37 +66678,37 @@ } }, { - "id": "0x38e7148", + "id": "0x7f0da6b47d30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 }, "end": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e7040", + "id": "0x7f0da6b47c80", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 }, "end": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 } @@ -60478,16 +66721,16 @@ ] }, { - "id": "0x38e7160", + "id": "0x7f0da6b47d48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 }, "end": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 } @@ -60499,16 +66742,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e7050", + "id": "0x7f0da6b47c90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 }, "end": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 } @@ -60518,7 +66761,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6c98", + "id": "0x7f0da6b478d8", "kind": "VarDecl", "name": "base", "type": { @@ -60537,29 +66780,29 @@ ] } { - "id": "0x38e72d8", + "id": "0x7f0da6b47eb8", "kind": "FunctionDecl", "loc": { - "offset": 33656, + "offset": 36147, "file": "ToString.cpp", - "line": 1101, + "line": 1182, "col": 18, "tokLen": 8 }, "range": { "begin": { - "offset": 33639, + "offset": 36130, "col": 1, "tokLen": 8 }, "end": { - "offset": 33900, - "line": 1111, + "offset": 36391, + "line": 1192, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368f1c8", + "previousDecl": "0x2d37d648", "name": "StringTo", "mangledName": "_ZN3sls8StringToIbEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -60573,7 +66816,7 @@ }, "inner": [ { - "id": "0x230bab0", + "id": "0x2bf08c70", "kind": "BuiltinType", "type": { "qualType": "bool" @@ -60582,22 +66825,22 @@ ] }, { - "id": "0x38e7210", + "id": "0x7f0da6b47df8", "kind": "ParmVarDecl", "loc": { - "offset": 33684, - "line": 1101, + "offset": 36175, + "line": 1182, "col": 46, "tokLen": 1 }, "range": { "begin": { - "offset": 33665, + "offset": 36156, "col": 27, "tokLen": 5 }, "end": { - "offset": 33684, + "offset": 36175, "col": 46, "tokLen": 1 } @@ -60609,55 +66852,55 @@ } }, { - "id": "0x38e79e0", + "id": "0x7f0da6b48578", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33687, + "offset": 36178, "col": 49, "tokLen": 1 }, "end": { - "offset": 33900, - "line": 1111, + "offset": 36391, + "line": 1192, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7638", + "id": "0x7f0da6b48248", "kind": "DeclStmt", "range": { "begin": { - "offset": 33693, - "line": 1102, + "offset": 36184, + "line": 1183, "col": 5, "tokLen": 3 }, "end": { - "offset": 33726, + "offset": 36217, "col": 38, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7478", + "id": "0x7f0da6b48088", "kind": "VarDecl", "loc": { - "offset": 33697, + "offset": 36188, "col": 9, "tokLen": 1 }, "range": { "begin": { - "offset": 33693, + "offset": 36184, "col": 5, "tokLen": 3 }, "end": { - "offset": 33725, + "offset": 36216, "col": 37, "tokLen": 1 } @@ -60670,16 +66913,16 @@ "init": "c", "inner": [ { - "id": "0x38e75e8", + "id": "0x7f0da6b481f8", "kind": "CallExpr", "range": { "begin": { - "offset": 33701, + "offset": 36192, "col": 13, "tokLen": 3 }, "end": { - "offset": 33725, + "offset": 36216, "col": 37, "tokLen": 1 } @@ -60690,67 +66933,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e75d0", + "id": "0x7f0da6b481e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33701, + "offset": 36192, "col": 13, "tokLen": 3 }, "end": { - "offset": 33706, + "offset": 36197, "col": 18, "tokLen": 4 } }, "type": { - "qualType": "int (*)(const std::string &, std::size_t *, int)" + "qualType": "int (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e75a0", + "id": "0x7f0da6b481b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33701, + "offset": 36192, "col": 13, "tokLen": 3 }, "end": { - "offset": 33706, + "offset": 36197, "col": 18, "tokLen": 4 } }, "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2c76400", + "id": "0x2c88ede0", "kind": "FunctionDecl", "name": "stoi", "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e7550", + "id": "0x7f0da6b48160", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33711, + "offset": 36202, "col": 23, "tokLen": 1 }, "end": { - "offset": 33711, + "offset": 36202, "col": 23, "tokLen": 1 } @@ -60758,11 +67001,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7210", + "id": "0x7f0da6b47df8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -60771,37 +67014,37 @@ } }, { - "id": "0x38e7620", + "id": "0x7f0da6b48230", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 }, "end": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e7570", + "id": "0x7f0da6b48180", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 }, "end": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 } @@ -60814,16 +67057,16 @@ ] }, { - "id": "0x38e7580", + "id": "0x7f0da6b48190", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33723, + "offset": 36214, "col": 35, "tokLen": 2 }, "end": { - "offset": 33723, + "offset": 36214, "col": 35, "tokLen": 2 } @@ -60841,35 +67084,35 @@ ] }, { - "id": "0x38e7688", + "id": "0x7f0da6b48298", "kind": "SwitchStmt", "range": { "begin": { - "offset": 33732, - "line": 1103, + "offset": 36223, + "line": 1184, "col": 5, "tokLen": 6 }, "end": { - "offset": 33898, - "line": 1110, + "offset": 36389, + "line": 1191, "col": 5, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7670", + "id": "0x7f0da6b48280", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33740, - "line": 1103, + "offset": 36231, + "line": 1184, "col": 13, "tokLen": 1 }, "end": { - "offset": 33740, + "offset": 36231, "col": 13, "tokLen": 1 } @@ -60881,16 +67124,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e7650", + "id": "0x7f0da6b48260", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33740, + "offset": 36231, "col": 13, "tokLen": 1 }, "end": { - "offset": 33740, + "offset": 36231, "col": 13, "tokLen": 1 } @@ -60900,7 +67143,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7478", + "id": "0x7f0da6b48088", "kind": "VarDecl", "name": "i", "type": { @@ -60911,52 +67154,52 @@ ] }, { - "id": "0x38e79b8", + "id": "0x7f0da6b48550", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33743, + "offset": 36234, "col": 16, "tokLen": 1 }, "end": { - "offset": 33898, - "line": 1110, + "offset": 36389, + "line": 1191, "col": 5, "tokLen": 1 } }, "inner": [ { - "id": "0x38e76f0", + "id": "0x7f0da6b48300", "kind": "CaseStmt", "range": { "begin": { - "offset": 33749, - "line": 1104, + "offset": 36240, + "line": 1185, "col": 5, "tokLen": 4 }, "end": { - "offset": 33772, - "line": 1105, + "offset": 36263, + "line": 1186, "col": 16, "tokLen": 5 } }, "inner": [ { - "id": "0x38e76d0", + "id": "0x7f0da6b482e0", "kind": "ConstantExpr", "range": { "begin": { - "offset": 33754, - "line": 1104, + "offset": 36245, + "line": 1185, "col": 10, "tokLen": 1 }, "end": { - "offset": 33754, + "offset": 36245, "col": 10, "tokLen": 1 } @@ -60968,16 +67211,16 @@ "value": "0", "inner": [ { - "id": "0x38e76b0", + "id": "0x7f0da6b482c0", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33754, + "offset": 36245, "col": 10, "tokLen": 1 }, "end": { - "offset": 33754, + "offset": 36245, "col": 10, "tokLen": 1 } @@ -60991,33 +67234,33 @@ ] }, { - "id": "0x38e7728", + "id": "0x7f0da6b48338", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33765, - "line": 1105, + "offset": 36256, + "line": 1186, "col": 9, "tokLen": 6 }, "end": { - "offset": 33772, + "offset": 36263, "col": 16, "tokLen": 5 } }, "inner": [ { - "id": "0x38e7718", + "id": "0x7f0da6b48328", "kind": "CXXBoolLiteralExpr", "range": { "begin": { - "offset": 33772, + "offset": 36263, "col": 16, "tokLen": 5 }, "end": { - "offset": 33772, + "offset": 36263, "col": 16, "tokLen": 5 } @@ -61033,35 +67276,35 @@ ] }, { - "id": "0x38e7778", + "id": "0x7f0da6b48388", "kind": "CaseStmt", "range": { "begin": { - "offset": 33783, - "line": 1106, + "offset": 36274, + "line": 1187, "col": 5, "tokLen": 4 }, "end": { - "offset": 33806, - "line": 1107, + "offset": 36297, + "line": 1188, "col": 16, "tokLen": 4 } }, "inner": [ { - "id": "0x38e7758", + "id": "0x7f0da6b48368", "kind": "ConstantExpr", "range": { "begin": { - "offset": 33788, - "line": 1106, + "offset": 36279, + "line": 1187, "col": 10, "tokLen": 1 }, "end": { - "offset": 33788, + "offset": 36279, "col": 10, "tokLen": 1 } @@ -61073,16 +67316,16 @@ "value": "1", "inner": [ { - "id": "0x38e7738", + "id": "0x7f0da6b48348", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33788, + "offset": 36279, "col": 10, "tokLen": 1 }, "end": { - "offset": 33788, + "offset": 36279, "col": 10, "tokLen": 1 } @@ -61096,33 +67339,33 @@ ] }, { - "id": "0x38e77b0", + "id": "0x7f0da6b483c0", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33799, - "line": 1107, + "offset": 36290, + "line": 1188, "col": 9, "tokLen": 6 }, "end": { - "offset": 33806, + "offset": 36297, "col": 16, "tokLen": 4 } }, "inner": [ { - "id": "0x38e77a0", + "id": "0x7f0da6b483b0", "kind": "CXXBoolLiteralExpr", "range": { "begin": { - "offset": 33806, + "offset": 36297, "col": 16, "tokLen": 4 }, "end": { - "offset": 33806, + "offset": 36297, "col": 16, "tokLen": 4 } @@ -61138,34 +67381,34 @@ ] }, { - "id": "0x38e7998", + "id": "0x7f0da6b48530", "kind": "DefaultStmt", "range": { "begin": { - "offset": 33816, - "line": 1108, + "offset": 36307, + "line": 1189, "col": 5, "tokLen": 7 }, "end": { - "offset": 33891, - "line": 1109, + "offset": 36382, + "line": 1190, "col": 67, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7980", + "id": "0x7f0da6b48518", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 33833, + "offset": 36324, "col": 9, "tokLen": 5 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } @@ -61177,16 +67420,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38e7968", + "id": "0x7f0da6b48500", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 33833, + "offset": 36324, "col": 9, "tokLen": 5 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } @@ -61197,74 +67440,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e7938", + "id": "0x7f0da6b484d0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38e7920", + "id": "0x7f0da6b484b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38e78f8", + "id": "0x7f0da6b48490", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da84b8", + "id": "0x2c968a58", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -61273,27 +67519,28 @@ }, "inner": [ { - "id": "0x38e78d8", + "id": "0x7f0da6b48470", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38e78d0", + "temp": "0x7f0da6b48468", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -61302,22 +67549,23 @@ }, "inner": [ { - "id": "0x38e78a0", + "id": "0x7f0da6b48438", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -61327,16 +67575,16 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38e7888", + "id": "0x7f0da6b48420", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 }, "end": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 } @@ -61348,16 +67596,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e7848", + "id": "0x7f0da6b483e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 }, "end": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 } @@ -61395,29 +67643,29 @@ ] } { - "id": "0x38e7b28", + "id": "0x7f0da6b486c8", "kind": "FunctionDecl", "loc": { - "offset": 33923, + "offset": 36414, "file": "ToString.cpp", - "line": 1113, + "line": 1194, "col": 21, "tokLen": 8 }, "range": { "begin": { - "offset": 33903, + "offset": 36394, "col": 1, "tokLen": 8 }, "end": { - "offset": 34056, - "line": 1116, + "offset": 36547, + "line": 1197, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368f668", + "previousDecl": "0x2d37db18", "name": "StringTo", "mangledName": "_ZN3sls8StringToIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -61431,7 +67679,7 @@ }, "inner": [ { - "id": "0x230bb50", + "id": "0x2bf08d10", "kind": "BuiltinType", "type": { "qualType": "long" @@ -61440,22 +67688,22 @@ ] }, { - "id": "0x38e7a68", + "id": "0x7f0da6b48600", "kind": "ParmVarDecl", "loc": { - "offset": 33951, - "line": 1113, + "offset": 36442, + "line": 1194, "col": 49, "tokLen": 1 }, "range": { "begin": { - "offset": 33932, + "offset": 36423, "col": 30, "tokLen": 5 }, "end": { - "offset": 33951, + "offset": 36442, "col": 49, "tokLen": 1 } @@ -61467,55 +67715,55 @@ } }, { - "id": "0x38e81b8", + "id": "0x7f0da6b48d88", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33954, + "offset": 36445, "col": 52, "tokLen": 1 }, "end": { - "offset": 34056, - "line": 1116, + "offset": 36547, + "line": 1197, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7fc8", + "id": "0x7f0da6b48b98", "kind": "DeclStmt", "range": { "begin": { - "offset": 33960, - "line": 1114, + "offset": 36451, + "line": 1195, "col": 5, "tokLen": 3 }, "end": { - "offset": 34014, + "offset": 36505, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7cc8", + "id": "0x7f0da6b48898", "kind": "VarDecl", "loc": { - "offset": 33964, + "offset": 36455, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33960, + "offset": 36451, "col": 5, "tokLen": 3 }, "end": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 } @@ -61528,16 +67776,16 @@ "init": "c", "inner": [ { - "id": "0x38e7f98", + "id": "0x7f0da6b48b68", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 } @@ -61548,16 +67796,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e7f38", + "id": "0x7f0da6b48b08", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 34000, + "offset": 36491, "col": 45, "tokLen": 4 } @@ -61569,38 +67817,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e7e10", + "id": "0x7f0da6b489e0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 33982, + "offset": 36473, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e7de0", + "id": "0x7f0da6b489b0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 33973, + "offset": 36464, "col": 18, "tokLen": 4 } @@ -61611,19 +67859,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e7d30", + "id": "0x7f0da6b48900", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 } @@ -61631,11 +67879,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7a68", + "id": "0x7f0da6b48600", "kind": "ParmVarDecl", "name": "s", "type": { @@ -61646,16 +67894,16 @@ ] }, { - "id": "0x38e7e40", + "id": "0x7f0da6b48a10", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 }, "end": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 } @@ -61667,16 +67915,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e7dc0", + "id": "0x7f0da6b48990", "kind": "StringLiteral", "range": { "begin": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 }, "end": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 } @@ -61690,7 +67938,7 @@ ] }, { - "id": "0x38e7e58", + "id": "0x7f0da6b48a28", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -61698,24 +67946,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e7f20", + "id": "0x7f0da6b48af0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33987, + "offset": 36478, "col": 32, "tokLen": 3 }, "end": { - "offset": 34000, + "offset": 36491, "col": 45, "tokLen": 4 } @@ -61723,22 +67971,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e7ef0", + "id": "0x7f0da6b48ac0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33987, + "offset": 36478, "col": 32, "tokLen": 3 }, "end": { - "offset": 34000, + "offset": 36491, "col": 45, "tokLen": 4 } @@ -61746,17 +67994,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -61766,16 +68014,16 @@ ] }, { - "id": "0x38e7f58", + "id": "0x7f0da6b48b28", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 34007, + "offset": 36498, "col": 52, "tokLen": 2 }, "end": { - "offset": 34007, + "offset": 36498, "col": 52, "tokLen": 2 } @@ -61787,16 +68035,16 @@ "value": "16" }, { - "id": "0x38e7f78", + "id": "0x7f0da6b48b48", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 }, "end": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 } @@ -61814,33 +68062,33 @@ ] }, { - "id": "0x38e81a8", + "id": "0x7f0da6b48d78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 34020, - "line": 1115, + "offset": 36511, + "line": 1196, "col": 5, "tokLen": 6 }, "end": { - "offset": 34053, + "offset": 36544, "col": 38, "tokLen": 1 } }, "inner": [ { - "id": "0x38e8140", + "id": "0x7f0da6b48d10", "kind": "CallExpr", "range": { "begin": { - "offset": 34027, + "offset": 36518, "col": 12, "tokLen": 3 }, "end": { - "offset": 34053, + "offset": 36544, "col": 38, "tokLen": 1 } @@ -61851,67 +68099,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e8128", + "id": "0x7f0da6b48cf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 34027, + "offset": 36518, "col": 12, "tokLen": 3 }, "end": { - "offset": 34032, + "offset": 36523, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "long (*)(const std::string &, std::size_t *, int)" + "qualType": "long (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e80a0", + "id": "0x7f0da6b48c70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 34027, + "offset": 36518, "col": 12, "tokLen": 3 }, "end": { - "offset": 34032, + "offset": 36523, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "long (const std::string &, std::size_t *, int)" + "qualType": "long (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2ca7f70", + "id": "0x2c8d05c0", "kind": "FunctionDecl", "name": "stol", "type": { - "qualType": "long (const std::string &, std::size_t *, int)" + "qualType": "long (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e8050", + "id": "0x7f0da6b48c20", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 34037, + "offset": 36528, "col": 22, "tokLen": 1 }, "end": { - "offset": 34037, + "offset": 36528, "col": 22, "tokLen": 1 } @@ -61919,11 +68167,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7a68", + "id": "0x7f0da6b48600", "kind": "ParmVarDecl", "name": "s", "type": { @@ -61932,37 +68180,37 @@ } }, { - "id": "0x38e8178", + "id": "0x7f0da6b48d48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 }, "end": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e8070", + "id": "0x7f0da6b48c40", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 }, "end": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 } @@ -61975,16 +68223,16 @@ ] }, { - "id": "0x38e8190", + "id": "0x7f0da6b48d60", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 }, "end": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 } @@ -61996,16 +68244,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e8080", + "id": "0x7f0da6b48c50", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 }, "end": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 } @@ -62015,7 +68263,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7cc8", + "id": "0x7f0da6b48898", "kind": "VarDecl", "name": "base", "type": { diff --git a/slsDetectorSoftware/generator/autocomplete/fixed.json b/slsDetectorSoftware/generator/autocomplete/fixed.json index 441d25449..32c285114 100644 --- a/slsDetectorSoftware/generator/autocomplete/fixed.json +++ b/slsDetectorSoftware/generator/autocomplete/fixed.json @@ -1,11 +1,11 @@ [ { - "id": "0x3654da8", + "id": "0x2d33fd20", "kind": "FunctionTemplateDecl", "loc": { - "offset": 8539, + "offset": 8829, "file": "../include/sls/ToString.h", - "line": 271, + "line": 276, "col": 3, "tokLen": 8, "includedFrom": { @@ -14,8 +14,8 @@ }, "range": { "begin": { - "offset": 8515, - "line": 270, + "offset": 8805, + "line": 275, "col": 1, "tokLen": 8, "includedFrom": { @@ -23,8 +23,8 @@ } }, "end": { - "offset": 9380, - "line": 293, + "offset": 9670, + "line": 298, "col": 1, "tokLen": 1, "includedFrom": { @@ -35,11 +35,11 @@ "name": "StringTo", "inner": [ { - "id": "0x3654a48", + "id": "0x2d33f9b8", "kind": "TemplateTypeParmDecl", "loc": { - "offset": 8534, - "line": 270, + "offset": 8824, + "line": 275, "col": 20, "tokLen": 1, "includedFrom": { @@ -48,7 +48,7 @@ }, "range": { "begin": { - "offset": 8525, + "offset": 8815, "col": 11, "tokLen": 8, "includedFrom": { @@ -56,7 +56,7 @@ } }, "end": { - "offset": 8534, + "offset": 8824, "col": 20, "tokLen": 1, "includedFrom": { @@ -71,11 +71,11 @@ "index": 0 }, { - "id": "0x3654d08", + "id": "0x2d33fc78", "kind": "FunctionDecl", "loc": { - "offset": 8539, - "line": 271, + "offset": 8829, + "line": 276, "col": 3, "tokLen": 8, "includedFrom": { @@ -84,7 +84,7 @@ }, "range": { "begin": { - "offset": 8537, + "offset": 8827, "col": 1, "tokLen": 1, "includedFrom": { @@ -92,8 +92,8 @@ } }, "end": { - "offset": 9380, - "line": 293, + "offset": 9670, + "line": 298, "col": 1, "tokLen": 1, "includedFrom": { @@ -107,11 +107,11 @@ }, "inner": [ { - "id": "0x3654b38", + "id": "0x2d33faa8", "kind": "ParmVarDecl", "loc": { - "offset": 8567, - "line": 271, + "offset": 8857, + "line": 276, "col": 31, "tokLen": 1, "includedFrom": { @@ -120,7 +120,7 @@ }, "range": { "begin": { - "offset": 8548, + "offset": 8838, "col": 12, "tokLen": 5, "includedFrom": { @@ -128,7 +128,7 @@ } }, "end": { - "offset": 8567, + "offset": 8857, "col": 31, "tokLen": 1, "includedFrom": { @@ -143,10 +143,10 @@ } }, { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "loc": { - "offset": 8589, + "offset": 8879, "col": 53, "tokLen": 4, "includedFrom": { @@ -155,7 +155,7 @@ }, "range": { "begin": { - "offset": 8570, + "offset": 8860, "col": 34, "tokLen": 5, "includedFrom": { @@ -163,7 +163,7 @@ } }, "end": { - "offset": 8589, + "offset": 8879, "col": 53, "tokLen": 4, "includedFrom": { @@ -178,11 +178,11 @@ } }, { - "id": "0x3687658", + "id": "0x2d374e28", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8595, + "offset": 8885, "col": 59, "tokLen": 1, "includedFrom": { @@ -190,8 +190,8 @@ } }, "end": { - "offset": 9380, - "line": 293, + "offset": 9670, + "line": 298, "col": 1, "tokLen": 1, "includedFrom": { @@ -201,12 +201,12 @@ }, "inner": [ { - "id": "0x3654fe0", + "id": "0x2d33ff58", "kind": "DeclStmt", "range": { "begin": { - "offset": 8601, - "line": 272, + "offset": 8891, + "line": 277, "col": 5, "tokLen": 6, "includedFrom": { @@ -214,7 +214,7 @@ } }, "end": { - "offset": 8615, + "offset": 8905, "col": 19, "tokLen": 1, "includedFrom": { @@ -224,10 +224,10 @@ }, "inner": [ { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "loc": { - "offset": 8608, + "offset": 8898, "col": 12, "tokLen": 4, "includedFrom": { @@ -236,7 +236,7 @@ }, "range": { "begin": { - "offset": 8601, + "offset": 8891, "col": 5, "tokLen": 6, "includedFrom": { @@ -244,7 +244,7 @@ } }, "end": { - "offset": 8614, + "offset": 8904, "col": 18, "tokLen": 1, "includedFrom": { @@ -260,11 +260,11 @@ "init": "list", "inner": [ { - "id": "0x3654f80", + "id": "0x2d33fef8", "kind": "InitListExpr", "range": { "begin": { - "offset": 8612, + "offset": 8902, "col": 16, "tokLen": 1, "includedFrom": { @@ -272,7 +272,7 @@ } }, "end": { - "offset": 8614, + "offset": 8904, "col": 18, "tokLen": 1, "includedFrom": { @@ -286,11 +286,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3654fc0", + "id": "0x2d33ff38", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -298,7 +298,7 @@ } }, "end": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -313,11 +313,11 @@ "castKind": "IntegralToFloating", "inner": [ { - "id": "0x3654f08", + "id": "0x2d33fe80", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -325,7 +325,7 @@ } }, "end": { - "offset": 8613, + "offset": 8903, "col": 17, "tokLen": 1, "includedFrom": { @@ -348,12 +348,12 @@ ] }, { - "id": "0x3655488", + "id": "0x2d3404a8", "kind": "CXXTryStmt", "range": { "begin": { - "offset": 8621, - "line": 273, + "offset": 8911, + "line": 278, "col": 5, "tokLen": 3, "includedFrom": { @@ -361,8 +361,8 @@ } }, "end": { - "offset": 8771, - "line": 277, + "offset": 9061, + "line": 282, "col": 5, "tokLen": 1, "includedFrom": { @@ -372,12 +372,12 @@ }, "inner": [ { - "id": "0x36551c0", + "id": "0x2d340130", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8625, - "line": 273, + "offset": 8915, + "line": 278, "col": 9, "tokLen": 1, "includedFrom": { @@ -385,8 +385,8 @@ } }, "end": { - "offset": 8660, - "line": 275, + "offset": 8950, + "line": 280, "col": 5, "tokLen": 1, "includedFrom": { @@ -396,12 +396,12 @@ }, "inner": [ { - "id": "0x36551a0", + "id": "0x2d340110", "kind": "BinaryOperator", "range": { "begin": { - "offset": 8635, - "line": 274, + "offset": 8925, + "line": 279, "col": 9, "tokLen": 4, "includedFrom": { @@ -409,7 +409,7 @@ } }, "end": { - "offset": 8653, + "offset": 8943, "col": 27, "tokLen": 1, "includedFrom": { @@ -424,11 +424,11 @@ "opcode": "=", "inner": [ { - "id": "0x3654ff8", + "id": "0x2d33ff70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8635, + "offset": 8925, "col": 9, "tokLen": 4, "includedFrom": { @@ -436,7 +436,7 @@ } }, "end": { - "offset": 8635, + "offset": 8925, "col": 9, "tokLen": 4, "includedFrom": { @@ -449,7 +449,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -458,11 +458,11 @@ } }, { - "id": "0x3655150", + "id": "0x2d3400c0", "kind": "CallExpr", "range": { "begin": { - "offset": 8642, + "offset": 8932, "col": 16, "tokLen": 3, "includedFrom": { @@ -470,7 +470,7 @@ } }, "end": { - "offset": 8653, + "offset": 8943, "col": 27, "tokLen": 1, "includedFrom": { @@ -484,11 +484,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3655138", + "id": "0x2d3400a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8642, + "offset": 8932, "col": 16, "tokLen": 3, "includedFrom": { @@ -496,7 +496,7 @@ } }, "end": { - "offset": 8647, + "offset": 8937, "col": 21, "tokLen": 4, "includedFrom": { @@ -505,17 +505,17 @@ } }, "type": { - "qualType": "double (*)(const std::string &, std::size_t *)" + "qualType": "double (*)(const string &, size_t *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36550a8", + "id": "0x2d340020", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8642, + "offset": 8932, "col": 16, "tokLen": 3, "includedFrom": { @@ -523,7 +523,7 @@ } }, "end": { - "offset": 8647, + "offset": 8937, "col": 21, "tokLen": 4, "includedFrom": { @@ -532,26 +532,26 @@ } }, "type": { - "qualType": "double (const std::string &, std::size_t *)" + "qualType": "double (const string &, size_t *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2caf050", + "id": "0x2c8d75c0", "kind": "FunctionDecl", "name": "stod", "type": { - "qualType": "double (const std::string &, std::size_t *)" + "qualType": "double (const string &, size_t *)" } } } ] }, { - "id": "0x3655088", + "id": "0x2d340000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8652, + "offset": 8942, "col": 26, "tokLen": 1, "includedFrom": { @@ -559,7 +559,7 @@ } }, "end": { - "offset": 8652, + "offset": 8942, "col": 26, "tokLen": 1, "includedFrom": { @@ -570,11 +570,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654b38", + "id": "0x2d33faa8", "kind": "ParmVarDecl", "name": "t", "type": { @@ -583,14 +583,14 @@ } }, { - "id": "0x3655180", + "id": "0x2d3400f0", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, "end": {} }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue" } @@ -601,12 +601,12 @@ ] }, { - "id": "0x3655468", + "id": "0x2d340488", "kind": "CXXCatchStmt", "range": { "begin": { - "offset": 8662, - "line": 275, + "offset": 8952, + "line": 280, "col": 7, "tokLen": 5, "includedFrom": { @@ -614,8 +614,8 @@ } }, "end": { - "offset": 8771, - "line": 277, + "offset": 9061, + "line": 282, "col": 5, "tokLen": 1, "includedFrom": { @@ -625,11 +625,11 @@ }, "inner": [ { - "id": "0x3655290", + "id": "0x2d340200", "kind": "VarDecl", "loc": { - "offset": 8698, - "line": 275, + "offset": 8988, + "line": 280, "col": 43, "tokLen": 1, "includedFrom": { @@ -638,7 +638,7 @@ }, "range": { "begin": { - "offset": 8669, + "offset": 8959, "col": 14, "tokLen": 5, "includedFrom": { @@ -646,7 +646,7 @@ } }, "end": { - "offset": 8698, + "offset": 8988, "col": 43, "tokLen": 1, "includedFrom": { @@ -660,11 +660,11 @@ } }, { - "id": "0x3655450", + "id": "0x2d340470", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8701, + "offset": 8991, "col": 46, "tokLen": 1, "includedFrom": { @@ -672,8 +672,8 @@ } }, "end": { - "offset": 8771, - "line": 277, + "offset": 9061, + "line": 282, "col": 5, "tokLen": 1, "includedFrom": { @@ -683,12 +683,12 @@ }, "inner": [ { - "id": "0x3655438", + "id": "0x2d340458", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 8711, - "line": 276, + "offset": 9001, + "line": 281, "col": 9, "tokLen": 5, "includedFrom": { @@ -696,7 +696,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -711,11 +711,11 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3655420", + "id": "0x2d340440", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 8711, + "offset": 9001, "col": 9, "tokLen": 5, "includedFrom": { @@ -723,7 +723,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -737,11 +737,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x36553f0", + "id": "0x2d340410", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -749,7 +749,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -758,22 +758,23 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x36553d8", + "id": "0x2d3403f8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -781,7 +782,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -790,17 +791,18 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36553b0", + "id": "0x2d3403d0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -808,7 +810,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -817,12 +819,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da84b8", + "id": "0x2c968a58", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -831,11 +834,11 @@ }, "inner": [ { - "id": "0x3655390", + "id": "0x2d3403b0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -843,7 +846,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -852,12 +855,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3655388", + "temp": "0x2d3403a8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -866,11 +870,11 @@ }, "inner": [ { - "id": "0x3655358", + "id": "0x2d340378", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 8717, + "offset": 9007, "col": 15, "tokLen": 12, "includedFrom": { @@ -878,7 +882,7 @@ } }, "end": { - "offset": 8764, + "offset": 9054, "col": 62, "tokLen": 1, "includedFrom": { @@ -887,7 +891,8 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -897,11 +902,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3655340", + "id": "0x2d340330", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -909,7 +914,7 @@ } }, "end": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -924,11 +929,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3655308", + "id": "0x2d3402f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -936,7 +941,7 @@ } }, "end": { - "offset": 8730, + "offset": 9020, "col": 28, "tokLen": 34, "includedFrom": { @@ -973,12 +978,12 @@ ] }, { - "id": "0x3655560", + "id": "0x2d340580", "kind": "DeclStmt", "range": { "begin": { - "offset": 8778, - "line": 279, + "offset": 9068, + "line": 284, "col": 5, "tokLen": 5, "includedFrom": { @@ -986,7 +991,7 @@ } }, "end": { - "offset": 8805, + "offset": 9095, "col": 32, "tokLen": 1, "includedFrom": { @@ -996,10 +1001,10 @@ }, "inner": [ { - "id": "0x36554b8", + "id": "0x2d3404d8", "kind": "UsingDecl", "loc": { - "offset": 8797, + "offset": 9087, "col": 24, "tokLen": 8, "includedFrom": { @@ -1008,7 +1013,7 @@ }, "range": { "begin": { - "offset": 8778, + "offset": 9068, "col": 5, "tokLen": 5, "includedFrom": { @@ -1016,7 +1021,7 @@ } }, "end": { - "offset": 8797, + "offset": 9087, "col": 24, "tokLen": 8, "includedFrom": { @@ -1029,12 +1034,12 @@ ] }, { - "id": "0x3655630", + "id": "0x2d340650", "kind": "DeclStmt", "range": { "begin": { - "offset": 8811, - "line": 280, + "offset": 9101, + "line": 285, "col": 5, "tokLen": 5, "includedFrom": { @@ -1042,7 +1047,7 @@ } }, "end": { - "offset": 8843, + "offset": 9133, "col": 37, "tokLen": 1, "includedFrom": { @@ -1052,10 +1057,10 @@ }, "inner": [ { - "id": "0x3655588", + "id": "0x2d3405a8", "kind": "UsingDecl", "loc": { - "offset": 8830, + "offset": 9120, "col": 24, "tokLen": 13, "includedFrom": { @@ -1064,7 +1069,7 @@ }, "range": { "begin": { - "offset": 8811, + "offset": 9101, "col": 5, "tokLen": 5, "includedFrom": { @@ -1072,7 +1077,7 @@ } }, "end": { - "offset": 8830, + "offset": 9120, "col": 24, "tokLen": 13, "includedFrom": { @@ -1085,12 +1090,12 @@ ] }, { - "id": "0x3687628", + "id": "0x2d374df8", "kind": "IfStmt", "range": { "begin": { - "offset": 8849, - "line": 281, + "offset": 9139, + "line": 286, "col": 5, "tokLen": 2, "includedFrom": { @@ -1098,8 +1103,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -1110,12 +1115,12 @@ "hasElse": true, "inner": [ { - "id": "0x36563f0", + "id": "0x2d3418c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 8853, - "line": 281, + "offset": 9143, + "line": 286, "col": 9, "tokLen": 4, "includedFrom": { @@ -1123,7 +1128,7 @@ } }, "end": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1138,11 +1143,11 @@ "adl": true, "inner": [ { - "id": "0x36563d8", + "id": "0x2d3418b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1150,7 +1155,7 @@ } }, "end": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1159,17 +1164,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36563b8", + "id": "0x2d341890", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1177,7 +1182,7 @@ } }, "end": { - "offset": 8858, + "offset": 9148, "col": 14, "tokLen": 2, "includedFrom": { @@ -1186,26 +1191,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3655648", + "id": "0x2d340668", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8853, + "offset": 9143, "col": 9, "tokLen": 4, "includedFrom": { @@ -1213,7 +1218,7 @@ } }, "end": { - "offset": 8853, + "offset": 9143, "col": 9, "tokLen": 4, "includedFrom": { @@ -1224,11 +1229,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -1237,11 +1242,11 @@ } }, { - "id": "0x36563a0", + "id": "0x2d341878", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1249,7 +1254,7 @@ } }, "end": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1264,11 +1269,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3655668", + "id": "0x2d340688", "kind": "StringLiteral", "range": { "begin": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1276,7 +1281,7 @@ } }, "end": { - "offset": 8861, + "offset": 9151, "col": 17, "tokLen": 4, "includedFrom": { @@ -1295,11 +1300,11 @@ ] }, { - "id": "0x366ce00", + "id": "0x2d355c50", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8867, + "offset": 9157, "col": 23, "tokLen": 1, "includedFrom": { @@ -1307,8 +1312,8 @@ } }, "end": { - "offset": 8941, - "line": 283, + "offset": 9231, + "line": 288, "col": 5, "tokLen": 1, "includedFrom": { @@ -1318,12 +1323,12 @@ }, "inner": [ { - "id": "0x366cdf0", + "id": "0x2d355c40", "kind": "ReturnStmt", "range": { "begin": { - "offset": 8877, - "line": 282, + "offset": 9167, + "line": 287, "col": 9, "tokLen": 6, "includedFrom": { @@ -1331,7 +1336,7 @@ } }, "end": { - "offset": 8934, + "offset": 9224, "col": 66, "tokLen": 1, "includedFrom": { @@ -1341,11 +1346,11 @@ }, "inner": [ { - "id": "0x366cdc8", + "id": "0x2d355c18", "kind": "CallExpr", "range": { "begin": { - "offset": 8884, + "offset": 9174, "col": 16, "tokLen": 13, "includedFrom": { @@ -1353,7 +1358,7 @@ } }, "end": { - "offset": 8934, + "offset": 9224, "col": 66, "tokLen": 1, "includedFrom": { @@ -1367,11 +1372,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3656438", + "id": "0x2d341910", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 8884, + "offset": 9174, "col": 16, "tokLen": 13, "includedFrom": { @@ -1379,7 +1384,7 @@ } }, "end": { - "offset": 8899, + "offset": 9189, "col": 31, "tokLen": 1, "includedFrom": { @@ -1395,18 +1400,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x366cda0", + "id": "0x2d355bf0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 8901, + "offset": 9191, "col": 33, "tokLen": 8, "includedFrom": { @@ -1414,7 +1419,7 @@ } }, "end": { - "offset": 8933, + "offset": 9223, "col": 65, "tokLen": 1, "includedFrom": { @@ -1429,7 +1434,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x366ca28", + "id": "0x2d355898", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -1438,11 +1443,11 @@ }, "inner": [ { - "id": "0x366cd70", + "id": "0x2d355bc0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 8901, + "offset": 9191, "col": 33, "tokLen": 8, "includedFrom": { @@ -1450,7 +1455,7 @@ } }, "end": { - "offset": 8933, + "offset": 9223, "col": 65, "tokLen": 1, "includedFrom": { @@ -1470,11 +1475,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x366cb78", + "id": "0x2d3559f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1482,7 +1487,7 @@ } }, "end": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1498,11 +1503,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x36566d8", + "id": "0x2d341be0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1510,7 +1515,7 @@ } }, "end": { - "offset": 8929, + "offset": 9219, "col": 61, "tokLen": 4, "includedFrom": { @@ -1523,7 +1528,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -1544,12 +1549,12 @@ ] }, { - "id": "0x36875f8", + "id": "0x2d374dc8", "kind": "IfStmt", "range": { "begin": { - "offset": 8948, - "line": 283, + "offset": 9238, + "line": 288, "col": 12, "tokLen": 2, "includedFrom": { @@ -1557,8 +1562,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -1569,12 +1574,12 @@ "hasElse": true, "inner": [ { - "id": "0x366dbc0", + "id": "0x2d356ec8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 8952, - "line": 283, + "offset": 9242, + "line": 288, "col": 16, "tokLen": 4, "includedFrom": { @@ -1582,7 +1587,7 @@ } }, "end": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1597,11 +1602,11 @@ "adl": true, "inner": [ { - "id": "0x366dba8", + "id": "0x2d356eb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1609,7 +1614,7 @@ } }, "end": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1618,17 +1623,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x366db88", + "id": "0x2d356e90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1636,7 +1641,7 @@ } }, "end": { - "offset": 8957, + "offset": 9247, "col": 21, "tokLen": 2, "includedFrom": { @@ -1645,26 +1650,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x366ce18", + "id": "0x2d355c68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 8952, + "offset": 9242, "col": 16, "tokLen": 4, "includedFrom": { @@ -1672,7 +1677,7 @@ } }, "end": { - "offset": 8952, + "offset": 9242, "col": 16, "tokLen": 4, "includedFrom": { @@ -1683,11 +1688,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -1696,11 +1701,11 @@ } }, { - "id": "0x366db70", + "id": "0x2d356e78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1708,7 +1713,7 @@ } }, "end": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1723,11 +1728,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x366ce38", + "id": "0x2d355c88", "kind": "StringLiteral", "range": { "begin": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1735,7 +1740,7 @@ } }, "end": { - "offset": 8960, + "offset": 9250, "col": 24, "tokLen": 4, "includedFrom": { @@ -1754,11 +1759,11 @@ ] }, { - "id": "0x3675a60", + "id": "0x2d360050", "kind": "CompoundStmt", "range": { "begin": { - "offset": 8966, + "offset": 9256, "col": 30, "tokLen": 1, "includedFrom": { @@ -1766,8 +1771,8 @@ } }, "end": { - "offset": 9041, - "line": 285, + "offset": 9331, + "line": 290, "col": 5, "tokLen": 1, "includedFrom": { @@ -1777,12 +1782,12 @@ }, "inner": [ { - "id": "0x3675a50", + "id": "0x2d360040", "kind": "ReturnStmt", "range": { "begin": { - "offset": 8976, - "line": 284, + "offset": 9266, + "line": 289, "col": 9, "tokLen": 6, "includedFrom": { @@ -1790,7 +1795,7 @@ } }, "end": { - "offset": 9034, + "offset": 9324, "col": 67, "tokLen": 1, "includedFrom": { @@ -1800,11 +1805,11 @@ }, "inner": [ { - "id": "0x3675a28", + "id": "0x2d360018", "kind": "CallExpr", "range": { "begin": { - "offset": 8983, + "offset": 9273, "col": 16, "tokLen": 13, "includedFrom": { @@ -1812,7 +1817,7 @@ } }, "end": { - "offset": 9034, + "offset": 9324, "col": 67, "tokLen": 1, "includedFrom": { @@ -1826,11 +1831,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x366dc08", + "id": "0x2d356f10", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 8983, + "offset": 9273, "col": 16, "tokLen": 13, "includedFrom": { @@ -1838,7 +1843,7 @@ } }, "end": { - "offset": 8998, + "offset": 9288, "col": 31, "tokLen": 1, "includedFrom": { @@ -1854,18 +1859,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x3675a00", + "id": "0x2d35fff0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9000, + "offset": 9290, "col": 33, "tokLen": 8, "includedFrom": { @@ -1873,7 +1878,7 @@ } }, "end": { - "offset": 9033, + "offset": 9323, "col": 66, "tokLen": 1, "includedFrom": { @@ -1888,7 +1893,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x3675688", + "id": "0x2d35fc98", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -1897,11 +1902,11 @@ }, "inner": [ { - "id": "0x36759d0", + "id": "0x2d35ffc0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9000, + "offset": 9290, "col": 33, "tokLen": 8, "includedFrom": { @@ -1909,7 +1914,7 @@ } }, "end": { - "offset": 9033, + "offset": 9323, "col": 66, "tokLen": 1, "includedFrom": { @@ -1929,11 +1934,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x36757d8", + "id": "0x2d35fdf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1941,7 +1946,7 @@ } }, "end": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1957,11 +1962,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x366dea8", + "id": "0x2d3571e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1969,7 +1974,7 @@ } }, "end": { - "offset": 9029, + "offset": 9319, "col": 62, "tokLen": 4, "includedFrom": { @@ -1982,7 +1987,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -2003,12 +2008,12 @@ ] }, { - "id": "0x36875c8", + "id": "0x2d374d98", "kind": "IfStmt", "range": { "begin": { - "offset": 9048, - "line": 285, + "offset": 9338, + "line": 290, "col": 12, "tokLen": 2, "includedFrom": { @@ -2016,8 +2021,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -2028,12 +2033,12 @@ "hasElse": true, "inner": [ { - "id": "0x3676820", + "id": "0x2d3612c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 9052, - "line": 285, + "offset": 9342, + "line": 290, "col": 16, "tokLen": 4, "includedFrom": { @@ -2041,7 +2046,7 @@ } }, "end": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2056,11 +2061,11 @@ "adl": true, "inner": [ { - "id": "0x3676808", + "id": "0x2d3612b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2068,7 +2073,7 @@ } }, "end": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2077,17 +2082,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36767e8", + "id": "0x2d361290", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2095,7 +2100,7 @@ } }, "end": { - "offset": 9057, + "offset": 9347, "col": 21, "tokLen": 2, "includedFrom": { @@ -2104,26 +2109,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3675a78", + "id": "0x2d360068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9052, + "offset": 9342, "col": 16, "tokLen": 4, "includedFrom": { @@ -2131,7 +2136,7 @@ } }, "end": { - "offset": 9052, + "offset": 9342, "col": 16, "tokLen": 4, "includedFrom": { @@ -2142,11 +2147,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -2155,11 +2160,11 @@ } }, { - "id": "0x36767d0", + "id": "0x2d361278", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2167,7 +2172,7 @@ } }, "end": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2182,11 +2187,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3675a98", + "id": "0x2d360088", "kind": "StringLiteral", "range": { "begin": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2194,7 +2199,7 @@ } }, "end": { - "offset": 9060, + "offset": 9350, "col": 24, "tokLen": 4, "includedFrom": { @@ -2213,11 +2218,11 @@ ] }, { - "id": "0x367e6d0", + "id": "0x2d36a4b0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9066, + "offset": 9356, "col": 30, "tokLen": 1, "includedFrom": { @@ -2225,8 +2230,8 @@ } }, "end": { - "offset": 9141, - "line": 287, + "offset": 9431, + "line": 292, "col": 5, "tokLen": 1, "includedFrom": { @@ -2236,12 +2241,12 @@ }, "inner": [ { - "id": "0x367e6c0", + "id": "0x2d36a4a0", "kind": "ReturnStmt", "range": { "begin": { - "offset": 9076, - "line": 286, + "offset": 9366, + "line": 291, "col": 9, "tokLen": 6, "includedFrom": { @@ -2249,7 +2254,7 @@ } }, "end": { - "offset": 9134, + "offset": 9424, "col": 67, "tokLen": 1, "includedFrom": { @@ -2259,11 +2264,11 @@ }, "inner": [ { - "id": "0x367e698", + "id": "0x2d36a478", "kind": "CallExpr", "range": { "begin": { - "offset": 9083, + "offset": 9373, "col": 16, "tokLen": 13, "includedFrom": { @@ -2271,7 +2276,7 @@ } }, "end": { - "offset": 9134, + "offset": 9424, "col": 67, "tokLen": 1, "includedFrom": { @@ -2285,11 +2290,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3676868", + "id": "0x2d361310", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 9083, + "offset": 9373, "col": 16, "tokLen": 13, "includedFrom": { @@ -2297,7 +2302,7 @@ } }, "end": { - "offset": 9098, + "offset": 9388, "col": 31, "tokLen": 1, "includedFrom": { @@ -2313,18 +2318,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x367e670", + "id": "0x2d36a450", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9100, + "offset": 9390, "col": 33, "tokLen": 8, "includedFrom": { @@ -2332,7 +2337,7 @@ } }, "end": { - "offset": 9133, + "offset": 9423, "col": 66, "tokLen": 1, "includedFrom": { @@ -2347,7 +2352,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x367e2f8", + "id": "0x2d36a0f8", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -2356,11 +2361,11 @@ }, "inner": [ { - "id": "0x367e640", + "id": "0x2d36a420", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9100, + "offset": 9390, "col": 33, "tokLen": 8, "includedFrom": { @@ -2368,7 +2373,7 @@ } }, "end": { - "offset": 9133, + "offset": 9423, "col": 66, "tokLen": 1, "includedFrom": { @@ -2388,11 +2393,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x367e448", + "id": "0x2d36a250", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2400,7 +2405,7 @@ } }, "end": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2416,11 +2421,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x3676b08", + "id": "0x2d3615e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2428,7 +2433,7 @@ } }, "end": { - "offset": 9129, + "offset": 9419, "col": 62, "tokLen": 4, "includedFrom": { @@ -2441,7 +2446,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -2462,12 +2467,12 @@ ] }, { - "id": "0x3687598", + "id": "0x2d374d68", "kind": "IfStmt", "range": { "begin": { - "offset": 9148, - "line": 287, + "offset": 9438, + "line": 292, "col": 12, "tokLen": 2, "includedFrom": { @@ -2475,8 +2480,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -2487,12 +2492,12 @@ "hasElse": true, "inner": [ { - "id": "0x367f568", + "id": "0x2d36b7f8", "kind": "BinaryOperator", "range": { "begin": { - "offset": 9152, - "line": 287, + "offset": 9442, + "line": 292, "col": 16, "tokLen": 4, "includedFrom": { @@ -2500,7 +2505,7 @@ } }, "end": { - "offset": 9178, + "offset": 9468, "col": 42, "tokLen": 1, "includedFrom": { @@ -2515,11 +2520,11 @@ "opcode": "||", "inner": [ { - "id": "0x367f490", + "id": "0x2d36b728", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 9152, + "offset": 9442, "col": 16, "tokLen": 4, "includedFrom": { @@ -2527,7 +2532,7 @@ } }, "end": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2542,11 +2547,11 @@ "adl": true, "inner": [ { - "id": "0x367f478", + "id": "0x2d36b710", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2554,7 +2559,7 @@ } }, "end": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2563,17 +2568,17 @@ } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x367f458", + "id": "0x2d36b6f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2581,7 +2586,7 @@ } }, "end": { - "offset": 9157, + "offset": 9447, "col": 21, "tokLen": 2, "includedFrom": { @@ -2590,26 +2595,26 @@ } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x367e6e8", + "id": "0x2d36a4c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9152, + "offset": 9442, "col": 16, "tokLen": 4, "includedFrom": { @@ -2617,7 +2622,7 @@ } }, "end": { - "offset": 9152, + "offset": 9442, "col": 16, "tokLen": 4, "includedFrom": { @@ -2628,11 +2633,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -2641,11 +2646,11 @@ } }, { - "id": "0x367f440", + "id": "0x2d36b6d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2653,7 +2658,7 @@ } }, "end": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2668,11 +2673,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x367e708", + "id": "0x2d36a4e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2680,7 +2685,7 @@ } }, "end": { - "offset": 9160, + "offset": 9450, "col": 24, "tokLen": 3, "includedFrom": { @@ -2699,11 +2704,11 @@ ] }, { - "id": "0x367f518", + "id": "0x2d36b7b0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2711,7 +2716,7 @@ } }, "end": { - "offset": 9178, + "offset": 9468, "col": 42, "tokLen": 1, "includedFrom": { @@ -2725,11 +2730,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x367f4e8", + "id": "0x2d36b780", "kind": "MemberExpr", "range": { "begin": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2737,7 +2742,7 @@ } }, "end": { - "offset": 9172, + "offset": 9462, "col": 36, "tokLen": 5, "includedFrom": { @@ -2751,14 +2756,14 @@ "valueCategory": "prvalue", "name": "empty", "isArrow": false, - "referencedMemberDecl": "0x2c94de8", + "referencedMemberDecl": "0x2c8bc688", "inner": [ { - "id": "0x367f4c8", + "id": "0x2d36b760", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2766,7 +2771,7 @@ } }, "end": { - "offset": 9167, + "offset": 9457, "col": 31, "tokLen": 4, "includedFrom": { @@ -2777,11 +2782,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654bf8", + "id": "0x2d33fb68", "kind": "ParmVarDecl", "name": "unit", "type": { @@ -2796,11 +2801,11 @@ ] }, { - "id": "0x36873f0", + "id": "0x2d374b80", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9181, + "offset": 9471, "col": 45, "tokLen": 1, "includedFrom": { @@ -2808,8 +2813,8 @@ } }, "end": { - "offset": 9257, - "line": 289, + "offset": 9547, + "line": 294, "col": 5, "tokLen": 1, "includedFrom": { @@ -2819,12 +2824,12 @@ }, "inner": [ { - "id": "0x36873e0", + "id": "0x2d374b70", "kind": "ReturnStmt", "range": { "begin": { - "offset": 9191, - "line": 288, + "offset": 9481, + "line": 293, "col": 9, "tokLen": 6, "includedFrom": { @@ -2832,7 +2837,7 @@ } }, "end": { - "offset": 9250, + "offset": 9540, "col": 68, "tokLen": 1, "includedFrom": { @@ -2842,11 +2847,11 @@ }, "inner": [ { - "id": "0x36873b8", + "id": "0x2d374b48", "kind": "CallExpr", "range": { "begin": { - "offset": 9198, + "offset": 9488, "col": 16, "tokLen": 13, "includedFrom": { @@ -2854,7 +2859,7 @@ } }, "end": { - "offset": 9250, + "offset": 9540, "col": 68, "tokLen": 1, "includedFrom": { @@ -2868,11 +2873,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x367f598", + "id": "0x2d36b828", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 9198, + "offset": 9488, "col": 16, "tokLen": 13, "includedFrom": { @@ -2880,7 +2885,7 @@ } }, "end": { - "offset": 9213, + "offset": 9503, "col": 31, "tokLen": 1, "includedFrom": { @@ -2896,18 +2901,18 @@ "name": "duration_cast", "lookups": [ { - "id": "0x36555e0", + "id": "0x2d340600", "kind": "UsingShadowDecl", "name": "duration_cast" } ] }, { - "id": "0x3687390", + "id": "0x2d374b20", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9215, + "offset": 9505, "col": 33, "tokLen": 3, "includedFrom": { @@ -2915,7 +2920,7 @@ } }, "end": { - "offset": 9249, + "offset": 9539, "col": 67, "tokLen": 1, "includedFrom": { @@ -2930,7 +2935,7 @@ "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x3687018", + "id": "0x2d3747c8", "kind": "CXXConstructorDecl", "name": "duration", "type": { @@ -2939,11 +2944,11 @@ }, "inner": [ { - "id": "0x3687360", + "id": "0x2d374af0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9215, + "offset": 9505, "col": 33, "tokLen": 3, "includedFrom": { @@ -2951,7 +2956,7 @@ } }, "end": { - "offset": 9249, + "offset": 9539, "col": 67, "tokLen": 1, "includedFrom": { @@ -2971,11 +2976,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3687168", + "id": "0x2d374920", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -2983,7 +2988,7 @@ } }, "end": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -2999,11 +3004,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x367f840", + "id": "0x2d36bad0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -3011,7 +3016,7 @@ } }, "end": { - "offset": 9245, + "offset": 9535, "col": 63, "tokLen": 4, "includedFrom": { @@ -3024,7 +3029,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3654ea0", + "id": "0x2d33fe18", "kind": "VarDecl", "name": "tval", "type": { @@ -3045,12 +3050,12 @@ ] }, { - "id": "0x3687580", + "id": "0x2d374d50", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9264, - "line": 289, + "offset": 9554, + "line": 294, "col": 12, "tokLen": 1, "includedFrom": { @@ -3058,8 +3063,8 @@ } }, "end": { - "offset": 9378, - "line": 292, + "offset": 9668, + "line": 297, "col": 5, "tokLen": 1, "includedFrom": { @@ -3069,12 +3074,12 @@ }, "inner": [ { - "id": "0x3687568", + "id": "0x2d374d38", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 9274, - "line": 290, + "offset": 9564, + "line": 295, "col": 9, "tokLen": 5, "includedFrom": { @@ -3082,8 +3087,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3098,12 +3103,12 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3687550", + "id": "0x2d374d20", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 9274, - "line": 290, + "offset": 9564, + "line": 295, "col": 9, "tokLen": 5, "includedFrom": { @@ -3111,8 +3116,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3126,12 +3131,12 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3687520", + "id": "0x2d374cf0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3139,8 +3144,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3149,23 +3154,24 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3687508", + "id": "0x2d374cd8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3173,8 +3179,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3183,18 +3189,19 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36874e0", + "id": "0x2d374cb0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3202,8 +3209,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3212,12 +3219,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da84b8", + "id": "0x2c968a58", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -3226,12 +3234,12 @@ }, "inner": [ { - "id": "0x36874c0", + "id": "0x2d374c90", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3239,8 +3247,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3249,12 +3257,13 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x36874b8", + "temp": "0x2d374c88", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -3263,12 +3272,12 @@ }, "inner": [ { - "id": "0x3687488", + "id": "0x2d374c58", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9280, - "line": 290, + "offset": 9570, + "line": 295, "col": 15, "tokLen": 12, "includedFrom": { @@ -3276,8 +3285,8 @@ } }, "end": { - "offset": 9371, - "line": 291, + "offset": 9661, + "line": 296, "col": 78, "tokLen": 1, "includedFrom": { @@ -3286,7 +3295,8 @@ } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -3296,11 +3306,11 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3687470", + "id": "0x2d374c40", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3308,7 +3318,7 @@ } }, "end": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3323,11 +3333,11 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3687418", + "id": "0x2d374be8", "kind": "StringLiteral", "range": { "begin": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3335,7 +3345,7 @@ } }, "end": { - "offset": 9306, + "offset": 9596, "col": 13, "tokLen": 65, "includedFrom": { @@ -3382,12 +3392,12 @@ ] }, { - "id": "0x3687908", + "id": "0x2d3750e0", "kind": "FunctionTemplateDecl", "loc": { - "offset": 9407, + "offset": 9697, "file": "../include/sls/ToString.h", - "line": 295, + "line": 300, "col": 25, "tokLen": 8, "includedFrom": { @@ -3396,7 +3406,7 @@ }, "range": { "begin": { - "offset": 9383, + "offset": 9673, "col": 1, "tokLen": 8, "includedFrom": { @@ -3404,8 +3414,8 @@ } }, "end": { - "offset": 9532, - "line": 299, + "offset": 9822, + "line": 304, "col": 1, "tokLen": 1, "includedFrom": { @@ -3416,11 +3426,11 @@ "name": "StringTo", "inner": [ { - "id": "0x3687690", + "id": "0x2d374e60", "kind": "TemplateTypeParmDecl", "loc": { - "offset": 9402, - "line": 295, + "offset": 9692, + "line": 300, "col": 20, "tokLen": 1, "includedFrom": { @@ -3429,7 +3439,7 @@ }, "range": { "begin": { - "offset": 9393, + "offset": 9683, "col": 11, "tokLen": 8, "includedFrom": { @@ -3437,7 +3447,7 @@ } }, "end": { - "offset": 9402, + "offset": 9692, "col": 20, "tokLen": 1, "includedFrom": { @@ -3452,10 +3462,10 @@ "index": 0 }, { - "id": "0x3687868", + "id": "0x2d375038", "kind": "FunctionDecl", "loc": { - "offset": 9407, + "offset": 9697, "col": 25, "tokLen": 8, "includedFrom": { @@ -3464,7 +3474,7 @@ }, "range": { "begin": { - "offset": 9405, + "offset": 9695, "col": 23, "tokLen": 1, "includedFrom": { @@ -3472,8 +3482,8 @@ } }, "end": { - "offset": 9532, - "line": 299, + "offset": 9822, + "line": 304, "col": 1, "tokLen": 1, "includedFrom": { @@ -3487,11 +3497,11 @@ }, "inner": [ { - "id": "0x3687778", + "id": "0x2d374f48", "kind": "ParmVarDecl", "loc": { - "offset": 9435, - "line": 295, + "offset": 9725, + "line": 300, "col": 53, "tokLen": 1, "includedFrom": { @@ -3500,7 +3510,7 @@ }, "range": { "begin": { - "offset": 9416, + "offset": 9706, "col": 34, "tokLen": 5, "includedFrom": { @@ -3508,7 +3518,7 @@ } }, "end": { - "offset": 9435, + "offset": 9725, "col": 53, "tokLen": 1, "includedFrom": { @@ -3523,11 +3533,11 @@ } }, { - "id": "0x3688030", + "id": "0x2d375810", "kind": "CompoundStmt", "range": { "begin": { - "offset": 9438, + "offset": 9728, "col": 56, "tokLen": 1, "includedFrom": { @@ -3535,8 +3545,8 @@ } }, "end": { - "offset": 9532, - "line": 299, + "offset": 9822, + "line": 304, "col": 1, "tokLen": 1, "includedFrom": { @@ -3546,12 +3556,12 @@ }, "inner": [ { - "id": "0x3687b68", + "id": "0x2d375340", "kind": "DeclStmt", "range": { "begin": { - "offset": 9444, - "line": 296, + "offset": 9734, + "line": 301, "col": 5, "tokLen": 3, "includedFrom": { @@ -3559,7 +3569,7 @@ } }, "end": { - "offset": 9462, + "offset": 9752, "col": 23, "tokLen": 1, "includedFrom": { @@ -3569,10 +3579,10 @@ }, "inner": [ { - "id": "0x3687a38", + "id": "0x2d375210", "kind": "VarDecl", "loc": { - "offset": 9456, + "offset": 9746, "col": 17, "tokLen": 3, "includedFrom": { @@ -3581,7 +3591,7 @@ }, "range": { "begin": { - "offset": 9444, + "offset": 9734, "col": 5, "tokLen": 3, "includedFrom": { @@ -3589,7 +3599,7 @@ } }, "end": { - "offset": 9461, + "offset": 9751, "col": 22, "tokLen": 1, "includedFrom": { @@ -3602,16 +3612,16 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "init": "list", "inner": [ { - "id": "0x3687b38", + "id": "0x2d375310", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9456, + "offset": 9746, "col": 17, "tokLen": 3, "includedFrom": { @@ -3619,7 +3629,7 @@ } }, "end": { - "offset": 9461, + "offset": 9751, "col": 22, "tokLen": 1, "includedFrom": { @@ -3630,22 +3640,22 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (const std::basic_string &)" + "qualType": "void (const basic_string &)" }, "list": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3687aa0", + "id": "0x2d375278", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9460, + "offset": 9750, "col": 21, "tokLen": 1, "includedFrom": { @@ -3653,7 +3663,7 @@ } }, "end": { - "offset": 9460, + "offset": 9750, "col": 21, "tokLen": 1, "includedFrom": { @@ -3664,11 +3674,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687778", + "id": "0x2d374f48", "kind": "ParmVarDecl", "name": "t", "type": { @@ -3683,12 +3693,12 @@ ] }, { - "id": "0x3687ef0", + "id": "0x2d3756d0", "kind": "DeclStmt", "range": { "begin": { - "offset": 9468, - "line": 297, + "offset": 9758, + "line": 302, "col": 5, "tokLen": 4, "includedFrom": { @@ -3696,7 +3706,7 @@ } }, "end": { - "offset": 9495, + "offset": 9785, "col": 32, "tokLen": 1, "includedFrom": { @@ -3706,10 +3716,10 @@ }, "inner": [ { - "id": "0x3687bc0", + "id": "0x2d375398", "kind": "VarDecl", "loc": { - "offset": 9473, + "offset": 9763, "col": 10, "tokLen": 4, "includedFrom": { @@ -3718,7 +3728,7 @@ }, "range": { "begin": { - "offset": 9468, + "offset": 9758, "col": 5, "tokLen": 4, "includedFrom": { @@ -3726,7 +3736,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3739,16 +3749,16 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "init": "c", "inner": [ { - "id": "0x3687ed8", + "id": "0x2d3756b8", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3756,7 +3766,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3767,17 +3777,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3687ea8", + "id": "0x2d375688", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3785,7 +3795,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3796,22 +3806,22 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (std::basic_string &&) noexcept" + "qualType": "void (basic_string &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3687e60", + "id": "0x2d375640", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3819,7 +3829,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3830,17 +3840,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3687d50", + "id": "0x2d375530", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3848,7 +3858,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3859,12 +3869,12 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", - "temp": "0x3687d48", + "temp": "0x2d375528", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -3873,11 +3883,11 @@ }, "inner": [ { - "id": "0x3687d20", + "id": "0x2d375500", "kind": "CallExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3885,7 +3895,7 @@ } }, "end": { - "offset": 9494, + "offset": 9784, "col": 31, "tokLen": 1, "includedFrom": { @@ -3896,16 +3906,16 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x3687d08", + "id": "0x2d3754e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3913,7 +3923,7 @@ } }, "end": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3928,11 +3938,11 @@ "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3687c90", + "id": "0x2d375468", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3940,7 +3950,7 @@ } }, "end": { - "offset": 9480, + "offset": 9770, "col": 17, "tokLen": 10, "includedFrom": { @@ -3953,7 +3963,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2fb3d48", + "id": "0x2ce1e5b8", "kind": "FunctionDecl", "name": "RemoveUnit", "type": { @@ -3964,11 +3974,11 @@ ] }, { - "id": "0x3687c70", + "id": "0x2d375448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9491, + "offset": 9781, "col": 28, "tokLen": 3, "includedFrom": { @@ -3976,7 +3986,7 @@ } }, "end": { - "offset": 9491, + "offset": 9781, "col": 28, "tokLen": 3, "includedFrom": { @@ -3987,17 +3997,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687a38", + "id": "0x2d375210", "kind": "VarDecl", "name": "tmp", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } @@ -4016,12 +4026,12 @@ ] }, { - "id": "0x3688020", + "id": "0x2d375800", "kind": "ReturnStmt", "range": { "begin": { - "offset": 9501, - "line": 298, + "offset": 9791, + "line": 303, "col": 5, "tokLen": 6, "includedFrom": { @@ -4029,7 +4039,7 @@ } }, "end": { - "offset": 9529, + "offset": 9819, "col": 33, "tokLen": 1, "includedFrom": { @@ -4039,11 +4049,11 @@ }, "inner": [ { - "id": "0x3687ff0", + "id": "0x2d3757d0", "kind": "CallExpr", "range": { "begin": { - "offset": 9508, + "offset": 9798, "col": 12, "tokLen": 8, "includedFrom": { @@ -4051,7 +4061,7 @@ } }, "end": { - "offset": 9529, + "offset": 9819, "col": 33, "tokLen": 1, "includedFrom": { @@ -4065,11 +4075,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3687f30", + "id": "0x2d375710", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 9508, + "offset": 9798, "col": 12, "tokLen": 8, "includedFrom": { @@ -4077,7 +4087,7 @@ } }, "end": { - "offset": 9518, + "offset": 9808, "col": 22, "tokLen": 1, "includedFrom": { @@ -4093,23 +4103,23 @@ "name": "StringTo", "lookups": [ { - "id": "0x3687908", + "id": "0x2d3750e0", "kind": "FunctionTemplateDecl", "name": "StringTo" }, { - "id": "0x3654da8", + "id": "0x2d33fd20", "kind": "FunctionTemplateDecl", "name": "StringTo" } ] }, { - "id": "0x3687fb0", + "id": "0x2d375790", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9520, + "offset": 9810, "col": 24, "tokLen": 3, "includedFrom": { @@ -4117,7 +4127,7 @@ } }, "end": { - "offset": 9520, + "offset": 9810, "col": 24, "tokLen": 3, "includedFrom": { @@ -4128,26 +4138,26 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687a38", + "id": "0x2d375210", "kind": "VarDecl", "name": "tmp", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } }, { - "id": "0x3687fd0", + "id": "0x2d3757b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 9525, + "offset": 9815, "col": 29, "tokLen": 4, "includedFrom": { @@ -4155,7 +4165,7 @@ } }, "end": { - "offset": 9525, + "offset": 9815, "col": 29, "tokLen": 4, "includedFrom": { @@ -4166,17 +4176,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3687bc0", + "id": "0x2d375398", "kind": "VarDecl", "name": "unit", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } @@ -4189,7 +4199,7 @@ ] }, { - "id": "0x3849458", + "id": "0x7f0da6e85d18", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4197,7 +4207,7 @@ } }, { - "id": "0x3850318", + "id": "0x7f0da6e90148", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4205,7 +4215,7 @@ } }, { - "id": "0x3866a58", + "id": "0x7f0da6e67ba8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4213,7 +4223,7 @@ } }, { - "id": "0x386e798", + "id": "0x7f0da6e71f68", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4221,7 +4231,7 @@ } }, { - "id": "0x3873968", + "id": "0x7f0da6e37988", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4229,7 +4239,7 @@ } }, { - "id": "0x3876e78", + "id": "0x7f0da6e3bd78", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4237,7 +4247,7 @@ } }, { - "id": "0x38794b8", + "id": "0x7f0da6e3ede8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4245,7 +4255,7 @@ } }, { - "id": "0x387d838", + "id": "0x7f0da6e444e8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4253,7 +4263,7 @@ } }, { - "id": "0x3882a18", + "id": "0x7f0da6e4af48", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4261,7 +4271,7 @@ } }, { - "id": "0x7f1964638418", + "id": "0x7f0da6b961f8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4269,7 +4279,7 @@ } }, { - "id": "0x7f196463c788", + "id": "0x7f0da6b9b8e8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4277,7 +4287,7 @@ } }, { - "id": "0x7f196463edd8", + "id": "0x7f0da6b5d9a8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4285,7 +4295,7 @@ } }, { - "id": "0x7f1964644df8", + "id": "0x7f0da6b656f8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4293,7 +4303,7 @@ } }, { - "id": "0x38d72a8", + "id": "0x7f0da6b6add8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4301,7 +4311,7 @@ } }, { - "id": "0x38dae78", + "id": "0x7f0da6b6f8c8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4309,7 +4319,7 @@ } }, { - "id": "0x38dd4b8", + "id": "0x7f0da6b72938", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4317,7 +4327,7 @@ } }, { - "id": "0x38e34f8", + "id": "0x7f0da6b7a688", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4325,7 +4335,39 @@ } }, { - "id": "0x38e5ae8", + "id": "0x7f0da6b3c708", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "defs::timingInfoDecoder (const std::string &)" + } + }, + { + "id": "0x7f0da6b3f7a8", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "defs::collectionMode (const std::string &)" + } + }, + { + "id": "0x7f0da6b427f8", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "uint8_t (const std::string &)" + } + }, + { + "id": "0x7f0da6b44d88", + "kind": "FunctionDecl", + "name": "StringTo", + "type": { + "qualType": "uint16_t (const std::string &)" + } + }, + { + "id": "0x7f0da6b466b8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4333,7 +4375,7 @@ } }, { - "id": "0x38e62f8", + "id": "0x7f0da6b46ed8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4341,7 +4383,7 @@ } }, { - "id": "0x38e6af0", + "id": "0x7f0da6b47700", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4349,7 +4391,7 @@ } }, { - "id": "0x38e72d8", + "id": "0x7f0da6b47eb8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4357,7 +4399,7 @@ } }, { - "id": "0x38e7b28", + "id": "0x7f0da6b486c8", "kind": "FunctionDecl", "name": "StringTo", "type": { @@ -4367,12 +4409,12 @@ ] }, { - "id": "0x3688208", + "id": "0x2d3759e8", "kind": "FunctionDecl", "loc": { - "offset": 9566, + "offset": 9856, "file": "../include/sls/ToString.h", - "line": 301, + "line": 306, "col": 32, "tokLen": 8, "includedFrom": { @@ -4381,7 +4423,7 @@ }, "range": { "begin": { - "offset": 9535, + "offset": 9825, "col": 1, "tokLen": 8, "includedFrom": { @@ -4389,7 +4431,7 @@ } }, "end": { - "offset": 9595, + "offset": 9885, "col": 61, "tokLen": 1, "includedFrom": { @@ -4397,7 +4439,7 @@ } } }, - "previousDecl": "0x3688438", + "previousDecl": "0x2d375c48", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12detectorTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4411,13 +4453,13 @@ }, "inner": [ { - "id": "0x2f41f40", + "id": "0x2cd03d20", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorType" }, "decl": { - "id": "0x2f41ea0", + "id": "0x2cd03c80", "kind": "EnumDecl", "name": "detectorType" } @@ -4425,10 +4467,10 @@ ] }, { - "id": "0x3688100", + "id": "0x2d3758e0", "kind": "ParmVarDecl", "loc": { - "offset": 9594, + "offset": 9884, "col": 60, "tokLen": 1, "includedFrom": { @@ -4437,7 +4479,7 @@ }, "range": { "begin": { - "offset": 9575, + "offset": 9865, "col": 41, "tokLen": 5, "includedFrom": { @@ -4445,7 +4487,7 @@ } }, "end": { - "offset": 9594, + "offset": 9884, "col": 60, "tokLen": 1, "includedFrom": { @@ -4461,12 +4503,12 @@ ] }, { - "id": "0x3688728", + "id": "0x2d375f38", "kind": "FunctionDecl", "loc": { - "offset": 9633, + "offset": 9923, "file": "../include/sls/ToString.h", - "line": 302, + "line": 307, "col": 36, "tokLen": 8, "includedFrom": { @@ -4475,7 +4517,7 @@ }, "range": { "begin": { - "offset": 9598, + "offset": 9888, "col": 1, "tokLen": 8, "includedFrom": { @@ -4483,7 +4525,7 @@ } }, "end": { - "offset": 9662, + "offset": 9952, "col": 65, "tokLen": 1, "includedFrom": { @@ -4491,7 +4533,7 @@ } } }, - "previousDecl": "0x3688958", + "previousDecl": "0x2d376198", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16detectorSettingsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4505,13 +4547,13 @@ }, "inner": [ { - "id": "0x2f5a2c0", + "id": "0x2cdc0300", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorSettings" }, "decl": { - "id": "0x2f5a218", + "id": "0x2cdc0258", "kind": "EnumDecl", "name": "detectorSettings" } @@ -4519,10 +4561,10 @@ ] }, { - "id": "0x3688620", + "id": "0x2d375e38", "kind": "ParmVarDecl", "loc": { - "offset": 9661, + "offset": 9951, "col": 64, "tokLen": 1, "includedFrom": { @@ -4531,7 +4573,7 @@ }, "range": { "begin": { - "offset": 9642, + "offset": 9932, "col": 45, "tokLen": 5, "includedFrom": { @@ -4539,7 +4581,7 @@ } }, "end": { - "offset": 9661, + "offset": 9951, "col": 64, "tokLen": 1, "includedFrom": { @@ -4555,12 +4597,12 @@ ] }, { - "id": "0x3688c48", + "id": "0x2d376488", "kind": "FunctionDecl", "loc": { - "offset": 9694, + "offset": 9984, "file": "../include/sls/ToString.h", - "line": 303, + "line": 308, "col": 30, "tokLen": 8, "includedFrom": { @@ -4569,7 +4611,7 @@ }, "range": { "begin": { - "offset": 9665, + "offset": 9955, "col": 1, "tokLen": 8, "includedFrom": { @@ -4577,7 +4619,7 @@ } }, "end": { - "offset": 9723, + "offset": 10013, "col": 59, "tokLen": 1, "includedFrom": { @@ -4585,7 +4627,7 @@ } } }, - "previousDecl": "0x3688e78", + "previousDecl": "0x2d3766e8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10speedLevelEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4599,13 +4641,13 @@ }, "inner": [ { - "id": "0x2f5af70", + "id": "0x2cdc0fb0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::speedLevel" }, "decl": { - "id": "0x2f5aec8", + "id": "0x2cdc0f08", "kind": "EnumDecl", "name": "speedLevel" } @@ -4613,10 +4655,10 @@ ] }, { - "id": "0x3688b40", + "id": "0x2d376388", "kind": "ParmVarDecl", "loc": { - "offset": 9722, + "offset": 10012, "col": 58, "tokLen": 1, "includedFrom": { @@ -4625,7 +4667,7 @@ }, "range": { "begin": { - "offset": 9703, + "offset": 9993, "col": 39, "tokLen": 5, "includedFrom": { @@ -4633,7 +4675,7 @@ } }, "end": { - "offset": 9722, + "offset": 10012, "col": 58, "tokLen": 1, "includedFrom": { @@ -4649,12 +4691,12 @@ ] }, { - "id": "0x3689168", + "id": "0x2d3769d8", "kind": "FunctionDecl", "loc": { - "offset": 9755, + "offset": 10045, "file": "../include/sls/ToString.h", - "line": 304, + "line": 309, "col": 30, "tokLen": 8, "includedFrom": { @@ -4663,7 +4705,7 @@ }, "range": { "begin": { - "offset": 9726, + "offset": 10016, "col": 1, "tokLen": 8, "includedFrom": { @@ -4671,7 +4713,7 @@ } }, "end": { - "offset": 9784, + "offset": 10074, "col": 59, "tokLen": 1, "includedFrom": { @@ -4679,7 +4721,7 @@ } } }, - "previousDecl": "0x3689398", + "previousDecl": "0x2d376c38", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10timingModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4693,13 +4735,13 @@ }, "inner": [ { - "id": "0x2f57730", + "id": "0x2cdbd770", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingMode" }, "decl": { - "id": "0x2f57688", + "id": "0x2cdbd6c8", "kind": "EnumDecl", "name": "timingMode" } @@ -4707,10 +4749,10 @@ ] }, { - "id": "0x3689060", + "id": "0x2d3768d8", "kind": "ParmVarDecl", "loc": { - "offset": 9783, + "offset": 10073, "col": 58, "tokLen": 1, "includedFrom": { @@ -4719,7 +4761,7 @@ }, "range": { "begin": { - "offset": 9764, + "offset": 10054, "col": 39, "tokLen": 5, "includedFrom": { @@ -4727,7 +4769,7 @@ } }, "end": { - "offset": 9783, + "offset": 10073, "col": 58, "tokLen": 1, "includedFrom": { @@ -4743,12 +4785,12 @@ ] }, { - "id": "0x3689688", + "id": "0x2d376f28", "kind": "FunctionDecl", "loc": { - "offset": 9824, + "offset": 10114, "file": "../include/sls/ToString.h", - "line": 305, + "line": 310, "col": 38, "tokLen": 8, "includedFrom": { @@ -4757,7 +4799,7 @@ }, "range": { "begin": { - "offset": 9787, + "offset": 10077, "col": 1, "tokLen": 8, "includedFrom": { @@ -4765,7 +4807,7 @@ } }, "end": { - "offset": 9853, + "offset": 10143, "col": 67, "tokLen": 1, "includedFrom": { @@ -4773,7 +4815,7 @@ } } }, - "previousDecl": "0x36898b8", + "previousDecl": "0x2d377188", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18frameDiscardPolicyEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4787,13 +4829,13 @@ }, "inner": [ { - "id": "0x2f554b0", + "id": "0x2cdb87d0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::frameDiscardPolicy" }, "decl": { - "id": "0x2f55410", + "id": "0x2cdb8730", "kind": "EnumDecl", "name": "frameDiscardPolicy" } @@ -4801,10 +4843,10 @@ ] }, { - "id": "0x3689580", + "id": "0x2d376e28", "kind": "ParmVarDecl", "loc": { - "offset": 9852, + "offset": 10142, "col": 66, "tokLen": 1, "includedFrom": { @@ -4813,7 +4855,7 @@ }, "range": { "begin": { - "offset": 9833, + "offset": 10123, "col": 47, "tokLen": 5, "includedFrom": { @@ -4821,7 +4863,7 @@ } }, "end": { - "offset": 9852, + "offset": 10142, "col": 66, "tokLen": 1, "includedFrom": { @@ -4837,12 +4879,12 @@ ] }, { - "id": "0x3689ba8", + "id": "0x2d377478", "kind": "FunctionDecl", "loc": { - "offset": 9885, + "offset": 10175, "file": "../include/sls/ToString.h", - "line": 306, + "line": 311, "col": 30, "tokLen": 8, "includedFrom": { @@ -4851,7 +4893,7 @@ }, "range": { "begin": { - "offset": 9856, + "offset": 10146, "col": 1, "tokLen": 8, "includedFrom": { @@ -4859,7 +4901,7 @@ } }, "end": { - "offset": 9914, + "offset": 10204, "col": 59, "tokLen": 1, "includedFrom": { @@ -4867,7 +4909,7 @@ } } }, - "previousDecl": "0x3689dd8", + "previousDecl": "0x2d3776d8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10fileFormatEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4881,13 +4923,13 @@ }, "inner": [ { - "id": "0x2f556b0", + "id": "0x2cdbbda0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::fileFormat" }, "decl": { - "id": "0x2f55610", + "id": "0x2cdbbd00", "kind": "EnumDecl", "name": "fileFormat" } @@ -4895,10 +4937,10 @@ ] }, { - "id": "0x3689aa0", + "id": "0x2d377378", "kind": "ParmVarDecl", "loc": { - "offset": 9913, + "offset": 10203, "col": 58, "tokLen": 1, "includedFrom": { @@ -4907,7 +4949,7 @@ }, "range": { "begin": { - "offset": 9894, + "offset": 10184, "col": 39, "tokLen": 5, "includedFrom": { @@ -4915,7 +4957,7 @@ } }, "end": { - "offset": 9913, + "offset": 10203, "col": 58, "tokLen": 1, "includedFrom": { @@ -4931,12 +4973,12 @@ ] }, { - "id": "0x368abf0", + "id": "0x2d3779c8", "kind": "FunctionDecl", "loc": { - "offset": 9954, + "offset": 10244, "file": "../include/sls/ToString.h", - "line": 307, + "line": 312, "col": 38, "tokLen": 8, "includedFrom": { @@ -4945,7 +4987,7 @@ }, "range": { "begin": { - "offset": 9917, + "offset": 10207, "col": 1, "tokLen": 8, "includedFrom": { @@ -4953,7 +4995,7 @@ } }, "end": { - "offset": 9983, + "offset": 10273, "col": 67, "tokLen": 1, "includedFrom": { @@ -4961,7 +5003,7 @@ } } }, - "previousDecl": "0x368ae28", + "previousDecl": "0x2d377c28", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18externalSignalFlagEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -4975,13 +5017,13 @@ }, "inner": [ { - "id": "0x2f57500", + "id": "0x2cdbd540", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::externalSignalFlag" }, "decl": { - "id": "0x2f57458", + "id": "0x2cdbd498", "kind": "EnumDecl", "name": "externalSignalFlag" } @@ -4989,10 +5031,10 @@ ] }, { - "id": "0x3689fc0", + "id": "0x2d3778c8", "kind": "ParmVarDecl", "loc": { - "offset": 9982, + "offset": 10272, "col": 66, "tokLen": 1, "includedFrom": { @@ -5001,7 +5043,7 @@ }, "range": { "begin": { - "offset": 9963, + "offset": 10253, "col": 47, "tokLen": 5, "includedFrom": { @@ -5009,7 +5051,7 @@ } }, "end": { - "offset": 9982, + "offset": 10272, "col": 66, "tokLen": 1, "includedFrom": { @@ -5025,12 +5067,12 @@ ] }, { - "id": "0x368b118", + "id": "0x2d377f18", "kind": "FunctionDecl", "loc": { - "offset": 10016, + "offset": 10306, "file": "../include/sls/ToString.h", - "line": 308, + "line": 313, "col": 31, "tokLen": 8, "includedFrom": { @@ -5039,7 +5081,7 @@ }, "range": { "begin": { - "offset": 9986, + "offset": 10276, "col": 1, "tokLen": 8, "includedFrom": { @@ -5047,7 +5089,7 @@ } }, "end": { - "offset": 10045, + "offset": 10335, "col": 60, "tokLen": 1, "includedFrom": { @@ -5055,7 +5097,7 @@ } } }, - "previousDecl": "0x368b348", + "previousDecl": "0x2d378178", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11readoutModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5069,13 +5111,13 @@ }, "inner": [ { - "id": "0x2f5acf0", + "id": "0x2cdc0d30", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::readoutMode" }, "decl": { - "id": "0x2f5ac48", + "id": "0x2cdc0c88", "kind": "EnumDecl", "name": "readoutMode" } @@ -5083,10 +5125,10 @@ ] }, { - "id": "0x368b010", + "id": "0x2d377e18", "kind": "ParmVarDecl", "loc": { - "offset": 10044, + "offset": 10334, "col": 59, "tokLen": 1, "includedFrom": { @@ -5095,7 +5137,7 @@ }, "range": { "begin": { - "offset": 10025, + "offset": 10315, "col": 40, "tokLen": 5, "includedFrom": { @@ -5103,7 +5145,7 @@ } }, "end": { - "offset": 10044, + "offset": 10334, "col": 59, "tokLen": 1, "includedFrom": { @@ -5119,12 +5161,12 @@ ] }, { - "id": "0x368b638", + "id": "0x2d378468", "kind": "FunctionDecl", "loc": { - "offset": 10075, + "offset": 10365, "file": "../include/sls/ToString.h", - "line": 309, + "line": 314, "col": 28, "tokLen": 8, "includedFrom": { @@ -5133,7 +5175,7 @@ }, "range": { "begin": { - "offset": 10048, + "offset": 10338, "col": 1, "tokLen": 8, "includedFrom": { @@ -5141,7 +5183,7 @@ } }, "end": { - "offset": 10104, + "offset": 10394, "col": 57, "tokLen": 1, "includedFrom": { @@ -5149,7 +5191,7 @@ } } }, - "previousDecl": "0x368b868", + "previousDecl": "0x2d3786c8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8dacIndexEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5163,13 +5205,13 @@ }, "inner": [ { - "id": "0x2f57a00", + "id": "0x2cdbda40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::dacIndex" }, "decl": { - "id": "0x2f57958", + "id": "0x2cdbd998", "kind": "EnumDecl", "name": "dacIndex" } @@ -5177,10 +5219,10 @@ ] }, { - "id": "0x368b530", + "id": "0x2d378368", "kind": "ParmVarDecl", "loc": { - "offset": 10103, + "offset": 10393, "col": 56, "tokLen": 1, "includedFrom": { @@ -5189,7 +5231,7 @@ }, "range": { "begin": { - "offset": 10084, + "offset": 10374, "col": 37, "tokLen": 5, "includedFrom": { @@ -5197,7 +5239,7 @@ } }, "end": { - "offset": 10103, + "offset": 10393, "col": 56, "tokLen": 1, "includedFrom": { @@ -5213,12 +5255,12 @@ ] }, { - "id": "0x368bb58", + "id": "0x2d3789b8", "kind": "FunctionDecl", "loc": { - "offset": 10135, + "offset": 10425, "file": "../include/sls/ToString.h", - "line": 310, + "line": 315, "col": 29, "tokLen": 8, "includedFrom": { @@ -5227,7 +5269,7 @@ }, "range": { "begin": { - "offset": 10107, + "offset": 10397, "col": 1, "tokLen": 8, "includedFrom": { @@ -5235,7 +5277,7 @@ } }, "end": { - "offset": 10164, + "offset": 10454, "col": 58, "tokLen": 1, "includedFrom": { @@ -5243,7 +5285,7 @@ } } }, - "previousDecl": "0x368bd88", + "previousDecl": "0x2d378c18", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs9burstModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5257,13 +5299,13 @@ }, "inner": [ { - "id": "0x2f5b1f0", + "id": "0x2cdc1230", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::burstMode" }, "decl": { - "id": "0x2f5b148", + "id": "0x2cdc1188", "kind": "EnumDecl", "name": "burstMode" } @@ -5271,10 +5313,10 @@ ] }, { - "id": "0x368ba50", + "id": "0x2d3788b8", "kind": "ParmVarDecl", "loc": { - "offset": 10163, + "offset": 10453, "col": 57, "tokLen": 1, "includedFrom": { @@ -5283,7 +5325,7 @@ }, "range": { "begin": { - "offset": 10144, + "offset": 10434, "col": 38, "tokLen": 5, "includedFrom": { @@ -5291,7 +5333,7 @@ } }, "end": { - "offset": 10163, + "offset": 10453, "col": 57, "tokLen": 1, "includedFrom": { @@ -5307,12 +5349,12 @@ ] }, { - "id": "0x368c078", + "id": "0x2d378f08", "kind": "FunctionDecl", "loc": { - "offset": 10202, + "offset": 10492, "file": "../include/sls/ToString.h", - "line": 311, + "line": 316, "col": 36, "tokLen": 8, "includedFrom": { @@ -5321,7 +5363,7 @@ }, "range": { "begin": { - "offset": 10167, + "offset": 10457, "col": 1, "tokLen": 8, "includedFrom": { @@ -5329,7 +5371,7 @@ } }, "end": { - "offset": 10231, + "offset": 10521, "col": 65, "tokLen": 1, "includedFrom": { @@ -5337,7 +5379,7 @@ } } }, - "previousDecl": "0x368c2a8", + "previousDecl": "0x2d379168", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16timingSourceTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5351,13 +5393,13 @@ }, "inner": [ { - "id": "0x2f5b470", + "id": "0x2cdc14b0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingSourceType" }, "decl": { - "id": "0x2f5b3c8", + "id": "0x2cdc1408", "kind": "EnumDecl", "name": "timingSourceType" } @@ -5365,10 +5407,10 @@ ] }, { - "id": "0x368bf70", + "id": "0x2d378e08", "kind": "ParmVarDecl", "loc": { - "offset": 10230, + "offset": 10520, "col": 64, "tokLen": 1, "includedFrom": { @@ -5377,7 +5419,7 @@ }, "range": { "begin": { - "offset": 10211, + "offset": 10501, "col": 45, "tokLen": 5, "includedFrom": { @@ -5385,7 +5427,7 @@ } }, "end": { - "offset": 10230, + "offset": 10520, "col": 64, "tokLen": 1, "includedFrom": { @@ -5401,12 +5443,12 @@ ] }, { - "id": "0x368c598", + "id": "0x2d379458", "kind": "FunctionDecl", "loc": { - "offset": 10264, + "offset": 10554, "file": "../include/sls/ToString.h", - "line": 312, + "line": 317, "col": 31, "tokLen": 8, "includedFrom": { @@ -5415,7 +5457,7 @@ }, "range": { "begin": { - "offset": 10234, + "offset": 10524, "col": 1, "tokLen": 8, "includedFrom": { @@ -5423,7 +5465,7 @@ } }, "end": { - "offset": 10293, + "offset": 10583, "col": 60, "tokLen": 1, "includedFrom": { @@ -5431,7 +5473,7 @@ } } }, - "previousDecl": "0x368c7c8", + "previousDecl": "0x2d3796b8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11M3_GainCapsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5445,13 +5487,13 @@ }, "inner": [ { - "id": "0x2f5b5d0", + "id": "0x2cdc1610", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::M3_GainCaps" }, "decl": { - "id": "0x2f5b530", + "id": "0x2cdc1570", "kind": "EnumDecl", "name": "M3_GainCaps" } @@ -5459,10 +5501,10 @@ ] }, { - "id": "0x368c490", + "id": "0x2d379358", "kind": "ParmVarDecl", "loc": { - "offset": 10292, + "offset": 10582, "col": 59, "tokLen": 1, "includedFrom": { @@ -5471,7 +5513,7 @@ }, "range": { "begin": { - "offset": 10273, + "offset": 10563, "col": 40, "tokLen": 5, "includedFrom": { @@ -5479,7 +5521,7 @@ } }, "end": { - "offset": 10292, + "offset": 10582, "col": 59, "tokLen": 1, "includedFrom": { @@ -5495,12 +5537,12 @@ ] }, { - "id": "0x368cab8", + "id": "0x2d3799a8", "kind": "FunctionDecl", "loc": { - "offset": 10327, + "offset": 10617, "file": "../include/sls/ToString.h", - "line": 313, + "line": 318, "col": 32, "tokLen": 8, "includedFrom": { @@ -5509,7 +5551,7 @@ }, "range": { "begin": { - "offset": 10296, + "offset": 10586, "col": 1, "tokLen": 8, "includedFrom": { @@ -5517,7 +5559,7 @@ } }, "end": { - "offset": 10356, + "offset": 10646, "col": 61, "tokLen": 1, "includedFrom": { @@ -5525,7 +5567,7 @@ } } }, - "previousDecl": "0x368cce8", + "previousDecl": "0x2d379c08", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12portPositionEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5539,13 +5581,13 @@ }, "inner": [ { - "id": "0x2f5bc00", + "id": "0x2cdc1c40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::portPosition" }, "decl": { - "id": "0x2f5bb60", + "id": "0x2cdc1ba0", "kind": "EnumDecl", "name": "portPosition" } @@ -5553,10 +5595,10 @@ ] }, { - "id": "0x368c9b0", + "id": "0x2d3798a8", "kind": "ParmVarDecl", "loc": { - "offset": 10355, + "offset": 10645, "col": 60, "tokLen": 1, "includedFrom": { @@ -5565,7 +5607,7 @@ }, "range": { "begin": { - "offset": 10336, + "offset": 10626, "col": 41, "tokLen": 5, "includedFrom": { @@ -5573,7 +5615,7 @@ } }, "end": { - "offset": 10355, + "offset": 10645, "col": 60, "tokLen": 1, "includedFrom": { @@ -5589,12 +5631,12 @@ ] }, { - "id": "0x368cfd8", + "id": "0x2d379ef8", "kind": "FunctionDecl", "loc": { - "offset": 10396, + "offset": 10686, "file": "../include/sls/ToString.h", - "line": 314, + "line": 319, "col": 38, "tokLen": 8, "includedFrom": { @@ -5603,7 +5645,7 @@ }, "range": { "begin": { - "offset": 10359, + "offset": 10649, "col": 1, "tokLen": 8, "includedFrom": { @@ -5611,7 +5653,7 @@ } }, "end": { - "offset": 10425, + "offset": 10715, "col": 67, "tokLen": 1, "includedFrom": { @@ -5619,7 +5661,7 @@ } } }, - "previousDecl": "0x368d208", + "previousDecl": "0x2d37a158", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18streamingInterfaceEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5633,13 +5675,13 @@ }, "inner": [ { - "id": "0x2f5bf90", + "id": "0x2cdc1fd0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::streamingInterface" }, "decl": { - "id": "0x2f5bef0", + "id": "0x2cdc1f30", "kind": "EnumDecl", "name": "streamingInterface" } @@ -5647,10 +5689,10 @@ ] }, { - "id": "0x368ced0", + "id": "0x2d379df8", "kind": "ParmVarDecl", "loc": { - "offset": 10424, + "offset": 10714, "col": 66, "tokLen": 1, "includedFrom": { @@ -5659,7 +5701,7 @@ }, "range": { "begin": { - "offset": 10405, + "offset": 10695, "col": 47, "tokLen": 5, "includedFrom": { @@ -5667,7 +5709,7 @@ } }, "end": { - "offset": 10424, + "offset": 10714, "col": 66, "tokLen": 1, "includedFrom": { @@ -5683,12 +5725,12 @@ ] }, { - "id": "0x368d4f8", + "id": "0x2d37a448", "kind": "FunctionDecl", "loc": { - "offset": 10460, + "offset": 10750, "file": "../include/sls/ToString.h", - "line": 315, + "line": 320, "col": 33, "tokLen": 8, "includedFrom": { @@ -5697,7 +5739,7 @@ }, "range": { "begin": { - "offset": 10428, + "offset": 10718, "col": 1, "tokLen": 8, "includedFrom": { @@ -5705,7 +5747,7 @@ } }, "end": { - "offset": 10489, + "offset": 10779, "col": 62, "tokLen": 1, "includedFrom": { @@ -5713,7 +5755,7 @@ } } }, - "previousDecl": "0x368d728", + "previousDecl": "0x2d37a6a8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs13vetoAlgorithmEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5727,13 +5769,13 @@ }, "inner": [ { - "id": "0x2f5c350", + "id": "0x2cdc2390", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::vetoAlgorithm" }, "decl": { - "id": "0x2f5c2b0", + "id": "0x2cdc22f0", "kind": "EnumDecl", "name": "vetoAlgorithm" } @@ -5741,10 +5783,10 @@ ] }, { - "id": "0x368d3f0", + "id": "0x2d37a348", "kind": "ParmVarDecl", "loc": { - "offset": 10488, + "offset": 10778, "col": 61, "tokLen": 1, "includedFrom": { @@ -5753,7 +5795,7 @@ }, "range": { "begin": { - "offset": 10469, + "offset": 10759, "col": 42, "tokLen": 5, "includedFrom": { @@ -5761,7 +5803,7 @@ } }, "end": { - "offset": 10488, + "offset": 10778, "col": 61, "tokLen": 1, "includedFrom": { @@ -5777,12 +5819,12 @@ ] }, { - "id": "0x368da18", + "id": "0x2d37a998", "kind": "FunctionDecl", "loc": { - "offset": 10519, + "offset": 10809, "file": "../include/sls/ToString.h", - "line": 316, + "line": 321, "col": 28, "tokLen": 8, "includedFrom": { @@ -5791,7 +5833,7 @@ }, "range": { "begin": { - "offset": 10492, + "offset": 10782, "col": 1, "tokLen": 8, "includedFrom": { @@ -5799,7 +5841,7 @@ } }, "end": { - "offset": 10548, + "offset": 10838, "col": 57, "tokLen": 1, "includedFrom": { @@ -5807,7 +5849,7 @@ } } }, - "previousDecl": "0x368dc48", + "previousDecl": "0x2d37abf8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8gainModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5821,13 +5863,13 @@ }, "inner": [ { - "id": "0x2f5c4b0", + "id": "0x2cdc24f0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::gainMode" }, "decl": { - "id": "0x2f5c410", + "id": "0x2cdc2450", "kind": "EnumDecl", "name": "gainMode" } @@ -5835,10 +5877,10 @@ ] }, { - "id": "0x368d910", + "id": "0x2d37a898", "kind": "ParmVarDecl", "loc": { - "offset": 10547, + "offset": 10837, "col": 56, "tokLen": 1, "includedFrom": { @@ -5847,7 +5889,7 @@ }, "range": { "begin": { - "offset": 10528, + "offset": 10818, "col": 37, "tokLen": 5, "includedFrom": { @@ -5855,7 +5897,7 @@ } }, "end": { - "offset": 10547, + "offset": 10837, "col": 56, "tokLen": 1, "includedFrom": { @@ -5871,12 +5913,12 @@ ] }, { - "id": "0x368df38", + "id": "0x2d37aee8", "kind": "FunctionDecl", "loc": { - "offset": 10578, + "offset": 10868, "file": "../include/sls/ToString.h", - "line": 317, + "line": 322, "col": 28, "tokLen": 8, "includedFrom": { @@ -5885,7 +5927,7 @@ }, "range": { "begin": { - "offset": 10551, + "offset": 10841, "col": 1, "tokLen": 8, "includedFrom": { @@ -5893,7 +5935,7 @@ } }, "end": { - "offset": 10607, + "offset": 10897, "col": 57, "tokLen": 1, "includedFrom": { @@ -5901,7 +5943,7 @@ } } }, - "previousDecl": "0x368e168", + "previousDecl": "0x2d37b148", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8polarityEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -5915,13 +5957,13 @@ }, "inner": [ { - "id": "0x2f5c750", + "id": "0x2cdc2790", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::polarity" }, "decl": { - "id": "0x2f5c6b0", + "id": "0x2cdc26f0", "kind": "EnumDecl", "name": "polarity" } @@ -5929,10 +5971,10 @@ ] }, { - "id": "0x368de30", + "id": "0x2d37ade8", "kind": "ParmVarDecl", "loc": { - "offset": 10606, + "offset": 10896, "col": 56, "tokLen": 1, "includedFrom": { @@ -5941,7 +5983,7 @@ }, "range": { "begin": { - "offset": 10587, + "offset": 10877, "col": 37, "tokLen": 5, "includedFrom": { @@ -5949,7 +5991,7 @@ } }, "end": { - "offset": 10606, + "offset": 10896, "col": 56, "tokLen": 1, "includedFrom": { @@ -5965,368 +6007,200 @@ ] }, { - "id": "0x368e408", + "id": "0x2d37b438", "kind": "FunctionDecl", "loc": { - "offset": 10632, - "file": "../include/sls/ToString.h", - "line": 319, - "col": 22, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10611, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10661, - "col": 51, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368e608", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToIjEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "uint32_t (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "unsigned int" - }, - "inner": [ - { - "id": "0x230bbd0", - "kind": "BuiltinType", - "type": { - "qualType": "unsigned int" - } - } - ] - }, - { - "id": "0x368e310", - "kind": "ParmVarDecl", - "loc": { - "offset": 10660, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10641, - "col": 31, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10660, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -}, -{ - "id": "0x368e8a8", - "kind": "FunctionDecl", - "loc": { - "offset": 10685, - "file": "../include/sls/ToString.h", - "line": 320, - "col": 22, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10664, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10714, - "col": 51, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368eaa8", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToImEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "uint64_t (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "unsigned long" - }, - "inner": [ - { - "id": "0x230bbf0", - "kind": "BuiltinType", - "type": { - "qualType": "unsigned long" - } - } - ] - }, - { - "id": "0x368e7b0", - "kind": "ParmVarDecl", - "loc": { - "offset": 10713, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10694, - "col": 31, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10713, - "col": 50, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -}, -{ - "id": "0x368ed50", - "kind": "FunctionDecl", - "loc": { - "offset": 10733, - "file": "../include/sls/ToString.h", - "line": 321, - "col": 17, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10717, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10762, - "col": 46, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368ef58", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToIiEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "int (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "int" - }, - "inner": [ - { - "id": "0x230bb30", - "kind": "BuiltinType", - "type": { - "qualType": "int" - } - } - ] - }, - { - "id": "0x368ec50", - "kind": "ParmVarDecl", - "loc": { - "offset": 10761, - "col": 45, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10742, - "col": 26, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10761, - "col": 45, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -}, -{ - "id": "0x368f1c8", - "kind": "FunctionDecl", - "loc": { - "offset": 10782, - "file": "../include/sls/ToString.h", - "line": 322, - "col": 18, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10765, - "col": 1, - "tokLen": 8, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10811, - "col": 47, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "previousDecl": "0x368f3c8", - "name": "StringTo", - "mangledName": "_ZN3sls8StringToIbEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", - "type": { - "qualType": "bool (const std::string &)" - }, - "inner": [ - { - "kind": "TemplateArgument", - "type": { - "qualType": "bool" - }, - "inner": [ - { - "id": "0x230bab0", - "kind": "BuiltinType", - "type": { - "qualType": "bool" - } - } - ] - }, - { - "id": "0x368f100", - "kind": "ParmVarDecl", - "loc": { - "offset": 10810, - "col": 46, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "range": { - "begin": { - "offset": 10791, - "col": 27, - "tokLen": 5, - "includedFrom": { - "file": "ToString.cpp" - } - }, - "end": { - "offset": 10810, - "col": 46, - "tokLen": 1, - "includedFrom": { - "file": "ToString.cpp" - } - } - }, - "name": "s", - "type": { - "qualType": "const std::string &" - } - } - ] -}, -{ - "id": "0x368f668", - "kind": "FunctionDecl", - "loc": { - "offset": 10834, + "offset": 10936, "file": "../include/sls/ToString.h", "line": 323, + "col": 37, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 10900, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 10965, + "col": 66, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37b698", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs17timingInfoDecoderEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::timingInfoDecoder (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "inner": [ + { + "id": "0x2cdc28f0", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "decl": { + "id": "0x2cdc2850", + "kind": "EnumDecl", + "name": "timingInfoDecoder" + } + } + ] + }, + { + "id": "0x2d37b338", + "kind": "ParmVarDecl", + "loc": { + "offset": 10964, + "col": 65, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 10945, + "col": 46, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 10964, + "col": 65, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37b988", + "kind": "FunctionDecl", + "loc": { + "offset": 11001, + "file": "../include/sls/ToString.h", + "line": 324, + "col": 34, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 10968, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11030, + "col": 63, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37bbe8", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs14collectionModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::collectionMode (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "inner": [ + { + "id": "0x2cdc2a50", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "decl": { + "id": "0x2cdc29b0", + "kind": "EnumDecl", + "name": "collectionMode" + } + } + ] + }, + { + "id": "0x2d37b888", + "kind": "ParmVarDecl", + "loc": { + "offset": 11029, + "col": 62, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11010, + "col": 43, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11029, + "col": 62, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37be88", + "kind": "FunctionDecl", + "loc": { + "offset": 11054, + "file": "../include/sls/ToString.h", + "line": 326, "col": 21, "tokLen": 8, "includedFrom": { @@ -6335,7 +6209,7 @@ }, "range": { "begin": { - "offset": 10814, + "offset": 11034, "col": 1, "tokLen": 8, "includedFrom": { @@ -6343,7 +6217,7 @@ } }, "end": { - "offset": 10863, + "offset": 11083, "col": 50, "tokLen": 1, "includedFrom": { @@ -6351,33 +6225,33 @@ } } }, - "previousDecl": "0x368f868", + "previousDecl": "0x2d37c0b8", "name": "StringTo", - "mangledName": "_ZN3sls8StringToIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "mangledName": "_ZN3sls8StringToIhEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { - "qualType": "int64_t (const std::string &)" + "qualType": "uint8_t (const std::string &)" }, "inner": [ { "kind": "TemplateArgument", "type": { - "qualType": "long" + "qualType": "unsigned char" }, "inner": [ { - "id": "0x230bb50", + "id": "0x2bf08d50", "kind": "BuiltinType", "type": { - "qualType": "long" + "qualType": "unsigned char" } } ] }, { - "id": "0x368f570", + "id": "0x2d37bd98", "kind": "ParmVarDecl", "loc": { - "offset": 10862, + "offset": 11082, "col": 49, "tokLen": 1, "includedFrom": { @@ -6386,7 +6260,7 @@ }, "range": { "begin": { - "offset": 10843, + "offset": 11063, "col": 30, "tokLen": 5, "includedFrom": { @@ -6394,7 +6268,7 @@ } }, "end": { - "offset": 10862, + "offset": 11082, "col": 49, "tokLen": 1, "includedFrom": { @@ -6410,12 +6284,546 @@ ] }, { - "id": "0x3690758", + "id": "0x2d37c358", + "kind": "FunctionDecl", + "loc": { + "offset": 11107, + "file": "../include/sls/ToString.h", + "line": 327, + "col": 22, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11086, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11136, + "col": 51, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37c588", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToItEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint16_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned short" + }, + "inner": [ + { + "id": "0x2bf08d70", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned short" + } + } + ] + }, + { + "id": "0x2d37c268", + "kind": "ParmVarDecl", + "loc": { + "offset": 11135, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11116, + "col": 31, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11135, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37c828", + "kind": "FunctionDecl", + "loc": { + "offset": 11160, + "file": "../include/sls/ToString.h", + "line": 328, + "col": 22, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11139, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11189, + "col": 51, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37ca58", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIjEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint32_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned int" + }, + "inner": [ + { + "id": "0x2bf08d90", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned int" + } + } + ] + }, + { + "id": "0x2d37c738", + "kind": "ParmVarDecl", + "loc": { + "offset": 11188, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11169, + "col": 31, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11188, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37ccc8", + "kind": "FunctionDecl", + "loc": { + "offset": 11213, + "file": "../include/sls/ToString.h", + "line": 329, + "col": 22, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11192, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11242, + "col": 51, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37cef8", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToImEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint64_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned long" + }, + "inner": [ + { + "id": "0x2bf08db0", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned long" + } + } + ] + }, + { + "id": "0x2d37cc08", + "kind": "ParmVarDecl", + "loc": { + "offset": 11241, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11222, + "col": 31, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11241, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37d1a0", + "kind": "FunctionDecl", + "loc": { + "offset": 11261, + "file": "../include/sls/ToString.h", + "line": 330, + "col": 17, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11245, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11290, + "col": 46, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37d3d8", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIiEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "int (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "int" + }, + "inner": [ + { + "id": "0x2bf08cf0", + "kind": "BuiltinType", + "type": { + "qualType": "int" + } + } + ] + }, + { + "id": "0x2d37d0a8", + "kind": "ParmVarDecl", + "loc": { + "offset": 11289, + "col": 45, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11270, + "col": 26, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11289, + "col": 45, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37d648", + "kind": "FunctionDecl", + "loc": { + "offset": 11310, + "file": "../include/sls/ToString.h", + "line": 331, + "col": 18, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11293, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11339, + "col": 47, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37d878", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIbEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "bool (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "bool" + }, + "inner": [ + { + "id": "0x2bf08c70", + "kind": "BuiltinType", + "type": { + "qualType": "bool" + } + } + ] + }, + { + "id": "0x2d37d588", + "kind": "ParmVarDecl", + "loc": { + "offset": 11338, + "col": 46, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11319, + "col": 27, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11338, + "col": 46, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37db18", + "kind": "FunctionDecl", + "loc": { + "offset": 11362, + "file": "../include/sls/ToString.h", + "line": 332, + "col": 21, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11342, + "col": 1, + "tokLen": 8, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11391, + "col": 50, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "previousDecl": "0x2d37dd48", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "int64_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "long" + }, + "inner": [ + { + "id": "0x2bf08d10", + "kind": "BuiltinType", + "type": { + "qualType": "long" + } + } + ] + }, + { + "id": "0x2d37da28", + "kind": "ParmVarDecl", + "loc": { + "offset": 11390, + "col": 49, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "range": { + "begin": { + "offset": 11371, + "col": 30, + "tokLen": 5, + "includedFrom": { + "file": "ToString.cpp" + } + }, + "end": { + "offset": 11390, + "col": 49, + "tokLen": 1, + "includedFrom": { + "file": "ToString.cpp" + } + } + }, + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + ] +}, +{ + "id": "0x2d37ec60", "kind": "FunctionTemplateDecl", "loc": { - "offset": 11100, + "offset": 11628, "file": "../include/sls/ToString.h", - "line": 333, + "line": 342, "col": 16, "tokLen": 8, "includedFrom": { @@ -6424,8 +6832,8 @@ }, "range": { "begin": { - "offset": 11063, - "line": 332, + "offset": 11591, + "line": 341, "col": 1, "tokLen": 8, "includedFrom": { @@ -6433,8 +6841,8 @@ } }, "end": { - "offset": 11310, - "line": 339, + "offset": 11838, + "line": 348, "col": 1, "tokLen": 1, "includedFrom": { @@ -6445,11 +6853,11 @@ "name": "StringTo", "inner": [ { - "id": "0x3690160", + "id": "0x2d37e648", "kind": "TemplateTypeParmDecl", "loc": { - "offset": 11082, - "line": 332, + "offset": 11610, + "line": 341, "col": 20, "tokLen": 1, "includedFrom": { @@ -6458,7 +6866,7 @@ }, "range": { "begin": { - "offset": 11073, + "offset": 11601, "col": 11, "tokLen": 8, "includedFrom": { @@ -6466,7 +6874,7 @@ } }, "end": { - "offset": 11082, + "offset": 11610, "col": 20, "tokLen": 1, "includedFrom": { @@ -6481,11 +6889,11 @@ "index": 0 }, { - "id": "0x36906b8", + "id": "0x2d37ebb8", "kind": "FunctionDecl", "loc": { - "offset": 11100, - "line": 333, + "offset": 11628, + "line": 342, "col": 16, "tokLen": 8, "includedFrom": { @@ -6494,7 +6902,7 @@ }, "range": { "begin": { - "offset": 11085, + "offset": 11613, "col": 1, "tokLen": 3, "includedFrom": { @@ -6502,8 +6910,8 @@ } }, "end": { - "offset": 11310, - "line": 339, + "offset": 11838, + "line": 348, "col": 1, "tokLen": 1, "includedFrom": { @@ -6517,11 +6925,11 @@ }, "inner": [ { - "id": "0x36905a0", + "id": "0x2d37eaa0", "kind": "ParmVarDecl", "loc": { - "offset": 11141, - "line": 333, + "offset": 11669, + "line": 342, "col": 57, "tokLen": 7, "includedFrom": { @@ -6530,7 +6938,7 @@ }, "range": { "begin": { - "offset": 11109, + "offset": 11637, "col": 25, "tokLen": 5, "includedFrom": { @@ -6538,7 +6946,7 @@ } }, "end": { - "offset": 11141, + "offset": 11669, "col": 57, "tokLen": 7, "includedFrom": { @@ -6553,11 +6961,11 @@ } }, { - "id": "0x36bd368", + "id": "0x2d3b6478", "kind": "CompoundStmt", "range": { "begin": { - "offset": 11150, + "offset": 11678, "col": 66, "tokLen": 1, "includedFrom": { @@ -6565,8 +6973,8 @@ } }, "end": { - "offset": 11310, - "line": 339, + "offset": 11838, + "line": 348, "col": 1, "tokLen": 1, "includedFrom": { @@ -6576,12 +6984,12 @@ }, "inner": [ { - "id": "0x3690a40", + "id": "0x2d37ef50", "kind": "DeclStmt", "range": { "begin": { - "offset": 11156, - "line": 334, + "offset": 11684, + "line": 343, "col": 5, "tokLen": 3, "includedFrom": { @@ -6589,7 +6997,7 @@ } }, "end": { - "offset": 11177, + "offset": 11705, "col": 26, "tokLen": 1, "includedFrom": { @@ -6599,10 +7007,10 @@ }, "inner": [ { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "loc": { - "offset": 11171, + "offset": 11699, "col": 20, "tokLen": 6, "includedFrom": { @@ -6611,7 +7019,7 @@ }, "range": { "begin": { - "offset": 11156, + "offset": 11684, "col": 5, "tokLen": 3, "includedFrom": { @@ -6619,7 +7027,7 @@ } }, "end": { - "offset": 11171, + "offset": 11699, "col": 20, "tokLen": 6, "includedFrom": { @@ -6638,12 +7046,12 @@ ] }, { - "id": "0x36b69a8", + "id": "0x2d3a9118", "kind": "CallExpr", "range": { "begin": { - "offset": 11183, - "line": 335, + "offset": 11711, + "line": 344, "col": 5, "tokLen": 6, "includedFrom": { @@ -6651,7 +7059,7 @@ } }, "end": { - "offset": 11212, + "offset": 11740, "col": 34, "tokLen": 1, "includedFrom": { @@ -6665,11 +7073,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3690a78", + "id": "0x2d37ef88", "kind": "CXXDependentScopeMemberExpr", "range": { "begin": { - "offset": 11183, + "offset": 11711, "col": 5, "tokLen": 6, "includedFrom": { @@ -6677,7 +7085,7 @@ } }, "end": { - "offset": 11190, + "offset": 11718, "col": 12, "tokLen": 7, "includedFrom": { @@ -6693,11 +7101,11 @@ "member": "reserve", "inner": [ { - "id": "0x3690a58", + "id": "0x2d37ef68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11183, + "offset": 11711, "col": 5, "tokLen": 6, "includedFrom": { @@ -6705,7 +7113,7 @@ } }, "end": { - "offset": 11183, + "offset": 11711, "col": 5, "tokLen": 6, "includedFrom": { @@ -6719,7 +7127,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "name": "result", "type": { @@ -6731,11 +7139,11 @@ ] }, { - "id": "0x36b6490", + "id": "0x2d3a8c00", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6743,7 +7151,7 @@ } }, "end": { - "offset": 11211, + "offset": 11739, "col": 33, "tokLen": 1, "includedFrom": { @@ -6753,17 +7161,17 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::vector::size_type", - "typeAliasDeclId": "0x29007b8" + "qualType": "size_type", + "typeAliasDeclId": "0x2c532128" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36b6460", + "id": "0x2d3a8bd0", "kind": "MemberExpr", "range": { "begin": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6771,7 +7179,7 @@ } }, "end": { - "offset": 11206, + "offset": 11734, "col": 28, "tokLen": 4, "includedFrom": { @@ -6785,14 +7193,14 @@ "valueCategory": "prvalue", "name": "size", "isArrow": false, - "referencedMemberDecl": "0x36a9e90", + "referencedMemberDecl": "0x2d39e748", "inner": [ { - "id": "0x3690ac0", + "id": "0x2d37efd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6800,7 +7208,7 @@ } }, "end": { - "offset": 11198, + "offset": 11726, "col": 20, "tokLen": 7, "includedFrom": { @@ -6814,7 +7222,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36905a0", + "id": "0x2d37eaa0", "kind": "ParmVarDecl", "name": "strings", "type": { @@ -6829,12 +7237,12 @@ ] }, { - "id": "0x36bd140", + "id": "0x2d3b6250", "kind": "CXXForRangeStmt", "range": { "begin": { - "offset": 11219, - "line": 336, + "offset": 11747, + "line": 345, "col": 5, "tokLen": 3, "includedFrom": { @@ -6842,8 +7250,8 @@ } }, "end": { - "offset": 11288, - "line": 337, + "offset": 11816, + "line": 346, "col": 40, "tokLen": 1, "includedFrom": { @@ -6854,12 +7262,12 @@ "inner": [ {}, { - "id": "0x36b6d50", + "id": "0x2d3a94c0", "kind": "DeclStmt", "range": { "begin": { - "offset": 11240, - "line": 336, + "offset": 11768, + "line": 345, "col": 26, "tokLen": 7, "includedFrom": { @@ -6867,7 +7275,7 @@ } }, "end": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6877,10 +7285,10 @@ }, "inner": [ { - "id": "0x36b6b50", + "id": "0x2d3a92c0", "kind": "VarDecl", "loc": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6889,7 +7297,7 @@ }, "range": { "begin": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6897,7 +7305,7 @@ } }, "end": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6914,11 +7322,11 @@ "init": "c", "inner": [ { - "id": "0x36b69d0", + "id": "0x2d3a9140", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6926,7 +7334,7 @@ } }, "end": { - "offset": 11240, + "offset": 11768, "col": 26, "tokLen": 7, "includedFrom": { @@ -6940,7 +7348,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36905a0", + "id": "0x2d37eaa0", "kind": "ParmVarDecl", "name": "strings", "type": { @@ -6953,11 +7361,11 @@ ] }, { - "id": "0x36bb028", + "id": "0x2d3b3a60", "kind": "DeclStmt", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6965,7 +7373,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6975,10 +7383,10 @@ }, "inner": [ { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "loc": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6987,7 +7395,7 @@ }, "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -6995,7 +7403,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7008,17 +7416,17 @@ "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "init": "c", "inner": [ { - "id": "0x36babf8", + "id": "0x2d3b3320", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7026,7 +7434,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7036,17 +7444,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36babc8", + "id": "0x2d3b32f0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7054,7 +7462,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7064,23 +7472,23 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (__gnu_cxx::__normal_iterator *, std::vector>> &&) noexcept" + "qualType": "void (__normal_iterator *, vector>> &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x36ba968", + "id": "0x2d3b30b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7088,7 +7496,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7098,18 +7506,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36b6f88", + "id": "0x2d3a96f8", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7117,7 +7525,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7127,17 +7535,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36b6f58", + "id": "0x2d3a96c8", "kind": "MemberExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7145,7 +7553,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7159,14 +7567,14 @@ "valueCategory": "prvalue", "name": "begin", "isArrow": false, - "referencedMemberDecl": "0x36a9440", + "referencedMemberDecl": "0x2d39da60", "inner": [ { - "id": "0x36b6d68", + "id": "0x2d3a94d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7174,7 +7582,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7188,7 +7596,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6b50", + "id": "0x2d3a92c0", "kind": "VarDecl", "name": "__range2", "type": { @@ -7211,11 +7619,11 @@ ] }, { - "id": "0x36bb040", + "id": "0x2d3b3a78", "kind": "DeclStmt", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7223,7 +7631,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7233,10 +7641,10 @@ }, "inner": [ { - "id": "0x36b6e90", + "id": "0x2d3a9600", "kind": "VarDecl", "loc": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7245,7 +7653,7 @@ }, "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7253,7 +7661,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7266,17 +7674,17 @@ "name": "__end2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "init": "c", "inner": [ { - "id": "0x36bb010", + "id": "0x2d3b3a48", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7284,7 +7692,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7294,17 +7702,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36bafe0", + "id": "0x2d3b3a18", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7312,7 +7720,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7322,23 +7730,23 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (__gnu_cxx::__normal_iterator *, std::vector>> &&) noexcept" + "qualType": "void (__normal_iterator *, vector>> &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x36bafc8", + "id": "0x2d3b3a00", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7346,7 +7754,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7356,18 +7764,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x36baca0", + "id": "0x2d3b33c8", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7375,7 +7783,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7385,17 +7793,17 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x36bac70", + "id": "0x2d3b3398", "kind": "MemberExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7403,7 +7811,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7417,14 +7825,14 @@ "valueCategory": "prvalue", "name": "end", "isArrow": false, - "referencedMemberDecl": "0x36a9600", + "referencedMemberDecl": "0x2d39dc30", "inner": [ { - "id": "0x36b6d88", + "id": "0x2d3a94f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7432,7 +7840,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7446,7 +7854,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6b50", + "id": "0x2d3a92c0", "kind": "VarDecl", "name": "__range2", "type": { @@ -7469,11 +7877,11 @@ ] }, { - "id": "0x36bcd60", + "id": "0x2d3b5e70", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7481,7 +7889,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7496,11 +7904,11 @@ "adl": true, "inner": [ { - "id": "0x36bcd48", + "id": "0x2d3b5e58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7508,7 +7916,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7517,17 +7925,17 @@ } }, "type": { - "qualType": "bool (*)(const __normal_iterator *, std::vector>> &, const __normal_iterator *, std::vector>> &) noexcept" + "qualType": "bool (*)(const __normal_iterator *, vector, allocator>>> &, const __normal_iterator *, vector, allocator>>> &) noexcept" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36bccd0", + "id": "0x2d3b5dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7535,7 +7943,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7544,26 +7952,26 @@ } }, "type": { - "qualType": "bool (const __normal_iterator *, std::vector>> &, const __normal_iterator *, std::vector>> &) noexcept" + "qualType": "bool (const __normal_iterator *, vector, allocator>>> &, const __normal_iterator *, vector, allocator>>> &) noexcept" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36bb9d0", + "id": "0x2d3b4560", "kind": "FunctionDecl", "name": "operator!=", "type": { - "qualType": "bool (const __normal_iterator *, std::vector>> &, const __normal_iterator *, std::vector>> &) noexcept" + "qualType": "bool (const __normal_iterator *, vector, allocator>>> &, const __normal_iterator *, vector, allocator>>> &) noexcept" } } } ] }, { - "id": "0x36bcca0", + "id": "0x2d3b5da8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7571,7 +7979,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7581,17 +7989,17 @@ }, "type": { "desugaredQualType": "const __gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "const __normal_iterator *, std::vector>>" + "qualType": "const __normal_iterator *, vector, allocator>>>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x36bb058", + "id": "0x2d3b3a90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7599,7 +8007,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7609,29 +8017,29 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } ] }, { - "id": "0x36bccb8", + "id": "0x2d3b5dc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7639,7 +8047,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7649,17 +8057,17 @@ }, "type": { "desugaredQualType": "const __gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "const __normal_iterator *, std::vector>>" + "qualType": "const __normal_iterator *, vector, allocator>>>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x36bb078", + "id": "0x2d3b3ab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7667,7 +8075,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7677,18 +8085,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6e90", + "id": "0x2d3a9600", "kind": "VarDecl", "name": "__end2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } @@ -7697,11 +8105,11 @@ ] }, { - "id": "0x36bce50", + "id": "0x2d3b5f60", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7709,7 +8117,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7718,16 +8126,17 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>" + "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", + "qualType": "__normal_iterator *, vector>>" }, "valueCategory": "lvalue", "inner": [ { - "id": "0x36bce38", + "id": "0x2d3b5f48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7735,7 +8144,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7744,17 +8153,17 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>> &(*)() noexcept" + "qualType": "__normal_iterator *, vector>> &(*)() noexcept" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36bcdb8", + "id": "0x2d3b5ec8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7762,7 +8171,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7771,26 +8180,26 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>> &() noexcept" + "qualType": "__normal_iterator *, vector>> &() noexcept" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b8d20", + "id": "0x2d3b0dc8", "kind": "CXXMethodDecl", "name": "operator++", "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>> &() noexcept" + "qualType": "__normal_iterator *, vector>> &() noexcept" } } } ] }, { - "id": "0x36bcd98", + "id": "0x2d3b5ea8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7798,7 +8207,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7808,29 +8217,29 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } ] }, { - "id": "0x36b6ac8", + "id": "0x2d3a9238", "kind": "DeclStmt", "range": { "begin": { - "offset": 11224, + "offset": 11752, "col": 10, "tokLen": 5, "includedFrom": { @@ -7838,7 +8247,7 @@ } }, "end": { - "offset": 11247, + "offset": 11775, "col": 33, "tokLen": 1, "includedFrom": { @@ -7848,10 +8257,10 @@ }, "inner": [ { - "id": "0x36b6a60", + "id": "0x2d3a91d0", "kind": "VarDecl", "loc": { - "offset": 11236, + "offset": 11764, "col": 22, "tokLen": 1, "includedFrom": { @@ -7860,7 +8269,7 @@ }, "range": { "begin": { - "offset": 11224, + "offset": 11752, "col": 10, "tokLen": 5, "includedFrom": { @@ -7868,7 +8277,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7884,11 +8293,11 @@ "init": "c", "inner": [ { - "id": "0x36bcf70", + "id": "0x2d3b6080", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7896,7 +8305,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7911,11 +8320,11 @@ "valueCategory": "lvalue", "inner": [ { - "id": "0x36bcf58", + "id": "0x2d3b6068", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7923,7 +8332,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7932,17 +8341,17 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>::reference (*)() const noexcept" + "qualType": "reference (*)() const noexcept" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x36bcee0", + "id": "0x2d3b5ff0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7950,7 +8359,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7959,26 +8368,26 @@ } }, "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>::reference () const noexcept" + "qualType": "reference () const noexcept" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b8aa0", + "id": "0x2d3b0a80", "kind": "CXXMethodDecl", "name": "operator*", "type": { - "qualType": "__gnu_cxx::__normal_iterator *, std::vector>>::reference () const noexcept" + "qualType": "reference () const noexcept" } } } ] }, { - "id": "0x36bcec8", + "id": "0x2d3b5fd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -7986,7 +8395,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -8001,11 +8410,11 @@ "castKind": "NoOp", "inner": [ { - "id": "0x36bce80", + "id": "0x2d3b5f90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -8013,7 +8422,7 @@ } }, "end": { - "offset": 11238, + "offset": 11766, "col": 24, "tokLen": 1, "includedFrom": { @@ -8023,18 +8432,18 @@ }, "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6de8", + "id": "0x2d3a9558", "kind": "VarDecl", "name": "__begin2", "type": { "desugaredQualType": "__gnu_cxx::__normal_iterator *, std::vector>>", - "qualType": "std::vector>::const_iterator", - "typeAliasDeclId": "0x36a3be8" + "qualType": "const_iterator", + "typeAliasDeclId": "0x2d393288" } } } @@ -8047,12 +8456,12 @@ ] }, { - "id": "0x36bd308", + "id": "0x2d3b6418", "kind": "CallExpr", "range": { "begin": { - "offset": 11257, - "line": 337, + "offset": 11785, + "line": 346, "col": 9, "tokLen": 6, "includedFrom": { @@ -8060,7 +8469,7 @@ } }, "end": { - "offset": 11288, + "offset": 11816, "col": 40, "tokLen": 1, "includedFrom": { @@ -8074,11 +8483,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x36bd1c0", + "id": "0x2d3b62d0", "kind": "CXXDependentScopeMemberExpr", "range": { "begin": { - "offset": 11257, + "offset": 11785, "col": 9, "tokLen": 6, "includedFrom": { @@ -8086,7 +8495,7 @@ } }, "end": { - "offset": 11264, + "offset": 11792, "col": 16, "tokLen": 9, "includedFrom": { @@ -8102,11 +8511,11 @@ "member": "push_back", "inner": [ { - "id": "0x36bd1a0", + "id": "0x2d3b62b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11257, + "offset": 11785, "col": 9, "tokLen": 6, "includedFrom": { @@ -8114,7 +8523,7 @@ } }, "end": { - "offset": 11257, + "offset": 11785, "col": 9, "tokLen": 6, "includedFrom": { @@ -8128,7 +8537,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "name": "result", "type": { @@ -8140,11 +8549,11 @@ ] }, { - "id": "0x36bd2e0", + "id": "0x2d3b63f0", "kind": "CallExpr", "range": { "begin": { - "offset": 11274, + "offset": 11802, "col": 26, "tokLen": 8, "includedFrom": { @@ -8152,7 +8561,7 @@ } }, "end": { - "offset": 11287, + "offset": 11815, "col": 39, "tokLen": 1, "includedFrom": { @@ -8166,11 +8575,11 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x36bd238", + "id": "0x2d3b6348", "kind": "UnresolvedLookupExpr", "range": { "begin": { - "offset": 11274, + "offset": 11802, "col": 26, "tokLen": 8, "includedFrom": { @@ -8178,7 +8587,7 @@ } }, "end": { - "offset": 11284, + "offset": 11812, "col": 36, "tokLen": 1, "includedFrom": { @@ -8194,28 +8603,28 @@ "name": "StringTo", "lookups": [ { - "id": "0x3690758", + "id": "0x2d37ec60", "kind": "FunctionTemplateDecl", "name": "StringTo" }, { - "id": "0x3687908", + "id": "0x2d3750e0", "kind": "FunctionTemplateDecl", "name": "StringTo" }, { - "id": "0x3654da8", + "id": "0x2d33fd20", "kind": "FunctionTemplateDecl", "name": "StringTo" } ] }, { - "id": "0x36bd2c0", + "id": "0x2d3b63d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11286, + "offset": 11814, "col": 38, "tokLen": 1, "includedFrom": { @@ -8223,7 +8632,7 @@ } }, "end": { - "offset": 11286, + "offset": 11814, "col": 38, "tokLen": 1, "includedFrom": { @@ -8237,7 +8646,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36b6a60", + "id": "0x2d3a91d0", "kind": "VarDecl", "name": "s", "type": { @@ -8252,12 +8661,12 @@ ] }, { - "id": "0x36bd350", + "id": "0x2d3b6460", "kind": "ReturnStmt", "range": { "begin": { - "offset": 11295, - "line": 338, + "offset": 11823, + "line": 347, "col": 5, "tokLen": 6, "includedFrom": { @@ -8265,7 +8674,7 @@ } }, "end": { - "offset": 11302, + "offset": 11830, "col": 12, "tokLen": 6, "includedFrom": { @@ -8275,11 +8684,11 @@ }, "inner": [ { - "id": "0x36bd330", + "id": "0x2d3b6440", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 11302, + "offset": 11830, "col": 12, "tokLen": 6, "includedFrom": { @@ -8287,7 +8696,7 @@ } }, "end": { - "offset": 11302, + "offset": 11830, "col": 12, "tokLen": 6, "includedFrom": { @@ -8301,7 +8710,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x36909d8", + "id": "0x2d37eee8", "kind": "VarDecl", "name": "result", "type": { @@ -8319,29 +8728,29 @@ ] }, { - "id": "0x3849458", + "id": "0x7f0da6e85d18", "kind": "FunctionDecl", "loc": { - "offset": 20783, + "offset": 21816, "file": "ToString.cpp", - "line": 665, + "line": 706, "col": 32, "tokLen": 8 }, "range": { "begin": { - "offset": 20752, + "offset": 21785, "col": 1, "tokLen": 8 }, "end": { - "offset": 21262, - "line": 681, + "offset": 22375, + "line": 724, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3688208", + "previousDecl": "0x2d3759e8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12detectorTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -8355,13 +8764,13 @@ }, "inner": [ { - "id": "0x2f41f40", + "id": "0x2cd03d20", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorType" }, "decl": { - "id": "0x2f41ea0", + "id": "0x2cd03c80", "kind": "EnumDecl", "name": "detectorType" } @@ -8369,22 +8778,22 @@ ] }, { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "loc": { - "offset": 20811, - "line": 665, + "offset": 21844, + "line": 706, "col": 60, "tokLen": 1 }, "range": { "begin": { - "offset": 20792, + "offset": 21825, "col": 41, "tokLen": 5 }, "end": { - "offset": 20811, + "offset": 21844, "col": 60, "tokLen": 1 } @@ -8396,52 +8805,52 @@ } }, { - "id": "0x3850148", + "id": "0x7f0da6e8ff78", "kind": "CompoundStmt", "range": { "begin": { - "offset": 20814, + "offset": 21847, "col": 63, "tokLen": 1 }, "end": { - "offset": 21262, - "line": 681, + "offset": 22375, + "line": 724, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x384a460", + "id": "0x7f0da6e87208", "kind": "IfStmt", "range": { "begin": { - "offset": 20820, - "line": 666, + "offset": 21853, + "line": 707, "col": 5, "tokLen": 2 }, "end": { - "offset": 20859, - "line": 667, + "offset": 21892, + "line": 708, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x384a3b0", + "id": "0x7f0da6e87158", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20824, - "line": 666, + "offset": 21857, + "line": 707, "col": 9, "tokLen": 1 }, "end": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 } @@ -8453,67 +8862,67 @@ "adl": true, "inner": [ { - "id": "0x384a398", + "id": "0x7f0da6e87140", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 }, "end": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384a378", + "id": "0x7f0da6e87120", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 }, "end": { - "offset": 20826, + "offset": 21859, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3849610", + "id": "0x7f0da6e85f00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20824, + "offset": 21857, "col": 9, "tokLen": 1 }, "end": { - "offset": 20824, + "offset": 21857, "col": 9, "tokLen": 1 } @@ -8521,11 +8930,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -8534,16 +8943,16 @@ } }, { - "id": "0x384a360", + "id": "0x7f0da6e87108", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 }, "end": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 } @@ -8555,16 +8964,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3849630", + "id": "0x7f0da6e85f20", "kind": "StringLiteral", "range": { "begin": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 }, "end": { - "offset": 20829, + "offset": 21862, "col": 14, "tokLen": 7 } @@ -8580,33 +8989,33 @@ ] }, { - "id": "0x384a450", + "id": "0x7f0da6e871f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 20846, - "line": 667, + "offset": 21879, + "line": 708, "col": 9, "tokLen": 6 }, "end": { - "offset": 20859, + "offset": 21892, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x384a420", + "id": "0x7f0da6e871c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20853, + "offset": 21886, "col": 16, "tokLen": 4 }, "end": { - "offset": 20859, + "offset": 21892, "col": 22, "tokLen": 5 } @@ -8616,7 +9025,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f41fb0", + "id": "0x2cd03d90", "kind": "EnumConstantDecl", "name": "EIGER", "type": { @@ -8629,35 +9038,35 @@ ] }, { - "id": "0x384b2d0", + "id": "0x7f0da6e88538", "kind": "IfStmt", "range": { "begin": { - "offset": 20870, - "line": 668, + "offset": 21903, + "line": 709, "col": 5, "tokLen": 2 }, "end": { - "offset": 20912, - "line": 669, + "offset": 21945, + "line": 710, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384b220", + "id": "0x7f0da6e88488", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20874, - "line": 668, + "offset": 21907, + "line": 709, "col": 9, "tokLen": 1 }, "end": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 } @@ -8669,67 +9078,67 @@ "adl": true, "inner": [ { - "id": "0x384b208", + "id": "0x7f0da6e88470", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 }, "end": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384b1e8", + "id": "0x7f0da6e88450", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 }, "end": { - "offset": 20876, + "offset": 21909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384a480", + "id": "0x7f0da6e87228", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20874, + "offset": 21907, "col": 9, "tokLen": 1 }, "end": { - "offset": 20874, + "offset": 21907, "col": 9, "tokLen": 1 } @@ -8737,11 +9146,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -8750,16 +9159,16 @@ } }, { - "id": "0x384b1d0", + "id": "0x7f0da6e88438", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 }, "end": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 } @@ -8771,16 +9180,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384a4a0", + "id": "0x7f0da6e87248", "kind": "StringLiteral", "range": { "begin": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 }, "end": { - "offset": 20879, + "offset": 21912, "col": 14, "tokLen": 10 } @@ -8796,33 +9205,33 @@ ] }, { - "id": "0x384b2c0", + "id": "0x7f0da6e88528", "kind": "ReturnStmt", "range": { "begin": { - "offset": 20899, - "line": 669, + "offset": 21932, + "line": 710, "col": 9, "tokLen": 6 }, "end": { - "offset": 20912, + "offset": 21945, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384b290", + "id": "0x7f0da6e884f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20906, + "offset": 21939, "col": 16, "tokLen": 4 }, "end": { - "offset": 20912, + "offset": 21945, "col": 22, "tokLen": 8 } @@ -8832,7 +9241,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42000", + "id": "0x2cd03de0", "kind": "EnumConstantDecl", "name": "GOTTHARD", "type": { @@ -8845,35 +9254,35 @@ ] }, { - "id": "0x384c140", + "id": "0x7f0da6e89868", "kind": "IfStmt", "range": { "begin": { - "offset": 20926, - "line": 670, + "offset": 21959, + "line": 711, "col": 5, "tokLen": 2 }, "end": { - "offset": 20968, - "line": 671, + "offset": 22001, + "line": 712, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384c090", + "id": "0x7f0da6e897b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20930, - "line": 670, + "offset": 21963, + "line": 711, "col": 9, "tokLen": 1 }, "end": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 } @@ -8885,67 +9294,67 @@ "adl": true, "inner": [ { - "id": "0x384c078", + "id": "0x7f0da6e897a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 }, "end": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384c058", + "id": "0x7f0da6e89780", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 }, "end": { - "offset": 20932, + "offset": 21965, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384b2f0", + "id": "0x7f0da6e88558", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20930, + "offset": 21963, "col": 9, "tokLen": 1 }, "end": { - "offset": 20930, + "offset": 21963, "col": 9, "tokLen": 1 } @@ -8953,11 +9362,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -8966,16 +9375,16 @@ } }, { - "id": "0x384c040", + "id": "0x7f0da6e89768", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 }, "end": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 } @@ -8987,16 +9396,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384b310", + "id": "0x7f0da6e88578", "kind": "StringLiteral", "range": { "begin": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 }, "end": { - "offset": 20935, + "offset": 21968, "col": 14, "tokLen": 10 } @@ -9012,33 +9421,33 @@ ] }, { - "id": "0x384c130", + "id": "0x7f0da6e89858", "kind": "ReturnStmt", "range": { "begin": { - "offset": 20955, - "line": 671, + "offset": 21988, + "line": 712, "col": 9, "tokLen": 6 }, "end": { - "offset": 20968, + "offset": 22001, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x384c100", + "id": "0x7f0da6e89828", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20962, + "offset": 21995, "col": 16, "tokLen": 4 }, "end": { - "offset": 20968, + "offset": 22001, "col": 22, "tokLen": 8 } @@ -9048,7 +9457,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42050", + "id": "0x2cd03e30", "kind": "EnumConstantDecl", "name": "JUNGFRAU", "type": { @@ -9061,35 +9470,35 @@ ] }, { - "id": "0x384cfc0", + "id": "0x7f0da6e8ab98", "kind": "IfStmt", "range": { "begin": { - "offset": 20982, - "line": 672, + "offset": 22015, + "line": 713, "col": 5, "tokLen": 2 }, "end": { - "offset": 21029, - "line": 673, + "offset": 22062, + "line": 714, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x384cf10", + "id": "0x7f0da6e8aae8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 20986, - "line": 672, + "offset": 22019, + "line": 713, "col": 9, "tokLen": 1 }, "end": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 } @@ -9101,67 +9510,67 @@ "adl": true, "inner": [ { - "id": "0x384cef8", + "id": "0x7f0da6e8aad0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 }, "end": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384ced8", + "id": "0x7f0da6e8aab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 }, "end": { - "offset": 20988, + "offset": 22021, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384c160", + "id": "0x7f0da6e89888", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 20986, + "offset": 22019, "col": 9, "tokLen": 1 }, "end": { - "offset": 20986, + "offset": 22019, "col": 9, "tokLen": 1 } @@ -9169,11 +9578,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9182,16 +9591,16 @@ } }, { - "id": "0x384cec0", + "id": "0x7f0da6e8aa98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 }, "end": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 } @@ -9203,16 +9612,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384c180", + "id": "0x7f0da6e898a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 }, "end": { - "offset": 20991, + "offset": 22024, "col": 14, "tokLen": 15 } @@ -9228,33 +9637,33 @@ ] }, { - "id": "0x384cfb0", + "id": "0x7f0da6e8ab88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21016, - "line": 673, + "offset": 22049, + "line": 714, "col": 9, "tokLen": 6 }, "end": { - "offset": 21029, + "offset": 22062, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x384cf80", + "id": "0x7f0da6e8ab58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21023, + "offset": 22056, "col": 16, "tokLen": 4 }, "end": { - "offset": 21029, + "offset": 22062, "col": 22, "tokLen": 13 } @@ -9264,7 +9673,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f420a0", + "id": "0x2cd03e80", "kind": "EnumConstantDecl", "name": "CHIPTESTBOARD", "type": { @@ -9277,35 +9686,35 @@ ] }, { - "id": "0x384de30", + "id": "0x7f0da6e8bec8", "kind": "IfStmt", "range": { "begin": { - "offset": 21048, - "line": 674, + "offset": 22081, + "line": 715, "col": 5, "tokLen": 2 }, "end": { - "offset": 21088, - "line": 675, + "offset": 22121, + "line": 716, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x384dd80", + "id": "0x7f0da6e8be18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21052, - "line": 674, + "offset": 22085, + "line": 715, "col": 9, "tokLen": 1 }, "end": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 } @@ -9317,67 +9726,67 @@ "adl": true, "inner": [ { - "id": "0x384dd68", + "id": "0x7f0da6e8be00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 }, "end": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384dd48", + "id": "0x7f0da6e8bde0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 }, "end": { - "offset": 21054, + "offset": 22087, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384cfe0", + "id": "0x7f0da6e8abb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21052, + "offset": 22085, "col": 9, "tokLen": 1 }, "end": { - "offset": 21052, + "offset": 22085, "col": 9, "tokLen": 1 } @@ -9385,11 +9794,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9398,16 +9807,16 @@ } }, { - "id": "0x384dd30", + "id": "0x7f0da6e8bdc8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 }, "end": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 } @@ -9419,16 +9828,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384d000", + "id": "0x7f0da6e8abd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 }, "end": { - "offset": 21057, + "offset": 22090, "col": 14, "tokLen": 8 } @@ -9444,33 +9853,33 @@ ] }, { - "id": "0x384de20", + "id": "0x7f0da6e8beb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21075, - "line": 675, + "offset": 22108, + "line": 716, "col": 9, "tokLen": 6 }, "end": { - "offset": 21088, + "offset": 22121, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x384ddf0", + "id": "0x7f0da6e8be88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21082, + "offset": 22115, "col": 16, "tokLen": 4 }, "end": { - "offset": 21088, + "offset": 22121, "col": 22, "tokLen": 6 } @@ -9480,7 +9889,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f420f0", + "id": "0x2cd03ed0", "kind": "EnumConstantDecl", "name": "MOENCH", "type": { @@ -9493,35 +9902,35 @@ ] }, { - "id": "0x384eca0", + "id": "0x7f0da6e8d1f8", "kind": "IfStmt", "range": { "begin": { - "offset": 21100, - "line": 676, + "offset": 22133, + "line": 717, "col": 5, "tokLen": 2 }, "end": { - "offset": 21141, - "line": 677, + "offset": 22174, + "line": 718, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x384ebf0", + "id": "0x7f0da6e8d148", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21104, - "line": 676, + "offset": 22137, + "line": 717, "col": 9, "tokLen": 1 }, "end": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 } @@ -9533,67 +9942,67 @@ "adl": true, "inner": [ { - "id": "0x384ebd8", + "id": "0x7f0da6e8d130", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 }, "end": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384ebb8", + "id": "0x7f0da6e8d110", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 }, "end": { - "offset": 21106, + "offset": 22139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384de50", + "id": "0x7f0da6e8bee8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21104, + "offset": 22137, "col": 9, "tokLen": 1 }, "end": { - "offset": 21104, + "offset": 22137, "col": 9, "tokLen": 1 } @@ -9601,11 +10010,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9614,16 +10023,16 @@ } }, { - "id": "0x384eba0", + "id": "0x7f0da6e8d0f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 }, "end": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 } @@ -9635,16 +10044,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384de70", + "id": "0x7f0da6e8bf08", "kind": "StringLiteral", "range": { "begin": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 }, "end": { - "offset": 21109, + "offset": 22142, "col": 14, "tokLen": 9 } @@ -9660,33 +10069,33 @@ ] }, { - "id": "0x384ec90", + "id": "0x7f0da6e8d1e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21128, - "line": 677, + "offset": 22161, + "line": 718, "col": 9, "tokLen": 6 }, "end": { - "offset": 21141, + "offset": 22174, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x384ec60", + "id": "0x7f0da6e8d1b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21135, + "offset": 22168, "col": 16, "tokLen": 4 }, "end": { - "offset": 21141, + "offset": 22174, "col": 22, "tokLen": 7 } @@ -9696,7 +10105,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42140", + "id": "0x2cd03f20", "kind": "EnumConstantDecl", "name": "MYTHEN3", "type": { @@ -9709,35 +10118,35 @@ ] }, { - "id": "0x384fb20", + "id": "0x7f0da6e8e528", "kind": "IfStmt", "range": { "begin": { - "offset": 21154, - "line": 678, + "offset": 22187, + "line": 719, "col": 5, "tokLen": 2 }, "end": { - "offset": 21197, - "line": 679, + "offset": 22230, + "line": 720, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x384fa70", + "id": "0x7f0da6e8e478", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21158, - "line": 678, + "offset": 22191, + "line": 719, "col": 9, "tokLen": 1 }, "end": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 } @@ -9749,67 +10158,67 @@ "adl": true, "inner": [ { - "id": "0x384fa58", + "id": "0x7f0da6e8e460", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 }, "end": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384fa38", + "id": "0x7f0da6e8e440", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 }, "end": { - "offset": 21160, + "offset": 22193, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x384ecc0", + "id": "0x7f0da6e8d218", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21158, + "offset": 22191, "col": 9, "tokLen": 1 }, "end": { - "offset": 21158, + "offset": 22191, "col": 9, "tokLen": 1 } @@ -9817,11 +10226,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -9830,16 +10239,16 @@ } }, { - "id": "0x384fa20", + "id": "0x7f0da6e8e428", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 }, "end": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 } @@ -9851,16 +10260,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384ece0", + "id": "0x7f0da6e8d238", "kind": "StringLiteral", "range": { "begin": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 }, "end": { - "offset": 21163, + "offset": 22196, "col": 14, "tokLen": 11 } @@ -9876,33 +10285,33 @@ ] }, { - "id": "0x384fb10", + "id": "0x7f0da6e8e518", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21184, - "line": 679, + "offset": 22217, + "line": 720, "col": 9, "tokLen": 6 }, "end": { - "offset": 21197, + "offset": 22230, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x384fae0", + "id": "0x7f0da6e8e4e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21191, + "offset": 22224, "col": 16, "tokLen": 4 }, "end": { - "offset": 21197, + "offset": 22230, "col": 22, "tokLen": 9 } @@ -9912,7 +10321,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f42190", + "id": "0x2cd03f70", "kind": "EnumConstantDecl", "name": "GOTTHARD2", "type": { @@ -9925,17 +10334,233 @@ ] }, { - "id": "0x3850130", + "id": "0x7f0da6e8f898", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 22245, + "line": 721, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 22299, + "line": 722, + "col": 22, + "tokLen": 20 + } + }, + "inner": [ + { + "id": "0x7f0da6e8f7e8", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 22249, + "line": 721, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 22254, + "col": 14, + "tokLen": 22 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6e8f7d0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 22251, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 22251, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6e8f7b0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 22251, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 22251, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6e8e548", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 22249, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 22249, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6e85c40", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6e8f798", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 22254, + "col": 14, + "tokLen": 22 + }, + "end": { + "offset": 22254, + "col": 14, + "tokLen": 22 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6e8e568", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 22254, + "col": 14, + "tokLen": 22 + }, + "end": { + "offset": 22254, + "col": 14, + "tokLen": 22 + } + }, + "type": { + "qualType": "const char[21]" + }, + "valueCategory": "lvalue", + "value": "\"Xilinx_ChipTestBoard\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6e8f888", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 22286, + "line": 722, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 22299, + "col": 22, + "tokLen": 20 + } + }, + "inner": [ + { + "id": "0x7f0da6e8f858", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 22293, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 22299, + "col": 22, + "tokLen": 20 + } + }, + "type": { + "qualType": "slsDetectorDefs::detectorType" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cd03fc0", + "kind": "EnumConstantDecl", + "name": "XILINX_CHIPTESTBOARD", + "type": { + "qualType": "slsDetectorDefs::detectorType" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6e8ff60", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 21212, - "line": 680, + "offset": 22325, + "line": 723, "col": 5, "tokLen": 5 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } @@ -9947,16 +10572,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3850118", + "id": "0x7f0da6e8ff48", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 21212, + "offset": 22325, "col": 5, "tokLen": 5 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } @@ -9967,74 +10592,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38500e8", + "id": "0x7f0da6e8ff18", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38500d0", + "id": "0x7f0da6e8ff00", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38500a8", + "id": "0x7f0da6e8fed8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -10043,27 +10671,28 @@ }, "inner": [ { - "id": "0x3850088", + "id": "0x7f0da6e8feb8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3850080", + "temp": "0x7f0da6e8feb0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -10072,22 +10701,23 @@ }, "inner": [ { - "id": "0x3850050", + "id": "0x7f0da6e8fe80", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 21218, + "offset": 22331, "col": 11, "tokLen": 12 }, "end": { - "offset": 21259, + "offset": 22372, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -10097,73 +10727,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3850038", + "id": "0x7f0da6e8fe68", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3850020", + "id": "0x7f0da6e8fe50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3850000", + "id": "0x7f0da6e8fe30", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x384fff8", + "temp": "0x7f0da6e8fe28", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -10172,89 +10802,89 @@ }, "inner": [ { - "id": "0x384ffc0", + "id": "0x7f0da6e8fdf0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x384ffa8", + "id": "0x7f0da6e8fdd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 }, "end": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x384ff88", + "id": "0x7f0da6e8fdb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 }, "end": { - "offset": 21256, + "offset": 22369, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x384ff70", + "id": "0x7f0da6e8fda0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 } @@ -10266,16 +10896,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x384fb50", + "id": "0x7f0da6e8f8c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 }, "end": { - "offset": 21231, + "offset": 22344, "col": 24, "tokLen": 24 } @@ -10289,16 +10919,16 @@ ] }, { - "id": "0x384fb80", + "id": "0x7f0da6e8f8f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 }, "end": { - "offset": 21258, + "offset": 22371, "col": 51, "tokLen": 1 } @@ -10306,11 +10936,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3849388", + "id": "0x7f0da6e85c40", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10345,29 +10975,29 @@ ] }, { - "id": "0x3850318", + "id": "0x7f0da6e90148", "kind": "FunctionDecl", "loc": { - "offset": 21300, + "offset": 22413, "file": "ToString.cpp", - "line": 683, + "line": 726, "col": 36, "tokLen": 8 }, "range": { "begin": { - "offset": 21265, + "offset": 22378, "col": 1, "tokLen": 8 }, "end": { - "offset": 22549, - "line": 725, + "offset": 23662, + "line": 768, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3688728", + "previousDecl": "0x2d375f38", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16detectorSettingsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -10381,13 +11011,13 @@ }, "inner": [ { - "id": "0x2f5a2c0", + "id": "0x2cdc0300", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::detectorSettings" }, "decl": { - "id": "0x2f5a218", + "id": "0x2cdc0258", "kind": "EnumDecl", "name": "detectorSettings" } @@ -10395,22 +11025,22 @@ ] }, { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "loc": { - "offset": 21328, - "line": 683, + "offset": 22441, + "line": 726, "col": 64, "tokLen": 1 }, "range": { "begin": { - "offset": 21309, + "offset": 22422, "col": 45, "tokLen": 5 }, "end": { - "offset": 21328, + "offset": 22441, "col": 64, "tokLen": 1 } @@ -10422,52 +11052,52 @@ } }, { - "id": "0x3866820", + "id": "0x7f0da6e67978", "kind": "CompoundStmt", "range": { "begin": { - "offset": 21331, + "offset": 22444, "col": 67, "tokLen": 1 }, "end": { - "offset": 22549, - "line": 725, + "offset": 23662, + "line": 768, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3851320", + "id": "0x7f0da6e91638", "kind": "IfStmt", "range": { "begin": { - "offset": 21337, - "line": 684, + "offset": 22450, + "line": 727, "col": 5, "tokLen": 2 }, "end": { - "offset": 21379, - "line": 685, + "offset": 22492, + "line": 728, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x3851270", + "id": "0x7f0da6e91588", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21341, - "line": 684, + "offset": 22454, + "line": 727, "col": 9, "tokLen": 1 }, "end": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 } @@ -10479,67 +11109,67 @@ "adl": true, "inner": [ { - "id": "0x3851258", + "id": "0x7f0da6e91570", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 }, "end": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3851238", + "id": "0x7f0da6e91550", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 }, "end": { - "offset": 21343, + "offset": 22456, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38504d0", + "id": "0x7f0da6e90330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21341, + "offset": 22454, "col": 9, "tokLen": 1 }, "end": { - "offset": 21341, + "offset": 22454, "col": 9, "tokLen": 1 } @@ -10547,11 +11177,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10560,16 +11190,16 @@ } }, { - "id": "0x3851220", + "id": "0x7f0da6e91538", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 }, "end": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 } @@ -10581,16 +11211,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38504f0", + "id": "0x7f0da6e90350", "kind": "StringLiteral", "range": { "begin": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 }, "end": { - "offset": 21346, + "offset": 22459, "col": 14, "tokLen": 10 } @@ -10606,33 +11236,33 @@ ] }, { - "id": "0x3851310", + "id": "0x7f0da6e91628", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21366, - "line": 685, + "offset": 22479, + "line": 728, "col": 9, "tokLen": 6 }, "end": { - "offset": 21379, + "offset": 22492, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38512e0", + "id": "0x7f0da6e915f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21373, + "offset": 22486, "col": 16, "tokLen": 4 }, "end": { - "offset": 21379, + "offset": 22492, "col": 22, "tokLen": 8 } @@ -10642,7 +11272,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a2e0", + "id": "0x2cdc0320", "kind": "EnumConstantDecl", "name": "STANDARD", "type": { @@ -10655,35 +11285,35 @@ ] }, { - "id": "0x3855dc0", + "id": "0x7f0da6e92968", "kind": "IfStmt", "range": { "begin": { - "offset": 21393, - "line": 686, + "offset": 22506, + "line": 729, "col": 5, "tokLen": 2 }, "end": { - "offset": 21431, - "line": 687, + "offset": 22544, + "line": 730, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3855d10", + "id": "0x7f0da6e928b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21397, - "line": 686, + "offset": 22510, + "line": 729, "col": 9, "tokLen": 1 }, "end": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 } @@ -10695,67 +11325,67 @@ "adl": true, "inner": [ { - "id": "0x3855cf8", + "id": "0x7f0da6e928a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 }, "end": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3855cd8", + "id": "0x7f0da6e92880", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 }, "end": { - "offset": 21399, + "offset": 22512, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3851340", + "id": "0x7f0da6e91658", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21397, + "offset": 22510, "col": 9, "tokLen": 1 }, "end": { - "offset": 21397, + "offset": 22510, "col": 9, "tokLen": 1 } @@ -10763,11 +11393,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10776,16 +11406,16 @@ } }, { - "id": "0x3855cc0", + "id": "0x7f0da6e92868", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 }, "end": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 } @@ -10797,16 +11427,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3851360", + "id": "0x7f0da6e91678", "kind": "StringLiteral", "range": { "begin": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 }, "end": { - "offset": 21402, + "offset": 22515, "col": 14, "tokLen": 6 } @@ -10822,33 +11452,33 @@ ] }, { - "id": "0x3855db0", + "id": "0x7f0da6e92958", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21418, - "line": 687, + "offset": 22531, + "line": 730, "col": 9, "tokLen": 6 }, "end": { - "offset": 21431, + "offset": 22544, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3855d80", + "id": "0x7f0da6e92928", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21425, + "offset": 22538, "col": 16, "tokLen": 4 }, "end": { - "offset": 21431, + "offset": 22544, "col": 22, "tokLen": 4 } @@ -10858,7 +11488,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a330", + "id": "0x2cdc0370", "kind": "EnumConstantDecl", "name": "FAST", "type": { @@ -10871,35 +11501,35 @@ ] }, { - "id": "0x3856c30", + "id": "0x7f0da6e93c98", "kind": "IfStmt", "range": { "begin": { - "offset": 21441, - "line": 688, + "offset": 22554, + "line": 731, "col": 5, "tokLen": 2 }, "end": { - "offset": 21483, - "line": 689, + "offset": 22596, + "line": 732, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x3856b80", + "id": "0x7f0da6e93be8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21445, - "line": 688, + "offset": 22558, + "line": 731, "col": 9, "tokLen": 1 }, "end": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 } @@ -10911,67 +11541,67 @@ "adl": true, "inner": [ { - "id": "0x3856b68", + "id": "0x7f0da6e93bd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 }, "end": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3856b48", + "id": "0x7f0da6e93bb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 }, "end": { - "offset": 21447, + "offset": 22560, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3855de0", + "id": "0x7f0da6e92988", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21445, + "offset": 22558, "col": 9, "tokLen": 1 }, "end": { - "offset": 21445, + "offset": 22558, "col": 9, "tokLen": 1 } @@ -10979,11 +11609,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -10992,16 +11622,16 @@ } }, { - "id": "0x3856b30", + "id": "0x7f0da6e93b98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 }, "end": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 } @@ -11013,16 +11643,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3855e00", + "id": "0x7f0da6e929a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 }, "end": { - "offset": 21450, + "offset": 22563, "col": 14, "tokLen": 10 } @@ -11038,33 +11668,33 @@ ] }, { - "id": "0x3856c20", + "id": "0x7f0da6e93c88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21470, - "line": 689, + "offset": 22583, + "line": 732, "col": 9, "tokLen": 6 }, "end": { - "offset": 21483, + "offset": 22596, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x3856bf0", + "id": "0x7f0da6e93c58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21477, + "offset": 22590, "col": 16, "tokLen": 4 }, "end": { - "offset": 21483, + "offset": 22596, "col": 22, "tokLen": 8 } @@ -11074,7 +11704,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a380", + "id": "0x2cdc03c0", "kind": "EnumConstantDecl", "name": "HIGHGAIN", "type": { @@ -11087,35 +11717,35 @@ ] }, { - "id": "0x3857ab0", + "id": "0x7f0da6e94fc8", "kind": "IfStmt", "range": { "begin": { - "offset": 21497, - "line": 690, + "offset": 22610, + "line": 733, "col": 5, "tokLen": 2 }, "end": { - "offset": 21542, - "line": 691, + "offset": 22655, + "line": 734, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x3857a00", + "id": "0x7f0da6e94f18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21501, - "line": 690, + "offset": 22614, + "line": 733, "col": 9, "tokLen": 1 }, "end": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 } @@ -11127,67 +11757,67 @@ "adl": true, "inner": [ { - "id": "0x38579e8", + "id": "0x7f0da6e94f00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 }, "end": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38579c8", + "id": "0x7f0da6e94ee0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 }, "end": { - "offset": 21503, + "offset": 22616, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3856c50", + "id": "0x7f0da6e93cb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21501, + "offset": 22614, "col": 9, "tokLen": 1 }, "end": { - "offset": 21501, + "offset": 22614, "col": 9, "tokLen": 1 } @@ -11195,11 +11825,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11208,16 +11838,16 @@ } }, { - "id": "0x38579b0", + "id": "0x7f0da6e94ec8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 }, "end": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 } @@ -11229,16 +11859,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3856c70", + "id": "0x7f0da6e93cd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 }, "end": { - "offset": 21506, + "offset": 22619, "col": 14, "tokLen": 13 } @@ -11254,33 +11884,33 @@ ] }, { - "id": "0x3857aa0", + "id": "0x7f0da6e94fb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21529, - "line": 691, + "offset": 22642, + "line": 734, "col": 9, "tokLen": 6 }, "end": { - "offset": 21542, + "offset": 22655, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x3857a70", + "id": "0x7f0da6e94f88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21536, + "offset": 22649, "col": 16, "tokLen": 4 }, "end": { - "offset": 21542, + "offset": 22655, "col": 22, "tokLen": 11 } @@ -11290,7 +11920,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a3d0", + "id": "0x2cdc0410", "kind": "EnumConstantDecl", "name": "DYNAMICGAIN", "type": { @@ -11303,35 +11933,35 @@ ] }, { - "id": "0x3858920", + "id": "0x7f0da6e962f8", "kind": "IfStmt", "range": { "begin": { - "offset": 21559, - "line": 692, + "offset": 22672, + "line": 735, "col": 5, "tokLen": 2 }, "end": { - "offset": 21600, - "line": 693, + "offset": 22713, + "line": 736, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x3858870", + "id": "0x7f0da6e96248", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21563, - "line": 692, + "offset": 22676, + "line": 735, "col": 9, "tokLen": 1 }, "end": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 } @@ -11343,67 +11973,67 @@ "adl": true, "inner": [ { - "id": "0x3858858", + "id": "0x7f0da6e96230", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 }, "end": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3858838", + "id": "0x7f0da6e96210", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 }, "end": { - "offset": 21565, + "offset": 22678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3857ad0", + "id": "0x7f0da6e94fe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21563, + "offset": 22676, "col": 9, "tokLen": 1 }, "end": { - "offset": 21563, + "offset": 22676, "col": 9, "tokLen": 1 } @@ -11411,11 +12041,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11424,16 +12054,16 @@ } }, { - "id": "0x3858820", + "id": "0x7f0da6e961f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 }, "end": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 } @@ -11445,16 +12075,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3857af0", + "id": "0x7f0da6e95008", "kind": "StringLiteral", "range": { "begin": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 }, "end": { - "offset": 21568, + "offset": 22681, "col": 14, "tokLen": 9 } @@ -11470,33 +12100,33 @@ ] }, { - "id": "0x3858910", + "id": "0x7f0da6e962e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21587, - "line": 693, + "offset": 22700, + "line": 736, "col": 9, "tokLen": 6 }, "end": { - "offset": 21600, + "offset": 22713, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38588e0", + "id": "0x7f0da6e962b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21594, + "offset": 22707, "col": 16, "tokLen": 4 }, "end": { - "offset": 21600, + "offset": 22713, "col": 22, "tokLen": 7 } @@ -11506,7 +12136,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a420", + "id": "0x2cdc0460", "kind": "EnumConstantDecl", "name": "LOWGAIN", "type": { @@ -11519,35 +12149,35 @@ ] }, { - "id": "0x38597a0", + "id": "0x7f0da6e56638", "kind": "IfStmt", "range": { "begin": { - "offset": 21613, - "line": 694, + "offset": 22726, + "line": 737, "col": 5, "tokLen": 2 }, "end": { - "offset": 21657, - "line": 695, + "offset": 22770, + "line": 738, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38596f0", + "id": "0x7f0da6e56588", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21617, - "line": 694, + "offset": 22730, + "line": 737, "col": 9, "tokLen": 1 }, "end": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 } @@ -11559,67 +12189,67 @@ "adl": true, "inner": [ { - "id": "0x38596d8", + "id": "0x7f0da6e56570", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 }, "end": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38596b8", + "id": "0x7f0da6e56550", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 }, "end": { - "offset": 21619, + "offset": 22732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3858940", + "id": "0x7f0da6e96318", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21617, + "offset": 22730, "col": 9, "tokLen": 1 }, "end": { - "offset": 21617, + "offset": 22730, "col": 9, "tokLen": 1 } @@ -11627,11 +12257,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11640,16 +12270,16 @@ } }, { - "id": "0x38596a0", + "id": "0x7f0da6e56538", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 }, "end": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 } @@ -11661,16 +12291,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3858960", + "id": "0x7f0da6e96338", "kind": "StringLiteral", "range": { "begin": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 }, "end": { - "offset": 21622, + "offset": 22735, "col": 14, "tokLen": 12 } @@ -11686,33 +12316,33 @@ ] }, { - "id": "0x3859790", + "id": "0x7f0da6e56628", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21644, - "line": 695, + "offset": 22757, + "line": 738, "col": 9, "tokLen": 6 }, "end": { - "offset": 21657, + "offset": 22770, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3859760", + "id": "0x7f0da6e565f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21651, + "offset": 22764, "col": 16, "tokLen": 4 }, "end": { - "offset": 21657, + "offset": 22770, "col": 22, "tokLen": 10 } @@ -11722,7 +12352,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a470", + "id": "0x2cdc04b0", "kind": "EnumConstantDecl", "name": "MEDIUMGAIN", "type": { @@ -11735,35 +12365,35 @@ ] }, { - "id": "0x385a620", + "id": "0x7f0da6e57968", "kind": "IfStmt", "range": { "begin": { - "offset": 21673, - "line": 696, + "offset": 22786, + "line": 739, "col": 5, "tokLen": 2 }, "end": { - "offset": 21719, - "line": 697, + "offset": 22832, + "line": 740, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x385a570", + "id": "0x7f0da6e578b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21677, - "line": 696, + "offset": 22790, + "line": 739, "col": 9, "tokLen": 1 }, "end": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 } @@ -11775,67 +12405,67 @@ "adl": true, "inner": [ { - "id": "0x385a558", + "id": "0x7f0da6e578a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 }, "end": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385a538", + "id": "0x7f0da6e57880", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 }, "end": { - "offset": 21679, + "offset": 22792, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38597c0", + "id": "0x7f0da6e56658", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21677, + "offset": 22790, "col": 9, "tokLen": 1 }, "end": { - "offset": 21677, + "offset": 22790, "col": 9, "tokLen": 1 } @@ -11843,11 +12473,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -11856,16 +12486,16 @@ } }, { - "id": "0x385a520", + "id": "0x7f0da6e57868", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 }, "end": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 } @@ -11877,16 +12507,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38597e0", + "id": "0x7f0da6e56678", "kind": "StringLiteral", "range": { "begin": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 }, "end": { - "offset": 21682, + "offset": 22795, "col": 14, "tokLen": 14 } @@ -11902,33 +12532,33 @@ ] }, { - "id": "0x385a610", + "id": "0x7f0da6e57958", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21706, - "line": 697, + "offset": 22819, + "line": 740, "col": 9, "tokLen": 6 }, "end": { - "offset": 21719, + "offset": 22832, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x385a5e0", + "id": "0x7f0da6e57928", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21713, + "offset": 22826, "col": 16, "tokLen": 4 }, "end": { - "offset": 21719, + "offset": 22832, "col": 22, "tokLen": 12 } @@ -11938,7 +12568,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a4c0", + "id": "0x2cdc0500", "kind": "EnumConstantDecl", "name": "VERYHIGHGAIN", "type": { @@ -11951,35 +12581,35 @@ ] }, { - "id": "0x385b4a0", + "id": "0x7f0da6e58c98", "kind": "IfStmt", "range": { "begin": { - "offset": 21737, - "line": 698, + "offset": 22850, + "line": 741, "col": 5, "tokLen": 2 }, "end": { - "offset": 21780, - "line": 699, + "offset": 22893, + "line": 742, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x385b3f0", + "id": "0x7f0da6e58be8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21741, - "line": 698, + "offset": 22854, + "line": 741, "col": 9, "tokLen": 1 }, "end": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 } @@ -11991,67 +12621,67 @@ "adl": true, "inner": [ { - "id": "0x385b3d8", + "id": "0x7f0da6e58bd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 }, "end": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385b3b8", + "id": "0x7f0da6e58bb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 }, "end": { - "offset": 21743, + "offset": 22856, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385a640", + "id": "0x7f0da6e57988", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21741, + "offset": 22854, "col": 9, "tokLen": 1 }, "end": { - "offset": 21741, + "offset": 22854, "col": 9, "tokLen": 1 } @@ -12059,11 +12689,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12072,16 +12702,16 @@ } }, { - "id": "0x385b3a0", + "id": "0x7f0da6e58b98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 }, "end": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 } @@ -12093,16 +12723,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385a660", + "id": "0x7f0da6e579a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 }, "end": { - "offset": 21746, + "offset": 22859, "col": 14, "tokLen": 11 } @@ -12118,33 +12748,33 @@ ] }, { - "id": "0x385b490", + "id": "0x7f0da6e58c88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21767, - "line": 699, + "offset": 22880, + "line": 742, "col": 9, "tokLen": 6 }, "end": { - "offset": 21780, + "offset": 22893, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x385b460", + "id": "0x7f0da6e58c58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21774, + "offset": 22887, "col": 16, "tokLen": 4 }, "end": { - "offset": 21780, + "offset": 22893, "col": 22, "tokLen": 9 } @@ -12154,7 +12784,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a510", + "id": "0x2cdc0550", "kind": "EnumConstantDecl", "name": "HIGHGAIN0", "type": { @@ -12167,35 +12797,35 @@ ] }, { - "id": "0x385c310", + "id": "0x7f0da6e59fc8", "kind": "IfStmt", "range": { "begin": { - "offset": 21795, - "line": 700, + "offset": 22908, + "line": 743, "col": 5, "tokLen": 2 }, "end": { - "offset": 21837, - "line": 701, + "offset": 22950, + "line": 744, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385c260", + "id": "0x7f0da6e59f18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21799, - "line": 700, + "offset": 22912, + "line": 743, "col": 9, "tokLen": 1 }, "end": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 } @@ -12207,67 +12837,67 @@ "adl": true, "inner": [ { - "id": "0x385c248", + "id": "0x7f0da6e59f00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 }, "end": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385c228", + "id": "0x7f0da6e59ee0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 }, "end": { - "offset": 21801, + "offset": 22914, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385b4c0", + "id": "0x7f0da6e58cb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21799, + "offset": 22912, "col": 9, "tokLen": 1 }, "end": { - "offset": 21799, + "offset": 22912, "col": 9, "tokLen": 1 } @@ -12275,11 +12905,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12288,16 +12918,16 @@ } }, { - "id": "0x385c210", + "id": "0x7f0da6e59ec8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 }, "end": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 } @@ -12309,16 +12939,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385b4e0", + "id": "0x7f0da6e58cd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 }, "end": { - "offset": 21804, + "offset": 22917, "col": 14, "tokLen": 10 } @@ -12334,33 +12964,33 @@ ] }, { - "id": "0x385c300", + "id": "0x7f0da6e59fb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21824, - "line": 701, + "offset": 22937, + "line": 744, "col": 9, "tokLen": 6 }, "end": { - "offset": 21837, + "offset": 22950, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385c2d0", + "id": "0x7f0da6e59f88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21831, + "offset": 22944, "col": 16, "tokLen": 4 }, "end": { - "offset": 21837, + "offset": 22950, "col": 22, "tokLen": 8 } @@ -12370,7 +13000,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a560", + "id": "0x2cdc05a0", "kind": "EnumConstantDecl", "name": "FIXGAIN1", "type": { @@ -12383,35 +13013,35 @@ ] }, { - "id": "0x385d180", + "id": "0x7f0da6e5b2f8", "kind": "IfStmt", "range": { "begin": { - "offset": 21851, - "line": 702, + "offset": 22964, + "line": 745, "col": 5, "tokLen": 2 }, "end": { - "offset": 21893, - "line": 703, + "offset": 23006, + "line": 746, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385d0d0", + "id": "0x7f0da6e5b248", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21855, - "line": 702, + "offset": 22968, + "line": 745, "col": 9, "tokLen": 1 }, "end": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 } @@ -12423,67 +13053,67 @@ "adl": true, "inner": [ { - "id": "0x385d0b8", + "id": "0x7f0da6e5b230", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 }, "end": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385d098", + "id": "0x7f0da6e5b210", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 }, "end": { - "offset": 21857, + "offset": 22970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385c330", + "id": "0x7f0da6e59fe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21855, + "offset": 22968, "col": 9, "tokLen": 1 }, "end": { - "offset": 21855, + "offset": 22968, "col": 9, "tokLen": 1 } @@ -12491,11 +13121,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12504,16 +13134,16 @@ } }, { - "id": "0x385d080", + "id": "0x7f0da6e5b1f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 }, "end": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 } @@ -12525,16 +13155,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385c350", + "id": "0x7f0da6e5a008", "kind": "StringLiteral", "range": { "begin": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 }, "end": { - "offset": 21860, + "offset": 22973, "col": 14, "tokLen": 10 } @@ -12550,33 +13180,33 @@ ] }, { - "id": "0x385d170", + "id": "0x7f0da6e5b2e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21880, - "line": 703, + "offset": 22993, + "line": 746, "col": 9, "tokLen": 6 }, "end": { - "offset": 21893, + "offset": 23006, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x385d140", + "id": "0x7f0da6e5b2b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21887, + "offset": 23000, "col": 16, "tokLen": 4 }, "end": { - "offset": 21893, + "offset": 23006, "col": 22, "tokLen": 8 } @@ -12586,7 +13216,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a5b0", + "id": "0x2cdc05f0", "kind": "EnumConstantDecl", "name": "FIXGAIN2", "type": { @@ -12599,35 +13229,35 @@ ] }, { - "id": "0x385e000", + "id": "0x7f0da6e5c628", "kind": "IfStmt", "range": { "begin": { - "offset": 21907, - "line": 704, + "offset": 23020, + "line": 747, "col": 5, "tokLen": 2 }, "end": { - "offset": 21952, - "line": 705, + "offset": 23065, + "line": 748, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385df50", + "id": "0x7f0da6e5c578", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21911, - "line": 704, + "offset": 23024, + "line": 747, "col": 9, "tokLen": 1 }, "end": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 } @@ -12639,67 +13269,67 @@ "adl": true, "inner": [ { - "id": "0x385df38", + "id": "0x7f0da6e5c560", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 }, "end": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385df18", + "id": "0x7f0da6e5c540", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 }, "end": { - "offset": 21913, + "offset": 23026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385d1a0", + "id": "0x7f0da6e5b318", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21911, + "offset": 23024, "col": 9, "tokLen": 1 }, "end": { - "offset": 21911, + "offset": 23024, "col": 9, "tokLen": 1 } @@ -12707,11 +13337,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12720,16 +13350,16 @@ } }, { - "id": "0x385df00", + "id": "0x7f0da6e5c528", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 }, "end": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 } @@ -12741,16 +13371,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385d1c0", + "id": "0x7f0da6e5b338", "kind": "StringLiteral", "range": { "begin": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 }, "end": { - "offset": 21916, + "offset": 23029, "col": 14, "tokLen": 13 } @@ -12766,33 +13396,33 @@ ] }, { - "id": "0x385dff0", + "id": "0x7f0da6e5c618", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21939, - "line": 705, + "offset": 23052, + "line": 748, "col": 9, "tokLen": 6 }, "end": { - "offset": 21952, + "offset": 23065, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385dfc0", + "id": "0x7f0da6e5c5e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21946, + "offset": 23059, "col": 16, "tokLen": 4 }, "end": { - "offset": 21952, + "offset": 23065, "col": 22, "tokLen": 11 } @@ -12802,7 +13432,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a600", + "id": "0x2cdc0640", "kind": "EnumConstantDecl", "name": "VERYLOWGAIN", "type": { @@ -12815,35 +13445,35 @@ ] }, { - "id": "0x385ee70", + "id": "0x7f0da6e5d958", "kind": "IfStmt", "range": { "begin": { - "offset": 21969, - "line": 706, + "offset": 23082, + "line": 749, "col": 5, "tokLen": 2 }, "end": { - "offset": 22008, - "line": 707, + "offset": 23121, + "line": 750, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385edc0", + "id": "0x7f0da6e5d8a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 21973, - "line": 706, + "offset": 23086, + "line": 749, "col": 9, "tokLen": 1 }, "end": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 } @@ -12855,67 +13485,67 @@ "adl": true, "inner": [ { - "id": "0x385eda8", + "id": "0x7f0da6e5d890", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 }, "end": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385ed88", + "id": "0x7f0da6e5d870", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 }, "end": { - "offset": 21975, + "offset": 23088, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385e020", + "id": "0x7f0da6e5c648", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 21973, + "offset": 23086, "col": 9, "tokLen": 1 }, "end": { - "offset": 21973, + "offset": 23086, "col": 9, "tokLen": 1 } @@ -12923,11 +13553,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -12936,16 +13566,16 @@ } }, { - "id": "0x385ed70", + "id": "0x7f0da6e5d858", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 }, "end": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 } @@ -12957,16 +13587,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385e040", + "id": "0x7f0da6e5c668", "kind": "StringLiteral", "range": { "begin": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 }, "end": { - "offset": 21978, + "offset": 23091, "col": 14, "tokLen": 7 } @@ -12982,33 +13612,33 @@ ] }, { - "id": "0x385ee60", + "id": "0x7f0da6e5d948", "kind": "ReturnStmt", "range": { "begin": { - "offset": 21995, - "line": 707, + "offset": 23108, + "line": 750, "col": 9, "tokLen": 6 }, "end": { - "offset": 22008, + "offset": 23121, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x385ee30", + "id": "0x7f0da6e5d918", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22002, + "offset": 23115, "col": 16, "tokLen": 4 }, "end": { - "offset": 22008, + "offset": 23121, "col": 22, "tokLen": 11 } @@ -13018,7 +13648,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a650", + "id": "0x2cdc0690", "kind": "EnumConstantDecl", "name": "G1_HIGHGAIN", "type": { @@ -13031,35 +13661,35 @@ ] }, { - "id": "0x385fce0", + "id": "0x7f0da6e5ec88", "kind": "IfStmt", "range": { "begin": { - "offset": 22025, - "line": 708, + "offset": 23138, + "line": 751, "col": 5, "tokLen": 2 }, "end": { - "offset": 22064, - "line": 709, + "offset": 23177, + "line": 752, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x385fc30", + "id": "0x7f0da6e5ebd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22029, - "line": 708, + "offset": 23142, + "line": 751, "col": 9, "tokLen": 1 }, "end": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 } @@ -13071,67 +13701,67 @@ "adl": true, "inner": [ { - "id": "0x385fc18", + "id": "0x7f0da6e5ebc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 }, "end": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x385fbf8", + "id": "0x7f0da6e5eba0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 }, "end": { - "offset": 22031, + "offset": 23144, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385ee90", + "id": "0x7f0da6e5d978", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22029, + "offset": 23142, "col": 9, "tokLen": 1 }, "end": { - "offset": 22029, + "offset": 23142, "col": 9, "tokLen": 1 } @@ -13139,11 +13769,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13152,16 +13782,16 @@ } }, { - "id": "0x385fbe0", + "id": "0x7f0da6e5eb88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 }, "end": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 } @@ -13173,16 +13803,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385eeb0", + "id": "0x7f0da6e5d998", "kind": "StringLiteral", "range": { "begin": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 }, "end": { - "offset": 22034, + "offset": 23147, "col": 14, "tokLen": 7 } @@ -13198,33 +13828,33 @@ ] }, { - "id": "0x385fcd0", + "id": "0x7f0da6e5ec78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22051, - "line": 709, + "offset": 23164, + "line": 752, "col": 9, "tokLen": 6 }, "end": { - "offset": 22064, + "offset": 23177, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x385fca0", + "id": "0x7f0da6e5ec48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22058, + "offset": 23171, "col": 16, "tokLen": 4 }, "end": { - "offset": 22064, + "offset": 23177, "col": 22, "tokLen": 10 } @@ -13234,7 +13864,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a6a0", + "id": "0x2cdc06e0", "kind": "EnumConstantDecl", "name": "G1_LOWGAIN", "type": { @@ -13247,35 +13877,35 @@ ] }, { - "id": "0x3860b50", + "id": "0x7f0da6e5ffb8", "kind": "IfStmt", "range": { "begin": { - "offset": 22080, - "line": 710, + "offset": 23193, + "line": 753, "col": 5, "tokLen": 2 }, "end": { - "offset": 22122, - "line": 711, + "offset": 23235, + "line": 754, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x3860aa0", + "id": "0x7f0da6e5ff08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22084, - "line": 710, + "offset": 23197, + "line": 753, "col": 9, "tokLen": 1 }, "end": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 } @@ -13287,67 +13917,67 @@ "adl": true, "inner": [ { - "id": "0x3860a88", + "id": "0x7f0da6e5fef0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 }, "end": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3860a68", + "id": "0x7f0da6e5fed0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 }, "end": { - "offset": 22086, + "offset": 23199, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x385fd00", + "id": "0x7f0da6e5eca8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22084, + "offset": 23197, "col": 9, "tokLen": 1 }, "end": { - "offset": 22084, + "offset": 23197, "col": 9, "tokLen": 1 } @@ -13355,11 +13985,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13368,16 +13998,16 @@ } }, { - "id": "0x3860a50", + "id": "0x7f0da6e5feb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 }, "end": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 } @@ -13389,16 +14019,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x385fd20", + "id": "0x7f0da6e5ecc8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 }, "end": { - "offset": 22089, + "offset": 23202, "col": 14, "tokLen": 10 } @@ -13414,33 +14044,33 @@ ] }, { - "id": "0x3860b40", + "id": "0x7f0da6e5ffa8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22109, - "line": 711, + "offset": 23222, + "line": 754, "col": 9, "tokLen": 6 }, "end": { - "offset": 22122, + "offset": 23235, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x3860b10", + "id": "0x7f0da6e5ff78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22116, + "offset": 23229, "col": 16, "tokLen": 4 }, "end": { - "offset": 22122, + "offset": 23235, "col": 22, "tokLen": 19 } @@ -13450,7 +14080,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a6f0", + "id": "0x2cdc0730", "kind": "EnumConstantDecl", "name": "G2_HIGHCAP_HIGHGAIN", "type": { @@ -13463,35 +14093,35 @@ ] }, { - "id": "0x38619c0", + "id": "0x7f0da6e612e8", "kind": "IfStmt", "range": { "begin": { - "offset": 22147, - "line": 712, + "offset": 23260, + "line": 755, "col": 5, "tokLen": 2 }, "end": { - "offset": 22189, - "line": 713, + "offset": 23302, + "line": 756, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3861910", + "id": "0x7f0da6e61238", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22151, - "line": 712, + "offset": 23264, + "line": 755, "col": 9, "tokLen": 1 }, "end": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 } @@ -13503,67 +14133,67 @@ "adl": true, "inner": [ { - "id": "0x38618f8", + "id": "0x7f0da6e61220", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 }, "end": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38618d8", + "id": "0x7f0da6e61200", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 }, "end": { - "offset": 22153, + "offset": 23266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3860b70", + "id": "0x7f0da6e5ffd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22151, + "offset": 23264, "col": 9, "tokLen": 1 }, "end": { - "offset": 22151, + "offset": 23264, "col": 9, "tokLen": 1 } @@ -13571,11 +14201,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13584,16 +14214,16 @@ } }, { - "id": "0x38618c0", + "id": "0x7f0da6e611e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 }, "end": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 } @@ -13605,16 +14235,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3860b90", + "id": "0x7f0da6e5fff8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 }, "end": { - "offset": 22156, + "offset": 23269, "col": 14, "tokLen": 10 } @@ -13630,33 +14260,33 @@ ] }, { - "id": "0x38619b0", + "id": "0x7f0da6e612d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22176, - "line": 713, + "offset": 23289, + "line": 756, "col": 9, "tokLen": 6 }, "end": { - "offset": 22189, + "offset": 23302, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3861980", + "id": "0x7f0da6e612a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22183, + "offset": 23296, "col": 16, "tokLen": 4 }, "end": { - "offset": 22189, + "offset": 23302, "col": 22, "tokLen": 18 } @@ -13666,7 +14296,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a740", + "id": "0x2cdc0780", "kind": "EnumConstantDecl", "name": "G2_HIGHCAP_LOWGAIN", "type": { @@ -13679,35 +14309,35 @@ ] }, { - "id": "0x3862830", + "id": "0x7f0da6e62618", "kind": "IfStmt", "range": { "begin": { - "offset": 22213, - "line": 714, + "offset": 23326, + "line": 757, "col": 5, "tokLen": 2 }, "end": { - "offset": 22255, - "line": 715, + "offset": 23368, + "line": 758, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3862780", + "id": "0x7f0da6e62568", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22217, - "line": 714, + "offset": 23330, + "line": 757, "col": 9, "tokLen": 1 }, "end": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 } @@ -13719,67 +14349,67 @@ "adl": true, "inner": [ { - "id": "0x3862768", + "id": "0x7f0da6e62550", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 }, "end": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3862748", + "id": "0x7f0da6e62530", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 }, "end": { - "offset": 22219, + "offset": 23332, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38619e0", + "id": "0x7f0da6e61308", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22217, + "offset": 23330, "col": 9, "tokLen": 1 }, "end": { - "offset": 22217, + "offset": 23330, "col": 9, "tokLen": 1 } @@ -13787,11 +14417,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -13800,16 +14430,16 @@ } }, { - "id": "0x3862730", + "id": "0x7f0da6e62518", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 }, "end": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 } @@ -13821,16 +14451,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3861a00", + "id": "0x7f0da6e61328", "kind": "StringLiteral", "range": { "begin": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 }, "end": { - "offset": 22222, + "offset": 23335, "col": 14, "tokLen": 10 } @@ -13846,33 +14476,33 @@ ] }, { - "id": "0x3862820", + "id": "0x7f0da6e62608", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22242, - "line": 715, + "offset": 23355, + "line": 758, "col": 9, "tokLen": 6 }, "end": { - "offset": 22255, + "offset": 23368, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x38627f0", + "id": "0x7f0da6e625d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22249, + "offset": 23362, "col": 16, "tokLen": 4 }, "end": { - "offset": 22255, + "offset": 23368, "col": 22, "tokLen": 18 } @@ -13882,7 +14512,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a790", + "id": "0x2cdc07d0", "kind": "EnumConstantDecl", "name": "G2_LOWCAP_HIGHGAIN", "type": { @@ -13895,35 +14525,35 @@ ] }, { - "id": "0x38636a0", + "id": "0x7f0da6e63948", "kind": "IfStmt", "range": { "begin": { - "offset": 22279, - "line": 716, + "offset": 23392, + "line": 759, "col": 5, "tokLen": 2 }, "end": { - "offset": 22321, - "line": 717, + "offset": 23434, + "line": 760, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x38635f0", + "id": "0x7f0da6e63898", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22283, - "line": 716, + "offset": 23396, + "line": 759, "col": 9, "tokLen": 1 }, "end": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 } @@ -13935,67 +14565,67 @@ "adl": true, "inner": [ { - "id": "0x38635d8", + "id": "0x7f0da6e63880", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 }, "end": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38635b8", + "id": "0x7f0da6e63860", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 }, "end": { - "offset": 22285, + "offset": 23398, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3862850", + "id": "0x7f0da6e62638", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22283, + "offset": 23396, "col": 9, "tokLen": 1 }, "end": { - "offset": 22283, + "offset": 23396, "col": 9, "tokLen": 1 } @@ -14003,11 +14633,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14016,16 +14646,16 @@ } }, { - "id": "0x38635a0", + "id": "0x7f0da6e63848", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 }, "end": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 } @@ -14037,16 +14667,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3862870", + "id": "0x7f0da6e62658", "kind": "StringLiteral", "range": { "begin": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 }, "end": { - "offset": 22288, + "offset": 23401, "col": 14, "tokLen": 10 } @@ -14062,33 +14692,33 @@ ] }, { - "id": "0x3863690", + "id": "0x7f0da6e63938", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22308, - "line": 717, + "offset": 23421, + "line": 760, "col": 9, "tokLen": 6 }, "end": { - "offset": 22321, + "offset": 23434, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x3863660", + "id": "0x7f0da6e63908", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22315, + "offset": 23428, "col": 16, "tokLen": 4 }, "end": { - "offset": 22321, + "offset": 23434, "col": 22, "tokLen": 17 } @@ -14098,7 +14728,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a7e0", + "id": "0x2cdc0820", "kind": "EnumConstantDecl", "name": "G2_LOWCAP_LOWGAIN", "type": { @@ -14111,35 +14741,35 @@ ] }, { - "id": "0x3864510", + "id": "0x7f0da6e64c78", "kind": "IfStmt", "range": { "begin": { - "offset": 22344, - "line": 718, + "offset": 23457, + "line": 761, "col": 5, "tokLen": 2 }, "end": { - "offset": 22383, - "line": 719, + "offset": 23496, + "line": 762, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x3864460", + "id": "0x7f0da6e64bc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22348, - "line": 718, + "offset": 23461, + "line": 761, "col": 9, "tokLen": 1 }, "end": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 } @@ -14151,67 +14781,67 @@ "adl": true, "inner": [ { - "id": "0x3864448", + "id": "0x7f0da6e64bb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 }, "end": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3864428", + "id": "0x7f0da6e64b90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 }, "end": { - "offset": 22350, + "offset": 23463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38636c0", + "id": "0x7f0da6e63968", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22348, + "offset": 23461, "col": 9, "tokLen": 1 }, "end": { - "offset": 22348, + "offset": 23461, "col": 9, "tokLen": 1 } @@ -14219,11 +14849,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14232,16 +14862,16 @@ } }, { - "id": "0x3864410", + "id": "0x7f0da6e64b78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 }, "end": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 } @@ -14253,16 +14883,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38636e0", + "id": "0x7f0da6e63988", "kind": "StringLiteral", "range": { "begin": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 }, "end": { - "offset": 22353, + "offset": 23466, "col": 14, "tokLen": 7 } @@ -14278,33 +14908,33 @@ ] }, { - "id": "0x3864500", + "id": "0x7f0da6e64c68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22370, - "line": 719, + "offset": 23483, + "line": 762, "col": 9, "tokLen": 6 }, "end": { - "offset": 22383, + "offset": 23496, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38644d0", + "id": "0x7f0da6e64c38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22377, + "offset": 23490, "col": 16, "tokLen": 4 }, "end": { - "offset": 22383, + "offset": 23496, "col": 22, "tokLen": 11 } @@ -14314,7 +14944,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a830", + "id": "0x2cdc0870", "kind": "EnumConstantDecl", "name": "G4_HIGHGAIN", "type": { @@ -14327,35 +14957,35 @@ ] }, { - "id": "0x3865390", + "id": "0x7f0da6e65fa8", "kind": "IfStmt", "range": { "begin": { - "offset": 22400, - "line": 720, + "offset": 23513, + "line": 763, "col": 5, "tokLen": 2 }, "end": { - "offset": 22439, - "line": 721, + "offset": 23552, + "line": 764, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38652e0", + "id": "0x7f0da6e65ef8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22404, - "line": 720, + "offset": 23517, + "line": 763, "col": 9, "tokLen": 1 }, "end": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 } @@ -14367,67 +14997,67 @@ "adl": true, "inner": [ { - "id": "0x38652c8", + "id": "0x7f0da6e65ee0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 }, "end": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38652a8", + "id": "0x7f0da6e65ec0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 }, "end": { - "offset": 22406, + "offset": 23519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3864530", + "id": "0x7f0da6e64c98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22404, + "offset": 23517, "col": 9, "tokLen": 1 }, "end": { - "offset": 22404, + "offset": 23517, "col": 9, "tokLen": 1 } @@ -14435,11 +15065,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14448,16 +15078,16 @@ } }, { - "id": "0x3865290", + "id": "0x7f0da6e65ea8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 }, "end": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 } @@ -14469,16 +15099,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3864550", + "id": "0x7f0da6e64cb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 }, "end": { - "offset": 22409, + "offset": 23522, "col": 14, "tokLen": 7 } @@ -14494,33 +15124,33 @@ ] }, { - "id": "0x3865380", + "id": "0x7f0da6e65f98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22426, - "line": 721, + "offset": 23539, + "line": 764, "col": 9, "tokLen": 6 }, "end": { - "offset": 22439, + "offset": 23552, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3865350", + "id": "0x7f0da6e65f68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22433, + "offset": 23546, "col": 16, "tokLen": 4 }, "end": { - "offset": 22439, + "offset": 23552, "col": 22, "tokLen": 5 } @@ -14530,7 +15160,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a8d0", + "id": "0x2cdc0910", "kind": "EnumConstantDecl", "name": "GAIN0", "type": { @@ -14543,35 +15173,35 @@ ] }, { - "id": "0x3866200", + "id": "0x7f0da6e672d8", "kind": "IfStmt", "range": { "begin": { - "offset": 22450, - "line": 722, + "offset": 23563, + "line": 765, "col": 5, "tokLen": 2 }, "end": { - "offset": 22489, - "line": 723, + "offset": 23602, + "line": 766, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3866150", + "id": "0x7f0da6e67228", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22454, - "line": 722, + "offset": 23567, + "line": 765, "col": 9, "tokLen": 1 }, "end": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 } @@ -14583,67 +15213,67 @@ "adl": true, "inner": [ { - "id": "0x3866138", + "id": "0x7f0da6e67210", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 }, "end": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3866118", + "id": "0x7f0da6e671f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 }, "end": { - "offset": 22456, + "offset": 23569, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38653b0", + "id": "0x7f0da6e65fc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22454, + "offset": 23567, "col": 9, "tokLen": 1 }, "end": { - "offset": 22454, + "offset": 23567, "col": 9, "tokLen": 1 } @@ -14651,11 +15281,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -14664,16 +15294,16 @@ } }, { - "id": "0x3866100", + "id": "0x7f0da6e671d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 }, "end": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 } @@ -14685,16 +15315,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38653d0", + "id": "0x7f0da6e65fe8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 }, "end": { - "offset": 22459, + "offset": 23572, "col": 14, "tokLen": 7 } @@ -14710,33 +15340,33 @@ ] }, { - "id": "0x38661f0", + "id": "0x7f0da6e672c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22476, - "line": 723, + "offset": 23589, + "line": 766, "col": 9, "tokLen": 6 }, "end": { - "offset": 22489, + "offset": 23602, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38661c0", + "id": "0x7f0da6e67298", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22483, + "offset": 23596, "col": 16, "tokLen": 4 }, "end": { - "offset": 22489, + "offset": 23602, "col": 22, "tokLen": 10 } @@ -14746,7 +15376,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a880", + "id": "0x2cdc08c0", "kind": "EnumConstantDecl", "name": "G4_LOWGAIN", "type": { @@ -14759,17 +15389,17 @@ ] }, { - "id": "0x3866808", + "id": "0x7f0da6e67960", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 22505, - "line": 724, + "offset": 23618, + "line": 767, "col": 5, "tokLen": 5 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } @@ -14781,16 +15411,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38667f0", + "id": "0x7f0da6e67948", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 22505, + "offset": 23618, "col": 5, "tokLen": 5 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } @@ -14801,74 +15431,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38667c0", + "id": "0x7f0da6e67918", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38667a8", + "id": "0x7f0da6e67900", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3866780", + "id": "0x7f0da6e678d8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -14877,27 +15510,28 @@ }, "inner": [ { - "id": "0x3866760", + "id": "0x7f0da6e678b8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3866758", + "temp": "0x7f0da6e678b0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -14906,22 +15540,23 @@ }, "inner": [ { - "id": "0x3866728", + "id": "0x7f0da6e67880", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 22511, + "offset": 23624, "col": 11, "tokLen": 12 }, "end": { - "offset": 22546, + "offset": 23659, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -14931,73 +15566,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3866710", + "id": "0x7f0da6e67868", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38666f8", + "id": "0x7f0da6e67850", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38666d8", + "id": "0x7f0da6e67830", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38666d0", + "temp": "0x7f0da6e67828", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -15006,89 +15641,89 @@ }, "inner": [ { - "id": "0x3866698", + "id": "0x7f0da6e677f0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3866680", + "id": "0x7f0da6e677d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 }, "end": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3866660", + "id": "0x7f0da6e677b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 }, "end": { - "offset": 22543, + "offset": 23656, "col": 43, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3866648", + "id": "0x7f0da6e677a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 } @@ -15100,16 +15735,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3866230", + "id": "0x7f0da6e67308", "kind": "StringLiteral", "range": { "begin": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 }, "end": { - "offset": 22524, + "offset": 23637, "col": 24, "tokLen": 18 } @@ -15123,16 +15758,16 @@ ] }, { - "id": "0x3866258", + "id": "0x7f0da6e67330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 }, "end": { - "offset": 22545, + "offset": 23658, "col": 45, "tokLen": 1 } @@ -15140,11 +15775,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3850240", + "id": "0x7f0da6e90078", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15179,29 +15814,29 @@ ] }, { - "id": "0x3866a58", + "id": "0x7f0da6e67ba8", "kind": "FunctionDecl", "loc": { - "offset": 22581, + "offset": 23694, "file": "ToString.cpp", - "line": 727, + "line": 770, "col": 30, "tokLen": 8 }, "range": { "begin": { - "offset": 22552, + "offset": 23665, "col": 1, "tokLen": 8 }, "end": { - "offset": 23106, - "line": 745, + "offset": 24219, + "line": 788, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3688c48", + "previousDecl": "0x2d376488", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10speedLevelEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -15215,13 +15850,13 @@ }, "inner": [ { - "id": "0x2f5af70", + "id": "0x2cdc0fb0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::speedLevel" }, "decl": { - "id": "0x2f5aec8", + "id": "0x2cdc0f08", "kind": "EnumDecl", "name": "speedLevel" } @@ -15229,22 +15864,22 @@ ] }, { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "loc": { - "offset": 22609, - "line": 727, + "offset": 23722, + "line": 770, "col": 58, "tokLen": 1 }, "range": { "begin": { - "offset": 22590, + "offset": 23703, "col": 39, "tokLen": 5 }, "end": { - "offset": 22609, + "offset": 23722, "col": 58, "tokLen": 1 } @@ -15256,52 +15891,52 @@ } }, { - "id": "0x386e5c0", + "id": "0x7f0da6e71d98", "kind": "CompoundStmt", "range": { "begin": { - "offset": 22612, + "offset": 23725, "col": 61, "tokLen": 1 }, "end": { - "offset": 23106, - "line": 745, + "offset": 24219, + "line": 788, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3867a70", + "id": "0x7f0da6e690a8", "kind": "IfStmt", "range": { "begin": { - "offset": 22618, - "line": 728, + "offset": 23731, + "line": 771, "col": 5, "tokLen": 2 }, "end": { - "offset": 22662, - "line": 729, + "offset": 23775, + "line": 772, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38679c0", + "id": "0x7f0da6e68ff8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22622, - "line": 728, + "offset": 23735, + "line": 771, "col": 9, "tokLen": 1 }, "end": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 } @@ -15313,67 +15948,67 @@ "adl": true, "inner": [ { - "id": "0x38679a8", + "id": "0x7f0da6e68fe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 }, "end": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3867988", + "id": "0x7f0da6e68fc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 }, "end": { - "offset": 22624, + "offset": 23737, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3866c10", + "id": "0x7f0da6e67d90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22622, + "offset": 23735, "col": 9, "tokLen": 1 }, "end": { - "offset": 22622, + "offset": 23735, "col": 9, "tokLen": 1 } @@ -15381,11 +16016,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15394,16 +16029,16 @@ } }, { - "id": "0x3867970", + "id": "0x7f0da6e68fa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 }, "end": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 } @@ -15415,16 +16050,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3866c30", + "id": "0x7f0da6e67db0", "kind": "StringLiteral", "range": { "begin": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 }, "end": { - "offset": 22627, + "offset": 23740, "col": 14, "tokLen": 12 } @@ -15440,33 +16075,33 @@ ] }, { - "id": "0x3867a60", + "id": "0x7f0da6e69098", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22649, - "line": 729, + "offset": 23762, + "line": 772, "col": 9, "tokLen": 6 }, "end": { - "offset": 22662, + "offset": 23775, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3867a30", + "id": "0x7f0da6e69068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22656, + "offset": 23769, "col": 16, "tokLen": 4 }, "end": { - "offset": 22662, + "offset": 23775, "col": 22, "tokLen": 10 } @@ -15476,7 +16111,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5af90", + "id": "0x2cdc0fd0", "kind": "EnumConstantDecl", "name": "FULL_SPEED", "type": { @@ -15489,35 +16124,35 @@ ] }, { - "id": "0x38688e0", + "id": "0x7f0da6e6a3d8", "kind": "IfStmt", "range": { "begin": { - "offset": 22678, - "line": 730, + "offset": 23791, + "line": 773, "col": 5, "tokLen": 2 }, "end": { - "offset": 22713, - "line": 731, + "offset": 23826, + "line": 774, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3868830", + "id": "0x7f0da6e6a328", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22682, - "line": 730, + "offset": 23795, + "line": 773, "col": 9, "tokLen": 1 }, "end": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 } @@ -15529,67 +16164,67 @@ "adl": true, "inner": [ { - "id": "0x3868818", + "id": "0x7f0da6e6a310", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 }, "end": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38687f8", + "id": "0x7f0da6e6a2f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 }, "end": { - "offset": 22684, + "offset": 23797, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3867a90", + "id": "0x7f0da6e690c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22682, + "offset": 23795, "col": 9, "tokLen": 1 }, "end": { - "offset": 22682, + "offset": 23795, "col": 9, "tokLen": 1 } @@ -15597,11 +16232,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15610,16 +16245,16 @@ } }, { - "id": "0x38687e0", + "id": "0x7f0da6e6a2d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 }, "end": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 } @@ -15631,16 +16266,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3867ab0", + "id": "0x7f0da6e690e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 }, "end": { - "offset": 22687, + "offset": 23800, "col": 14, "tokLen": 3 } @@ -15656,33 +16291,33 @@ ] }, { - "id": "0x38688d0", + "id": "0x7f0da6e6a3c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22700, - "line": 731, + "offset": 23813, + "line": 774, "col": 9, "tokLen": 6 }, "end": { - "offset": 22713, + "offset": 23826, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38688a0", + "id": "0x7f0da6e6a398", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22707, + "offset": 23820, "col": 16, "tokLen": 4 }, "end": { - "offset": 22713, + "offset": 23826, "col": 22, "tokLen": 10 } @@ -15692,7 +16327,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5af90", + "id": "0x2cdc0fd0", "kind": "EnumConstantDecl", "name": "FULL_SPEED", "type": { @@ -15705,35 +16340,35 @@ ] }, { - "id": "0x3869760", + "id": "0x7f0da6e6b708", "kind": "IfStmt", "range": { "begin": { - "offset": 22729, - "line": 732, + "offset": 23842, + "line": 775, "col": 5, "tokLen": 2 }, "end": { - "offset": 22773, - "line": 733, + "offset": 23886, + "line": 776, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38696b0", + "id": "0x7f0da6e6b658", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22733, - "line": 732, + "offset": 23846, + "line": 775, "col": 9, "tokLen": 1 }, "end": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 } @@ -15745,67 +16380,67 @@ "adl": true, "inner": [ { - "id": "0x3869698", + "id": "0x7f0da6e6b640", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 }, "end": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3869678", + "id": "0x7f0da6e6b620", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 }, "end": { - "offset": 22735, + "offset": 23848, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3868900", + "id": "0x7f0da6e6a3f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22733, + "offset": 23846, "col": 9, "tokLen": 1 }, "end": { - "offset": 22733, + "offset": 23846, "col": 9, "tokLen": 1 } @@ -15813,11 +16448,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -15826,16 +16461,16 @@ } }, { - "id": "0x3869660", + "id": "0x7f0da6e6b608", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 }, "end": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 } @@ -15847,16 +16482,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3868920", + "id": "0x7f0da6e6a418", "kind": "StringLiteral", "range": { "begin": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 }, "end": { - "offset": 22738, + "offset": 23851, "col": 14, "tokLen": 12 } @@ -15872,33 +16507,33 @@ ] }, { - "id": "0x3869750", + "id": "0x7f0da6e6b6f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22760, - "line": 733, + "offset": 23873, + "line": 776, "col": 9, "tokLen": 6 }, "end": { - "offset": 22773, + "offset": 23886, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3869720", + "id": "0x7f0da6e6b6c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22767, + "offset": 23880, "col": 16, "tokLen": 4 }, "end": { - "offset": 22773, + "offset": 23886, "col": 22, "tokLen": 10 } @@ -15908,7 +16543,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5afe0", + "id": "0x2cdc1020", "kind": "EnumConstantDecl", "name": "HALF_SPEED", "type": { @@ -15921,35 +16556,35 @@ ] }, { - "id": "0x386a5d0", + "id": "0x7f0da6e6ca38", "kind": "IfStmt", "range": { "begin": { - "offset": 22789, - "line": 734, + "offset": 23902, + "line": 777, "col": 5, "tokLen": 2 }, "end": { - "offset": 22824, - "line": 735, + "offset": 23937, + "line": 778, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x386a520", + "id": "0x7f0da6e6c988", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22793, - "line": 734, + "offset": 23906, + "line": 777, "col": 9, "tokLen": 1 }, "end": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 } @@ -15961,67 +16596,67 @@ "adl": true, "inner": [ { - "id": "0x386a508", + "id": "0x7f0da6e6c970", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 }, "end": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386a4e8", + "id": "0x7f0da6e6c950", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 }, "end": { - "offset": 22795, + "offset": 23908, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3869780", + "id": "0x7f0da6e6b728", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22793, + "offset": 23906, "col": 9, "tokLen": 1 }, "end": { - "offset": 22793, + "offset": 23906, "col": 9, "tokLen": 1 } @@ -16029,11 +16664,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16042,16 +16677,16 @@ } }, { - "id": "0x386a4d0", + "id": "0x7f0da6e6c938", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 }, "end": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 } @@ -16063,16 +16698,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38697a0", + "id": "0x7f0da6e6b748", "kind": "StringLiteral", "range": { "begin": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 }, "end": { - "offset": 22798, + "offset": 23911, "col": 14, "tokLen": 3 } @@ -16088,33 +16723,33 @@ ] }, { - "id": "0x386a5c0", + "id": "0x7f0da6e6ca28", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22811, - "line": 735, + "offset": 23924, + "line": 778, "col": 9, "tokLen": 6 }, "end": { - "offset": 22824, + "offset": 23937, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x386a590", + "id": "0x7f0da6e6c9f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22818, + "offset": 23931, "col": 16, "tokLen": 4 }, "end": { - "offset": 22824, + "offset": 23937, "col": 22, "tokLen": 10 } @@ -16124,7 +16759,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5afe0", + "id": "0x2cdc1020", "kind": "EnumConstantDecl", "name": "HALF_SPEED", "type": { @@ -16137,35 +16772,35 @@ ] }, { - "id": "0x386b450", + "id": "0x7f0da6e6dd68", "kind": "IfStmt", "range": { "begin": { - "offset": 22840, - "line": 736, + "offset": 23953, + "line": 779, "col": 5, "tokLen": 2 }, "end": { - "offset": 22887, - "line": 737, + "offset": 24000, + "line": 780, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386b3a0", + "id": "0x7f0da6e6dcb8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22844, - "line": 736, + "offset": 23957, + "line": 779, "col": 9, "tokLen": 1 }, "end": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 } @@ -16177,67 +16812,67 @@ "adl": true, "inner": [ { - "id": "0x386b388", + "id": "0x7f0da6e6dca0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 }, "end": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386b368", + "id": "0x7f0da6e6dc80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 }, "end": { - "offset": 22846, + "offset": 23959, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386a5f0", + "id": "0x7f0da6e6ca58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22844, + "offset": 23957, "col": 9, "tokLen": 1 }, "end": { - "offset": 22844, + "offset": 23957, "col": 9, "tokLen": 1 } @@ -16245,11 +16880,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16258,16 +16893,16 @@ } }, { - "id": "0x386b350", + "id": "0x7f0da6e6dc68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 }, "end": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 } @@ -16279,16 +16914,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386a610", + "id": "0x7f0da6e6ca78", "kind": "StringLiteral", "range": { "begin": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 }, "end": { - "offset": 22849, + "offset": 23962, "col": 14, "tokLen": 15 } @@ -16304,33 +16939,33 @@ ] }, { - "id": "0x386b440", + "id": "0x7f0da6e6dd58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22874, - "line": 737, + "offset": 23987, + "line": 780, "col": 9, "tokLen": 6 }, "end": { - "offset": 22887, + "offset": 24000, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386b410", + "id": "0x7f0da6e6dd28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22881, + "offset": 23994, "col": 16, "tokLen": 4 }, "end": { - "offset": 22887, + "offset": 24000, "col": 22, "tokLen": 13 } @@ -16340,7 +16975,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b030", + "id": "0x2cdc1070", "kind": "EnumConstantDecl", "name": "QUARTER_SPEED", "type": { @@ -16353,35 +16988,35 @@ ] }, { - "id": "0x386c2c0", + "id": "0x7f0da6e6f098", "kind": "IfStmt", "range": { "begin": { - "offset": 22906, - "line": 738, + "offset": 24019, + "line": 781, "col": 5, "tokLen": 2 }, "end": { - "offset": 22941, - "line": 739, + "offset": 24054, + "line": 782, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386c210", + "id": "0x7f0da6e6efe8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22910, - "line": 738, + "offset": 24023, + "line": 781, "col": 9, "tokLen": 1 }, "end": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 } @@ -16393,67 +17028,67 @@ "adl": true, "inner": [ { - "id": "0x386c1f8", + "id": "0x7f0da6e6efd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 }, "end": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386c1d8", + "id": "0x7f0da6e6efb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 }, "end": { - "offset": 22912, + "offset": 24025, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386b470", + "id": "0x7f0da6e6dd88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22910, + "offset": 24023, "col": 9, "tokLen": 1 }, "end": { - "offset": 22910, + "offset": 24023, "col": 9, "tokLen": 1 } @@ -16461,11 +17096,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16474,16 +17109,16 @@ } }, { - "id": "0x386c1c0", + "id": "0x7f0da6e6ef98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 }, "end": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 } @@ -16495,16 +17130,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386b490", + "id": "0x7f0da6e6dda8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 }, "end": { - "offset": 22915, + "offset": 24028, "col": 14, "tokLen": 3 } @@ -16520,33 +17155,33 @@ ] }, { - "id": "0x386c2b0", + "id": "0x7f0da6e6f088", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22928, - "line": 739, + "offset": 24041, + "line": 782, "col": 9, "tokLen": 6 }, "end": { - "offset": 22941, + "offset": 24054, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x386c280", + "id": "0x7f0da6e6f058", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22935, + "offset": 24048, "col": 16, "tokLen": 4 }, "end": { - "offset": 22941, + "offset": 24054, "col": 22, "tokLen": 13 } @@ -16556,7 +17191,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b030", + "id": "0x2cdc1070", "kind": "EnumConstantDecl", "name": "QUARTER_SPEED", "type": { @@ -16569,35 +17204,35 @@ ] }, { - "id": "0x386d130", + "id": "0x7f0da6e703c8", "kind": "IfStmt", "range": { "begin": { - "offset": 22960, - "line": 740, + "offset": 24073, + "line": 783, "col": 5, "tokLen": 2 }, "end": { - "offset": 22997, - "line": 741, + "offset": 24110, + "line": 784, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386d080", + "id": "0x7f0da6e70318", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 22964, - "line": 740, + "offset": 24077, + "line": 783, "col": 9, "tokLen": 1 }, "end": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 } @@ -16609,67 +17244,67 @@ "adl": true, "inner": [ { - "id": "0x386d068", + "id": "0x7f0da6e70300", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 }, "end": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386d048", + "id": "0x7f0da6e702e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 }, "end": { - "offset": 22966, + "offset": 24079, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386c2e0", + "id": "0x7f0da6e6f0b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22964, + "offset": 24077, "col": 9, "tokLen": 1 }, "end": { - "offset": 22964, + "offset": 24077, "col": 9, "tokLen": 1 } @@ -16677,11 +17312,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16690,16 +17325,16 @@ } }, { - "id": "0x386d030", + "id": "0x7f0da6e702c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 }, "end": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 } @@ -16711,16 +17346,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386c300", + "id": "0x7f0da6e6f0d8", "kind": "StringLiteral", "range": { "begin": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 }, "end": { - "offset": 22969, + "offset": 24082, "col": 14, "tokLen": 5 } @@ -16736,33 +17371,33 @@ ] }, { - "id": "0x386d120", + "id": "0x7f0da6e703b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 22984, - "line": 741, + "offset": 24097, + "line": 784, "col": 9, "tokLen": 6 }, "end": { - "offset": 22997, + "offset": 24110, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386d0f0", + "id": "0x7f0da6e70388", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 22991, + "offset": 24104, "col": 16, "tokLen": 4 }, "end": { - "offset": 22997, + "offset": 24110, "col": 22, "tokLen": 9 } @@ -16772,7 +17407,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b080", + "id": "0x2cdc10c0", "kind": "EnumConstantDecl", "name": "G2_108MHZ", "type": { @@ -16785,35 +17420,35 @@ ] }, { - "id": "0x386dfa0", + "id": "0x7f0da6e716f8", "kind": "IfStmt", "range": { "begin": { - "offset": 23012, - "line": 742, + "offset": 24125, + "line": 785, "col": 5, "tokLen": 2 }, "end": { - "offset": 23049, - "line": 743, + "offset": 24162, + "line": 786, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386def0", + "id": "0x7f0da6e71648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23016, - "line": 742, + "offset": 24129, + "line": 785, "col": 9, "tokLen": 1 }, "end": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 } @@ -16825,67 +17460,67 @@ "adl": true, "inner": [ { - "id": "0x386ded8", + "id": "0x7f0da6e71630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 }, "end": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386deb8", + "id": "0x7f0da6e71610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 }, "end": { - "offset": 23018, + "offset": 24131, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386d150", + "id": "0x7f0da6e703e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23016, + "offset": 24129, "col": 9, "tokLen": 1 }, "end": { - "offset": 23016, + "offset": 24129, "col": 9, "tokLen": 1 } @@ -16893,11 +17528,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -16906,16 +17541,16 @@ } }, { - "id": "0x386dea0", + "id": "0x7f0da6e715f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 }, "end": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 } @@ -16927,16 +17562,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386d170", + "id": "0x7f0da6e70408", "kind": "StringLiteral", "range": { "begin": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 }, "end": { - "offset": 23021, + "offset": 24134, "col": 14, "tokLen": 5 } @@ -16952,33 +17587,33 @@ ] }, { - "id": "0x386df90", + "id": "0x7f0da6e716e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23036, - "line": 743, + "offset": 24149, + "line": 786, "col": 9, "tokLen": 6 }, "end": { - "offset": 23049, + "offset": 24162, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x386df60", + "id": "0x7f0da6e716b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23043, + "offset": 24156, "col": 16, "tokLen": 4 }, "end": { - "offset": 23049, + "offset": 24162, "col": 22, "tokLen": 9 } @@ -16988,7 +17623,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b0d0", + "id": "0x2cdc1110", "kind": "EnumConstantDecl", "name": "G2_144MHZ", "type": { @@ -17001,17 +17636,17 @@ ] }, { - "id": "0x386e5a8", + "id": "0x7f0da6e71d80", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 23064, - "line": 744, + "offset": 24177, + "line": 787, "col": 5, "tokLen": 5 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } @@ -17023,16 +17658,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x386e590", + "id": "0x7f0da6e71d68", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 23064, + "offset": 24177, "col": 5, "tokLen": 5 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } @@ -17043,74 +17678,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x386e560", + "id": "0x7f0da6e71d38", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x386e548", + "id": "0x7f0da6e71d20", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x386e520", + "id": "0x7f0da6e71cf8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -17119,27 +17757,28 @@ }, "inner": [ { - "id": "0x386e500", + "id": "0x7f0da6e71cd8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x386e4f8", + "temp": "0x7f0da6e71cd0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -17148,22 +17787,23 @@ }, "inner": [ { - "id": "0x386e4c8", + "id": "0x7f0da6e71ca0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23070, + "offset": 24183, "col": 11, "tokLen": 12 }, "end": { - "offset": 23103, + "offset": 24216, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -17173,73 +17813,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x386e4b0", + "id": "0x7f0da6e71c88", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x386e498", + "id": "0x7f0da6e71c70", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x386e478", + "id": "0x7f0da6e71c50", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x386e470", + "temp": "0x7f0da6e71c48", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -17248,89 +17888,89 @@ }, "inner": [ { - "id": "0x386e438", + "id": "0x7f0da6e71c10", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x386e420", + "id": "0x7f0da6e71bf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 }, "end": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386e400", + "id": "0x7f0da6e71bd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 }, "end": { - "offset": 23100, + "offset": 24213, "col": 41, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x386e3e8", + "id": "0x7f0da6e71bc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 } @@ -17342,16 +17982,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386dfd0", + "id": "0x7f0da6e71728", "kind": "StringLiteral", "range": { "begin": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 }, "end": { - "offset": 23083, + "offset": 24196, "col": 24, "tokLen": 16 } @@ -17365,16 +18005,16 @@ ] }, { - "id": "0x386dff8", + "id": "0x7f0da6e71750", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 }, "end": { - "offset": 23102, + "offset": 24215, "col": 43, "tokLen": 1 } @@ -17382,11 +18022,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3866980", + "id": "0x7f0da6e67ad8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -17421,29 +18061,29 @@ ] }, { - "id": "0x386e798", + "id": "0x7f0da6e71f68", "kind": "FunctionDecl", "loc": { - "offset": 23138, + "offset": 24251, "file": "ToString.cpp", - "line": 747, + "line": 790, "col": 30, "tokLen": 8 }, "range": { "begin": { - "offset": 23109, + "offset": 24222, "col": 1, "tokLen": 8 }, "end": { - "offset": 23525, - "line": 759, + "offset": 24638, + "line": 802, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3689168", + "previousDecl": "0x2d3769d8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10timingModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -17457,13 +18097,13 @@ }, "inner": [ { - "id": "0x2f57730", + "id": "0x2cdbd770", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingMode" }, "decl": { - "id": "0x2f57688", + "id": "0x2cdbd6c8", "kind": "EnumDecl", "name": "timingMode" } @@ -17471,22 +18111,22 @@ ] }, { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "loc": { - "offset": 23166, - "line": 747, + "offset": 24279, + "line": 790, "col": 58, "tokLen": 1 }, "range": { "begin": { - "offset": 23147, + "offset": 24260, "col": 39, "tokLen": 5 }, "end": { - "offset": 23166, + "offset": 24279, "col": 58, "tokLen": 1 } @@ -17498,52 +18138,52 @@ } }, { - "id": "0x38737a8", + "id": "0x7f0da6e377d0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 23169, + "offset": 24282, "col": 61, "tokLen": 1 }, "end": { - "offset": 23525, - "line": 759, + "offset": 24638, + "line": 802, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x386f7a0", + "id": "0x7f0da6e73458", "kind": "IfStmt", "range": { "begin": { - "offset": 23175, - "line": 748, + "offset": 24288, + "line": 791, "col": 5, "tokLen": 2 }, "end": { - "offset": 23213, - "line": 749, + "offset": 24326, + "line": 792, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x386f6f0", + "id": "0x7f0da6e733a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23179, - "line": 748, + "offset": 24292, + "line": 791, "col": 9, "tokLen": 1 }, "end": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 } @@ -17555,67 +18195,67 @@ "adl": true, "inner": [ { - "id": "0x386f6d8", + "id": "0x7f0da6e73390", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 }, "end": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x386f6b8", + "id": "0x7f0da6e73370", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 }, "end": { - "offset": 23181, + "offset": 24294, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386e950", + "id": "0x7f0da6e72150", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23179, + "offset": 24292, "col": 9, "tokLen": 1 }, "end": { - "offset": 23179, + "offset": 24292, "col": 9, "tokLen": 1 } @@ -17623,11 +18263,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -17636,16 +18276,16 @@ } }, { - "id": "0x386f6a0", + "id": "0x7f0da6e73358", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 }, "end": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 } @@ -17657,16 +18297,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386e970", + "id": "0x7f0da6e72170", "kind": "StringLiteral", "range": { "begin": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 }, "end": { - "offset": 23184, + "offset": 24297, "col": 14, "tokLen": 6 } @@ -17682,33 +18322,33 @@ ] }, { - "id": "0x386f790", + "id": "0x7f0da6e73448", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23200, - "line": 749, + "offset": 24313, + "line": 792, "col": 9, "tokLen": 6 }, "end": { - "offset": 23213, + "offset": 24326, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x386f760", + "id": "0x7f0da6e73418", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23207, + "offset": 24320, "col": 16, "tokLen": 4 }, "end": { - "offset": 23213, + "offset": 24326, "col": 22, "tokLen": 11 } @@ -17718,7 +18358,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57750", + "id": "0x2cdbd790", "kind": "EnumConstantDecl", "name": "AUTO_TIMING", "type": { @@ -17731,35 +18371,35 @@ ] }, { - "id": "0x3870610", + "id": "0x7f0da6e74788", "kind": "IfStmt", "range": { "begin": { - "offset": 23230, - "line": 750, + "offset": 24343, + "line": 793, "col": 5, "tokLen": 2 }, "end": { - "offset": 23271, - "line": 751, + "offset": 24384, + "line": 794, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x3870560", + "id": "0x7f0da6e746d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23234, - "line": 750, + "offset": 24347, + "line": 793, "col": 9, "tokLen": 1 }, "end": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 } @@ -17771,67 +18411,67 @@ "adl": true, "inner": [ { - "id": "0x3870548", + "id": "0x7f0da6e746c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 }, "end": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3870528", + "id": "0x7f0da6e746a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 }, "end": { - "offset": 23236, + "offset": 24349, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x386f7c0", + "id": "0x7f0da6e73478", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23234, + "offset": 24347, "col": 9, "tokLen": 1 }, "end": { - "offset": 23234, + "offset": 24347, "col": 9, "tokLen": 1 } @@ -17839,11 +18479,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -17852,16 +18492,16 @@ } }, { - "id": "0x3870510", + "id": "0x7f0da6e74688", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 }, "end": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 } @@ -17873,16 +18513,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x386f7e0", + "id": "0x7f0da6e73498", "kind": "StringLiteral", "range": { "begin": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 }, "end": { - "offset": 23239, + "offset": 24352, "col": 14, "tokLen": 9 } @@ -17898,33 +18538,33 @@ ] }, { - "id": "0x3870600", + "id": "0x7f0da6e74778", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23258, - "line": 751, + "offset": 24371, + "line": 794, "col": 9, "tokLen": 6 }, "end": { - "offset": 23271, + "offset": 24384, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x38705d0", + "id": "0x7f0da6e74748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23265, + "offset": 24378, "col": 16, "tokLen": 4 }, "end": { - "offset": 23271, + "offset": 24384, "col": 22, "tokLen": 16 } @@ -17934,7 +18574,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f577a0", + "id": "0x2cdbd7e0", "kind": "EnumConstantDecl", "name": "TRIGGER_EXPOSURE", "type": { @@ -17947,35 +18587,35 @@ ] }, { - "id": "0x3871480", + "id": "0x7f0da6e75ab8", "kind": "IfStmt", "range": { "begin": { - "offset": 23293, - "line": 752, + "offset": 24406, + "line": 795, "col": 5, "tokLen": 2 }, "end": { - "offset": 23333, - "line": 753, + "offset": 24446, + "line": 796, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38713d0", + "id": "0x7f0da6e75a08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23297, - "line": 752, + "offset": 24410, + "line": 795, "col": 9, "tokLen": 1 }, "end": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 } @@ -17987,67 +18627,67 @@ "adl": true, "inner": [ { - "id": "0x38713b8", + "id": "0x7f0da6e759f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 }, "end": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3871398", + "id": "0x7f0da6e759d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 }, "end": { - "offset": 23299, + "offset": 24412, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3870630", + "id": "0x7f0da6e747a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23297, + "offset": 24410, "col": 9, "tokLen": 1 }, "end": { - "offset": 23297, + "offset": 24410, "col": 9, "tokLen": 1 } @@ -18055,11 +18695,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -18068,16 +18708,16 @@ } }, { - "id": "0x3871380", + "id": "0x7f0da6e759b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 }, "end": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 } @@ -18089,16 +18729,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3870650", + "id": "0x7f0da6e747c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 }, "end": { - "offset": 23302, + "offset": 24415, "col": 14, "tokLen": 8 } @@ -18114,33 +18754,33 @@ ] }, { - "id": "0x3871470", + "id": "0x7f0da6e75aa8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23320, - "line": 753, + "offset": 24433, + "line": 796, "col": 9, "tokLen": 6 }, "end": { - "offset": 23333, + "offset": 24446, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3871440", + "id": "0x7f0da6e75a78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23327, + "offset": 24440, "col": 16, "tokLen": 4 }, "end": { - "offset": 23333, + "offset": 24446, "col": 22, "tokLen": 5 } @@ -18150,7 +18790,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f577f0", + "id": "0x2cdbd830", "kind": "EnumConstantDecl", "name": "GATED", "type": { @@ -18163,35 +18803,35 @@ ] }, { - "id": "0x3872300", + "id": "0x7f0da6e35df8", "kind": "IfStmt", "range": { "begin": { - "offset": 23344, - "line": 754, + "offset": 24457, + "line": 797, "col": 5, "tokLen": 2 }, "end": { - "offset": 23391, - "line": 755, + "offset": 24504, + "line": 798, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x3872250", + "id": "0x7f0da6e35d48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23348, - "line": 754, + "offset": 24461, + "line": 797, "col": 9, "tokLen": 1 }, "end": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 } @@ -18203,67 +18843,67 @@ "adl": true, "inner": [ { - "id": "0x3872238", + "id": "0x7f0da6e35d30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 }, "end": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3872218", + "id": "0x7f0da6e35d10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 }, "end": { - "offset": 23350, + "offset": 24463, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38714a0", + "id": "0x7f0da6e75ad8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23348, + "offset": 24461, "col": 9, "tokLen": 1 }, "end": { - "offset": 23348, + "offset": 24461, "col": 9, "tokLen": 1 } @@ -18271,11 +18911,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -18284,16 +18924,16 @@ } }, { - "id": "0x3872200", + "id": "0x7f0da6e35cf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 }, "end": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 } @@ -18305,16 +18945,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38714c0", + "id": "0x7f0da6e75af8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 }, "end": { - "offset": 23353, + "offset": 24466, "col": 14, "tokLen": 15 } @@ -18330,33 +18970,33 @@ ] }, { - "id": "0x38722f0", + "id": "0x7f0da6e35de8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23378, - "line": 755, + "offset": 24491, + "line": 798, "col": 9, "tokLen": 6 }, "end": { - "offset": 23391, + "offset": 24504, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x38722c0", + "id": "0x7f0da6e35db8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23385, + "offset": 24498, "col": 16, "tokLen": 4 }, "end": { - "offset": 23391, + "offset": 24504, "col": 22, "tokLen": 13 } @@ -18366,7 +19006,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57840", + "id": "0x2cdbd880", "kind": "EnumConstantDecl", "name": "BURST_TRIGGER", "type": { @@ -18379,35 +19019,35 @@ ] }, { - "id": "0x3873180", + "id": "0x7f0da6e37128", "kind": "IfStmt", "range": { "begin": { - "offset": 23410, - "line": 756, + "offset": 24523, + "line": 799, "col": 5, "tokLen": 2 }, "end": { - "offset": 23458, - "line": 757, + "offset": 24571, + "line": 800, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x38730d0", + "id": "0x7f0da6e37078", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23414, - "line": 756, + "offset": 24527, + "line": 799, "col": 9, "tokLen": 1 }, "end": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 } @@ -18419,67 +19059,67 @@ "adl": true, "inner": [ { - "id": "0x38730b8", + "id": "0x7f0da6e37060", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 }, "end": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3873098", + "id": "0x7f0da6e37040", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 }, "end": { - "offset": 23416, + "offset": 24529, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3872320", + "id": "0x7f0da6e35e18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23414, + "offset": 24527, "col": 9, "tokLen": 1 }, "end": { - "offset": 23414, + "offset": 24527, "col": 9, "tokLen": 1 } @@ -18487,11 +19127,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -18500,16 +19140,16 @@ } }, { - "id": "0x3873080", + "id": "0x7f0da6e37028", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 }, "end": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 } @@ -18521,16 +19161,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3872340", + "id": "0x7f0da6e35e38", "kind": "StringLiteral", "range": { "begin": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 }, "end": { - "offset": 23419, + "offset": 24532, "col": 14, "tokLen": 16 } @@ -18546,33 +19186,33 @@ ] }, { - "id": "0x3873170", + "id": "0x7f0da6e37118", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23445, - "line": 757, + "offset": 24558, + "line": 800, "col": 9, "tokLen": 6 }, "end": { - "offset": 23458, + "offset": 24571, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x3873140", + "id": "0x7f0da6e370e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23452, + "offset": 24565, "col": 16, "tokLen": 4 }, "end": { - "offset": 23458, + "offset": 24571, "col": 22, "tokLen": 13 } @@ -18582,7 +19222,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57890", + "id": "0x2cdbd8d0", "kind": "EnumConstantDecl", "name": "TRIGGER_GATED", "type": { @@ -18595,17 +19235,17 @@ ] }, { - "id": "0x3873790", + "id": "0x7f0da6e377b8", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 23477, - "line": 758, + "offset": 24590, + "line": 801, "col": 5, "tokLen": 5 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } @@ -18617,16 +19257,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3873778", + "id": "0x7f0da6e377a0", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 23477, + "offset": 24590, "col": 5, "tokLen": 5 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } @@ -18637,74 +19277,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3873748", + "id": "0x7f0da6e37770", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3873730", + "id": "0x7f0da6e37758", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3873708", + "id": "0x7f0da6e37730", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -18713,27 +19356,28 @@ }, "inner": [ { - "id": "0x38736e8", + "id": "0x7f0da6e37710", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38736e0", + "temp": "0x7f0da6e37708", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -18742,22 +19386,23 @@ }, "inner": [ { - "id": "0x38736b0", + "id": "0x7f0da6e376d8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23483, + "offset": 24596, "col": 11, "tokLen": 12 }, "end": { - "offset": 23522, + "offset": 24635, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -18767,73 +19412,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3873698", + "id": "0x7f0da6e376c0", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3873680", + "id": "0x7f0da6e376a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3873660", + "id": "0x7f0da6e37688", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x3873658", + "temp": "0x7f0da6e37680", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -18842,89 +19487,89 @@ }, "inner": [ { - "id": "0x3873620", + "id": "0x7f0da6e37648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3873608", + "id": "0x7f0da6e37630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 }, "end": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38735e8", + "id": "0x7f0da6e37610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 }, "end": { - "offset": 23519, + "offset": 24632, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38735d0", + "id": "0x7f0da6e375f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 } @@ -18936,16 +19581,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38731b0", + "id": "0x7f0da6e37158", "kind": "StringLiteral", "range": { "begin": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 }, "end": { - "offset": 23496, + "offset": 24609, "col": 24, "tokLen": 22 } @@ -18959,16 +19604,16 @@ ] }, { - "id": "0x38731e0", + "id": "0x7f0da6e37188", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 }, "end": { - "offset": 23521, + "offset": 24634, "col": 49, "tokLen": 1 } @@ -18976,11 +19621,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x386e6c0", + "id": "0x7f0da6e71e98", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19015,29 +19660,29 @@ ] }, { - "id": "0x3873968", + "id": "0x7f0da6e37988", "kind": "FunctionDecl", "loc": { - "offset": 23565, + "offset": 24678, "file": "ToString.cpp", - "line": 761, + "line": 804, "col": 38, "tokLen": 8 }, "range": { "begin": { - "offset": 23528, + "offset": 24641, "col": 1, "tokLen": 8 }, "end": { - "offset": 23866, - "line": 769, + "offset": 24979, + "line": 812, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3689688", + "previousDecl": "0x2d376f28", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18frameDiscardPolicyEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -19051,13 +19696,13 @@ }, "inner": [ { - "id": "0x2f554b0", + "id": "0x2cdb87d0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::frameDiscardPolicy" }, "decl": { - "id": "0x2f55410", + "id": "0x2cdb8730", "kind": "EnumDecl", "name": "frameDiscardPolicy" } @@ -19065,22 +19710,22 @@ ] }, { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "loc": { - "offset": 23593, - "line": 761, + "offset": 24706, + "line": 804, "col": 66, "tokLen": 1 }, "range": { "begin": { - "offset": 23574, + "offset": 24687, "col": 47, "tokLen": 5 }, "end": { - "offset": 23593, + "offset": 24706, "col": 66, "tokLen": 1 } @@ -19092,52 +19737,52 @@ } }, { - "id": "0x3876cd0", + "id": "0x7f0da6e3bbc8", "kind": "CompoundStmt", "range": { "begin": { - "offset": 23596, + "offset": 24709, "col": 69, "tokLen": 1 }, "end": { - "offset": 23866, - "line": 769, + "offset": 24979, + "line": 812, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3874980", + "id": "0x7f0da6e38e88", "kind": "IfStmt", "range": { "begin": { - "offset": 23602, - "line": 762, + "offset": 24715, + "line": 805, "col": 5, "tokLen": 2 }, "end": { - "offset": 23645, - "line": 763, + "offset": 24758, + "line": 806, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38748d0", + "id": "0x7f0da6e38dd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23606, - "line": 762, + "offset": 24719, + "line": 805, "col": 9, "tokLen": 1 }, "end": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 } @@ -19149,67 +19794,67 @@ "adl": true, "inner": [ { - "id": "0x38748b8", + "id": "0x7f0da6e38dc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 }, "end": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3874898", + "id": "0x7f0da6e38da0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 }, "end": { - "offset": 23608, + "offset": 24721, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3873b20", + "id": "0x7f0da6e37b70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23606, + "offset": 24719, "col": 9, "tokLen": 1 }, "end": { - "offset": 23606, + "offset": 24719, "col": 9, "tokLen": 1 } @@ -19217,11 +19862,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19230,16 +19875,16 @@ } }, { - "id": "0x3874880", + "id": "0x7f0da6e38d88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 }, "end": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 } @@ -19251,16 +19896,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3873b40", + "id": "0x7f0da6e37b90", "kind": "StringLiteral", "range": { "begin": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 }, "end": { - "offset": 23611, + "offset": 24724, "col": 14, "tokLen": 11 } @@ -19276,33 +19921,33 @@ ] }, { - "id": "0x3874970", + "id": "0x7f0da6e38e78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23632, - "line": 763, + "offset": 24745, + "line": 806, "col": 9, "tokLen": 6 }, "end": { - "offset": 23645, + "offset": 24758, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x3874940", + "id": "0x7f0da6e38e48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23639, + "offset": 24752, "col": 16, "tokLen": 4 }, "end": { - "offset": 23645, + "offset": 24758, "col": 22, "tokLen": 10 } @@ -19312,7 +19957,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f554d0", + "id": "0x2cdb87f0", "kind": "EnumConstantDecl", "name": "NO_DISCARD", "type": { @@ -19325,35 +19970,35 @@ ] }, { - "id": "0x3875820", + "id": "0x7f0da6e3a1b8", "kind": "IfStmt", "range": { "begin": { - "offset": 23661, - "line": 764, + "offset": 24774, + "line": 807, "col": 5, "tokLen": 2 }, "end": { - "offset": 23707, - "line": 765, + "offset": 24820, + "line": 808, "col": 22, "tokLen": 20 } }, "inner": [ { - "id": "0x3875770", + "id": "0x7f0da6e3a108", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23665, - "line": 764, + "offset": 24778, + "line": 807, "col": 9, "tokLen": 1 }, "end": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 } @@ -19365,67 +20010,67 @@ "adl": true, "inner": [ { - "id": "0x3875758", + "id": "0x7f0da6e3a0f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 }, "end": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3875738", + "id": "0x7f0da6e3a0d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 }, "end": { - "offset": 23667, + "offset": 24780, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38749a0", + "id": "0x7f0da6e38ea8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23665, + "offset": 24778, "col": 9, "tokLen": 1 }, "end": { - "offset": 23665, + "offset": 24778, "col": 9, "tokLen": 1 } @@ -19433,11 +20078,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19446,16 +20091,16 @@ } }, { - "id": "0x3875720", + "id": "0x7f0da6e3a0b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 }, "end": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 } @@ -19467,16 +20112,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38749c0", + "id": "0x7f0da6e38ec8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 }, "end": { - "offset": 23670, + "offset": 24783, "col": 14, "tokLen": 14 } @@ -19492,33 +20137,33 @@ ] }, { - "id": "0x3875810", + "id": "0x7f0da6e3a1a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23694, - "line": 765, + "offset": 24807, + "line": 808, "col": 9, "tokLen": 6 }, "end": { - "offset": 23707, + "offset": 24820, "col": 22, "tokLen": 20 } }, "inner": [ { - "id": "0x38757e0", + "id": "0x7f0da6e3a178", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23701, + "offset": 24814, "col": 16, "tokLen": 4 }, "end": { - "offset": 23707, + "offset": 24820, "col": 22, "tokLen": 20 } @@ -19528,7 +20173,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f55520", + "id": "0x2cdb8840", "kind": "EnumConstantDecl", "name": "DISCARD_EMPTY_FRAMES", "type": { @@ -19541,35 +20186,35 @@ ] }, { - "id": "0x38766a0", + "id": "0x7f0da6e3b4e8", "kind": "IfStmt", "range": { "begin": { - "offset": 23733, - "line": 766, + "offset": 24846, + "line": 809, "col": 5, "tokLen": 2 }, "end": { - "offset": 23781, - "line": 767, + "offset": 24894, + "line": 810, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x38765f0", + "id": "0x7f0da6e3b438", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23737, - "line": 766, + "offset": 24850, + "line": 809, "col": 9, "tokLen": 1 }, "end": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 } @@ -19581,67 +20226,67 @@ "adl": true, "inner": [ { - "id": "0x38765d8", + "id": "0x7f0da6e3b420", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 }, "end": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38765b8", + "id": "0x7f0da6e3b400", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 }, "end": { - "offset": 23739, + "offset": 24852, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3875840", + "id": "0x7f0da6e3a1d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23737, + "offset": 24850, "col": 9, "tokLen": 1 }, "end": { - "offset": 23737, + "offset": 24850, "col": 9, "tokLen": 1 } @@ -19649,11 +20294,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -19662,16 +20307,16 @@ } }, { - "id": "0x38765a0", + "id": "0x7f0da6e3b3e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 }, "end": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 } @@ -19683,16 +20328,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3875860", + "id": "0x7f0da6e3a1f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 }, "end": { - "offset": 23742, + "offset": 24855, "col": 14, "tokLen": 16 } @@ -19708,33 +20353,33 @@ ] }, { - "id": "0x3876690", + "id": "0x7f0da6e3b4d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23768, - "line": 767, + "offset": 24881, + "line": 810, "col": 9, "tokLen": 6 }, "end": { - "offset": 23781, + "offset": 24894, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x3876660", + "id": "0x7f0da6e3b4a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23775, + "offset": 24888, "col": 16, "tokLen": 4 }, "end": { - "offset": 23781, + "offset": 24894, "col": 22, "tokLen": 22 } @@ -19744,7 +20389,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f55570", + "id": "0x2cdb8890", "kind": "EnumConstantDecl", "name": "DISCARD_PARTIAL_FRAMES", "type": { @@ -19757,17 +20402,17 @@ ] }, { - "id": "0x3876cb8", + "id": "0x7f0da6e3bbb0", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 23809, - "line": 768, + "offset": 24922, + "line": 811, "col": 5, "tokLen": 5 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } @@ -19779,16 +20424,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3876ca0", + "id": "0x7f0da6e3bb98", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 23809, + "offset": 24922, "col": 5, "tokLen": 5 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } @@ -19799,74 +20444,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x3876c70", + "id": "0x7f0da6e3bb68", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x3876c58", + "id": "0x7f0da6e3bb50", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3876c30", + "id": "0x7f0da6e3bb28", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -19875,27 +20523,28 @@ }, "inner": [ { - "id": "0x3876c10", + "id": "0x7f0da6e3bb08", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3876c08", + "temp": "0x7f0da6e3bb00", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -19904,22 +20553,23 @@ }, "inner": [ { - "id": "0x3876bd8", + "id": "0x7f0da6e3bad0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 23815, + "offset": 24928, "col": 11, "tokLen": 12 }, "end": { - "offset": 23863, + "offset": 24976, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -19929,73 +20579,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3876bc0", + "id": "0x7f0da6e3bab8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3876ba8", + "id": "0x7f0da6e3baa0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3876b88", + "id": "0x7f0da6e3ba80", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x3876b80", + "temp": "0x7f0da6e3ba78", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -20004,89 +20654,89 @@ }, "inner": [ { - "id": "0x3876b48", + "id": "0x7f0da6e3ba40", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3876b30", + "id": "0x7f0da6e3ba28", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 }, "end": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3876b10", + "id": "0x7f0da6e3ba08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 }, "end": { - "offset": 23860, + "offset": 24973, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3876af8", + "id": "0x7f0da6e3b9f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 } @@ -20098,16 +20748,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38766d0", + "id": "0x7f0da6e3b518", "kind": "StringLiteral", "range": { "begin": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 }, "end": { - "offset": 23828, + "offset": 24941, "col": 24, "tokLen": 31 } @@ -20121,16 +20771,16 @@ ] }, { - "id": "0x3876708", + "id": "0x7f0da6e3b550", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 }, "end": { - "offset": 23862, + "offset": 24975, "col": 58, "tokLen": 1 } @@ -20138,11 +20788,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3873890", + "id": "0x7f0da6e378b8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -20177,29 +20827,29 @@ ] }, { - "id": "0x3876e78", + "id": "0x7f0da6e3bd78", "kind": "FunctionDecl", "loc": { - "offset": 23898, + "offset": 25011, "file": "ToString.cpp", - "line": 771, + "line": 814, "col": 30, "tokLen": 8 }, "range": { "begin": { - "offset": 23869, + "offset": 24982, "col": 1, "tokLen": 8 }, "end": { - "offset": 24083, - "line": 777, + "offset": 25196, + "line": 820, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x3689ba8", + "previousDecl": "0x2d377478", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs10fileFormatEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -20213,13 +20863,13 @@ }, "inner": [ { - "id": "0x2f556b0", + "id": "0x2cdbbda0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::fileFormat" }, "decl": { - "id": "0x2f55610", + "id": "0x2cdbbd00", "kind": "EnumDecl", "name": "fileFormat" } @@ -20227,22 +20877,22 @@ ] }, { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "loc": { - "offset": 23926, - "line": 771, + "offset": 25039, + "line": 814, "col": 58, "tokLen": 1 }, "range": { "begin": { - "offset": 23907, + "offset": 25020, "col": 39, "tokLen": 5 }, "end": { - "offset": 23926, + "offset": 25039, "col": 58, "tokLen": 1 } @@ -20254,52 +20904,52 @@ } }, { - "id": "0x3879318", + "id": "0x7f0da6e3ec40", "kind": "CompoundStmt", "range": { "begin": { - "offset": 23929, + "offset": 25042, "col": 61, "tokLen": 1 }, "end": { - "offset": 24083, - "line": 777, + "offset": 25196, + "line": 820, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3877e80", + "id": "0x7f0da6e3d268", "kind": "IfStmt", "range": { "begin": { - "offset": 23935, - "line": 772, + "offset": 25048, + "line": 815, "col": 5, "tokLen": 2 }, "end": { - "offset": 23973, - "line": 773, + "offset": 25086, + "line": 816, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3877dd0", + "id": "0x7f0da6e3d1b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23939, - "line": 772, + "offset": 25052, + "line": 815, "col": 9, "tokLen": 1 }, "end": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 } @@ -20311,67 +20961,67 @@ "adl": true, "inner": [ { - "id": "0x3877db8", + "id": "0x7f0da6e3d1a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 }, "end": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3877d98", + "id": "0x7f0da6e3d180", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 }, "end": { - "offset": 23941, + "offset": 25054, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3877030", + "id": "0x7f0da6e3bf60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23939, + "offset": 25052, "col": 9, "tokLen": 1 }, "end": { - "offset": 23939, + "offset": 25052, "col": 9, "tokLen": 1 } @@ -20379,11 +21029,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -20392,16 +21042,16 @@ } }, { - "id": "0x3877d80", + "id": "0x7f0da6e3d168", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 }, "end": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 } @@ -20413,16 +21063,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3877050", + "id": "0x7f0da6e3bf80", "kind": "StringLiteral", "range": { "begin": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 }, "end": { - "offset": 23944, + "offset": 25057, "col": 14, "tokLen": 6 } @@ -20438,33 +21088,33 @@ ] }, { - "id": "0x3877e70", + "id": "0x7f0da6e3d258", "kind": "ReturnStmt", "range": { "begin": { - "offset": 23960, - "line": 773, + "offset": 25073, + "line": 816, "col": 9, "tokLen": 6 }, "end": { - "offset": 23973, + "offset": 25086, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x3877e40", + "id": "0x7f0da6e3d228", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23967, + "offset": 25080, "col": 16, "tokLen": 4 }, "end": { - "offset": 23973, + "offset": 25086, "col": 22, "tokLen": 4 } @@ -20474,7 +21124,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f55720", + "id": "0x2cdbbe10", "kind": "EnumConstantDecl", "name": "HDF5", "type": { @@ -20487,35 +21137,35 @@ ] }, { - "id": "0x3878cf0", + "id": "0x7f0da6e3e598", "kind": "IfStmt", "range": { "begin": { - "offset": 23983, - "line": 774, + "offset": 25096, + "line": 817, "col": 5, "tokLen": 2 }, "end": { - "offset": 24023, - "line": 775, + "offset": 25136, + "line": 818, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3878c40", + "id": "0x7f0da6e3e4e8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 23987, - "line": 774, + "offset": 25100, + "line": 817, "col": 9, "tokLen": 1 }, "end": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 } @@ -20527,67 +21177,67 @@ "adl": true, "inner": [ { - "id": "0x3878c28", + "id": "0x7f0da6e3e4d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 }, "end": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3878c08", + "id": "0x7f0da6e3e4b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 }, "end": { - "offset": 23989, + "offset": 25102, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3877ea0", + "id": "0x7f0da6e3d288", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 23987, + "offset": 25100, "col": 9, "tokLen": 1 }, "end": { - "offset": 23987, + "offset": 25100, "col": 9, "tokLen": 1 } @@ -20595,11 +21245,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -20608,16 +21258,16 @@ } }, { - "id": "0x3878bf0", + "id": "0x7f0da6e3e498", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 }, "end": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 } @@ -20629,16 +21279,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3877ec0", + "id": "0x7f0da6e3d2a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 }, "end": { - "offset": 23992, + "offset": 25105, "col": 14, "tokLen": 8 } @@ -20654,33 +21304,33 @@ ] }, { - "id": "0x3878ce0", + "id": "0x7f0da6e3e588", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24010, - "line": 775, + "offset": 25123, + "line": 818, "col": 9, "tokLen": 6 }, "end": { - "offset": 24023, + "offset": 25136, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3878cb0", + "id": "0x7f0da6e3e558", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24017, + "offset": 25130, "col": 16, "tokLen": 4 }, "end": { - "offset": 24023, + "offset": 25136, "col": 22, "tokLen": 6 } @@ -20690,7 +21340,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f556d0", + "id": "0x2cdbbdc0", "kind": "EnumConstantDecl", "name": "BINARY", "type": { @@ -20703,17 +21353,17 @@ ] }, { - "id": "0x3879300", + "id": "0x7f0da6e3ec28", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 24035, - "line": 776, + "offset": 25148, + "line": 819, "col": 5, "tokLen": 5 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } @@ -20725,16 +21375,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38792e8", + "id": "0x7f0da6e3ec10", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 24035, + "offset": 25148, "col": 5, "tokLen": 5 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } @@ -20745,74 +21395,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38792b8", + "id": "0x7f0da6e3ebe0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38792a0", + "id": "0x7f0da6e3ebc8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x3879278", + "id": "0x7f0da6e3eba0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -20821,27 +21474,28 @@ }, "inner": [ { - "id": "0x3879258", + "id": "0x7f0da6e3eb80", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3879250", + "temp": "0x7f0da6e3eb78", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -20850,22 +21504,23 @@ }, "inner": [ { - "id": "0x3879220", + "id": "0x7f0da6e3eb48", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24041, + "offset": 25154, "col": 11, "tokLen": 12 }, "end": { - "offset": 24080, + "offset": 25193, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -20875,73 +21530,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3879208", + "id": "0x7f0da6e3eb30", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38791f0", + "id": "0x7f0da6e3eb18", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38791d0", + "id": "0x7f0da6e3eaf8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38791c8", + "temp": "0x7f0da6e3eaf0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -20950,89 +21605,89 @@ }, "inner": [ { - "id": "0x3879190", + "id": "0x7f0da6e3eab8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x3879178", + "id": "0x7f0da6e3eaa0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 }, "end": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3879158", + "id": "0x7f0da6e3ea80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 }, "end": { - "offset": 24077, + "offset": 25190, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3879140", + "id": "0x7f0da6e3ea68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 } @@ -21044,16 +21699,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3878d20", + "id": "0x7f0da6e3e5c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 }, "end": { - "offset": 24054, + "offset": 25167, "col": 24, "tokLen": 22 } @@ -21067,16 +21722,16 @@ ] }, { - "id": "0x3878d50", + "id": "0x7f0da6e3e5f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 }, "end": { - "offset": 24079, + "offset": 25192, "col": 49, "tokLen": 1 } @@ -21084,11 +21739,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3876da8", + "id": "0x7f0da6e3bca0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21123,29 +21778,29 @@ ] }, { - "id": "0x38794b8", + "id": "0x7f0da6e3ede8", "kind": "FunctionDecl", "loc": { - "offset": 24123, + "offset": 25236, "file": "ToString.cpp", - "line": 779, + "line": 822, "col": 38, "tokLen": 8 }, "range": { "begin": { - "offset": 24086, + "offset": 25199, "col": 1, "tokLen": 8 }, "end": { - "offset": 24517, - "line": 789, + "offset": 25630, + "line": 832, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368abf0", + "previousDecl": "0x2d3779c8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18externalSignalFlagEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -21159,13 +21814,13 @@ }, "inner": [ { - "id": "0x2f57500", + "id": "0x2cdbd540", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::externalSignalFlag" }, "decl": { - "id": "0x2f57458", + "id": "0x2cdbd498", "kind": "EnumDecl", "name": "externalSignalFlag" } @@ -21173,22 +21828,22 @@ ] }, { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "loc": { - "offset": 24151, - "line": 779, + "offset": 25264, + "line": 822, "col": 66, "tokLen": 1 }, "range": { "begin": { - "offset": 24132, + "offset": 25245, "col": 47, "tokLen": 5 }, "end": { - "offset": 24151, + "offset": 25264, "col": 66, "tokLen": 1 } @@ -21200,52 +21855,52 @@ } }, { - "id": "0x387d680", + "id": "0x7f0da6e44338", "kind": "CompoundStmt", "range": { "begin": { - "offset": 24154, + "offset": 25267, "col": 69, "tokLen": 1 }, "end": { - "offset": 24517, - "line": 789, + "offset": 25630, + "line": 832, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x387a4d0", + "id": "0x7f0da6e402e8", "kind": "IfStmt", "range": { "begin": { - "offset": 24160, - "line": 780, + "offset": 25273, + "line": 823, "col": 5, "tokLen": 2 }, "end": { - "offset": 24216, - "line": 781, + "offset": 25329, + "line": 824, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x387a420", + "id": "0x7f0da6e40238", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24164, - "line": 780, + "offset": 25277, + "line": 823, "col": 9, "tokLen": 1 }, "end": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 } @@ -21257,67 +21912,67 @@ "adl": true, "inner": [ { - "id": "0x387a408", + "id": "0x7f0da6e40220", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 }, "end": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387a3e8", + "id": "0x7f0da6e40200", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 }, "end": { - "offset": 24166, + "offset": 25279, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3879670", + "id": "0x7f0da6e3efd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24164, + "offset": 25277, "col": 9, "tokLen": 1 }, "end": { - "offset": 24164, + "offset": 25277, "col": 9, "tokLen": 1 } @@ -21325,11 +21980,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21338,16 +21993,16 @@ } }, { - "id": "0x387a3d0", + "id": "0x7f0da6e401e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 }, "end": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 } @@ -21359,16 +22014,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3879690", + "id": "0x7f0da6e3eff0", "kind": "StringLiteral", "range": { "begin": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 }, "end": { - "offset": 24169, + "offset": 25282, "col": 14, "tokLen": 24 } @@ -21384,33 +22039,33 @@ ] }, { - "id": "0x387a4c0", + "id": "0x7f0da6e402d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24203, - "line": 781, + "offset": 25316, + "line": 824, "col": 9, "tokLen": 6 }, "end": { - "offset": 24216, + "offset": 25329, "col": 22, "tokLen": 22 } }, "inner": [ { - "id": "0x387a490", + "id": "0x7f0da6e402a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24210, + "offset": 25323, "col": 16, "tokLen": 4 }, "end": { - "offset": 24216, + "offset": 25329, "col": 22, "tokLen": 22 } @@ -21420,7 +22075,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57520", + "id": "0x2cdbd560", "kind": "EnumConstantDecl", "name": "TRIGGER_IN_RISING_EDGE", "type": { @@ -21433,35 +22088,35 @@ ] }, { - "id": "0x387b350", + "id": "0x7f0da6e41628", "kind": "IfStmt", "range": { "begin": { - "offset": 24244, - "line": 782, + "offset": 25357, + "line": 825, "col": 5, "tokLen": 2 }, "end": { - "offset": 24301, - "line": 783, + "offset": 25414, + "line": 826, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x387b2a0", + "id": "0x7f0da6e41578", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24248, - "line": 782, + "offset": 25361, + "line": 825, "col": 9, "tokLen": 1 }, "end": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 } @@ -21473,67 +22128,67 @@ "adl": true, "inner": [ { - "id": "0x387b288", + "id": "0x7f0da6e41560", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 }, "end": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387b268", + "id": "0x7f0da6e41540", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 }, "end": { - "offset": 24250, + "offset": 25363, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387a4f0", + "id": "0x7f0da6e40308", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24248, + "offset": 25361, "col": 9, "tokLen": 1 }, "end": { - "offset": 24248, + "offset": 25361, "col": 9, "tokLen": 1 } @@ -21541,11 +22196,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21554,16 +22209,16 @@ } }, { - "id": "0x387b250", + "id": "0x7f0da6e41528", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 }, "end": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 } @@ -21575,16 +22230,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387a510", + "id": "0x7f0da6e40328", "kind": "StringLiteral", "range": { "begin": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 }, "end": { - "offset": 24253, + "offset": 25366, "col": 14, "tokLen": 25 } @@ -21600,33 +22255,33 @@ ] }, { - "id": "0x387b340", + "id": "0x7f0da6e41618", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24288, - "line": 783, + "offset": 25401, + "line": 826, "col": 9, "tokLen": 6 }, "end": { - "offset": 24301, + "offset": 25414, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x387b310", + "id": "0x7f0da6e415e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24295, + "offset": 25408, "col": 16, "tokLen": 4 }, "end": { - "offset": 24301, + "offset": 25414, "col": 22, "tokLen": 23 } @@ -21636,7 +22291,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57570", + "id": "0x2cdbd5b0", "kind": "EnumConstantDecl", "name": "TRIGGER_IN_FALLING_EDGE", "type": { @@ -21649,35 +22304,35 @@ ] }, { - "id": "0x387c1d0", + "id": "0x7f0da6e42958", "kind": "IfStmt", "range": { "begin": { - "offset": 24330, - "line": 784, + "offset": 25443, + "line": 827, "col": 5, "tokLen": 2 }, "end": { - "offset": 24376, - "line": 785, + "offset": 25489, + "line": 828, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387c120", + "id": "0x7f0da6e428a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24334, - "line": 784, + "offset": 25447, + "line": 827, "col": 9, "tokLen": 1 }, "end": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 } @@ -21689,67 +22344,67 @@ "adl": true, "inner": [ { - "id": "0x387c108", + "id": "0x7f0da6e42890", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 }, "end": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387c0e8", + "id": "0x7f0da6e42870", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 }, "end": { - "offset": 24336, + "offset": 25449, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387b370", + "id": "0x7f0da6e41648", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24334, + "offset": 25447, "col": 9, "tokLen": 1 }, "end": { - "offset": 24334, + "offset": 25447, "col": 9, "tokLen": 1 } @@ -21757,11 +22412,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21770,16 +22425,16 @@ } }, { - "id": "0x387c0d0", + "id": "0x7f0da6e42858", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 }, "end": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 } @@ -21791,16 +22446,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387b390", + "id": "0x7f0da6e41668", "kind": "StringLiteral", "range": { "begin": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 }, "end": { - "offset": 24339, + "offset": 25452, "col": 14, "tokLen": 14 } @@ -21816,33 +22471,33 @@ ] }, { - "id": "0x387c1c0", + "id": "0x7f0da6e42948", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24363, - "line": 785, + "offset": 25476, + "line": 828, "col": 9, "tokLen": 6 }, "end": { - "offset": 24376, + "offset": 25489, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387c190", + "id": "0x7f0da6e42918", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24370, + "offset": 25483, "col": 16, "tokLen": 4 }, "end": { - "offset": 24376, + "offset": 25489, "col": 22, "tokLen": 12 } @@ -21852,7 +22507,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f575c0", + "id": "0x2cdbd600", "kind": "EnumConstantDecl", "name": "INVERSION_ON", "type": { @@ -21865,35 +22520,35 @@ ] }, { - "id": "0x387d050", + "id": "0x7f0da6e43c88", "kind": "IfStmt", "range": { "begin": { - "offset": 24394, - "line": 786, + "offset": 25507, + "line": 829, "col": 5, "tokLen": 2 }, "end": { - "offset": 24441, - "line": 787, + "offset": 25554, + "line": 830, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x387cfa0", + "id": "0x7f0da6e43bd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24398, - "line": 786, + "offset": 25511, + "line": 829, "col": 9, "tokLen": 1 }, "end": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 } @@ -21905,67 +22560,67 @@ "adl": true, "inner": [ { - "id": "0x387cf88", + "id": "0x7f0da6e43bc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 }, "end": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387cf68", + "id": "0x7f0da6e43ba0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 }, "end": { - "offset": 24400, + "offset": 25513, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387c1f0", + "id": "0x7f0da6e42978", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24398, + "offset": 25511, "col": 9, "tokLen": 1 }, "end": { - "offset": 24398, + "offset": 25511, "col": 9, "tokLen": 1 } @@ -21973,11 +22628,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -21986,16 +22641,16 @@ } }, { - "id": "0x387cf50", + "id": "0x7f0da6e43b88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 }, "end": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 } @@ -22007,16 +22662,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387c210", + "id": "0x7f0da6e42998", "kind": "StringLiteral", "range": { "begin": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 }, "end": { - "offset": 24403, + "offset": 25516, "col": 14, "tokLen": 15 } @@ -22032,33 +22687,33 @@ ] }, { - "id": "0x387d040", + "id": "0x7f0da6e43c78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24428, - "line": 787, + "offset": 25541, + "line": 830, "col": 9, "tokLen": 6 }, "end": { - "offset": 24441, + "offset": 25554, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x387d010", + "id": "0x7f0da6e43c48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24435, + "offset": 25548, "col": 16, "tokLen": 4 }, "end": { - "offset": 24441, + "offset": 25554, "col": 22, "tokLen": 13 } @@ -22068,7 +22723,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57610", + "id": "0x2cdbd650", "kind": "EnumConstantDecl", "name": "INVERSION_OFF", "type": { @@ -22081,17 +22736,17 @@ ] }, { - "id": "0x387d668", + "id": "0x7f0da6e44320", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 24460, - "line": 788, + "offset": 25573, + "line": 831, "col": 5, "tokLen": 5 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } @@ -22103,16 +22758,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x387d650", + "id": "0x7f0da6e44308", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 24460, + "offset": 25573, "col": 5, "tokLen": 5 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } @@ -22123,74 +22778,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x387d620", + "id": "0x7f0da6e442d8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x387d608", + "id": "0x7f0da6e442c0", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x387d5e0", + "id": "0x7f0da6e44298", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -22199,27 +22857,28 @@ }, "inner": [ { - "id": "0x387d5c0", + "id": "0x7f0da6e44278", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x387d5b8", + "temp": "0x7f0da6e44270", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -22228,22 +22887,23 @@ }, "inner": [ { - "id": "0x387d588", + "id": "0x7f0da6e44240", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24466, + "offset": 25579, "col": 11, "tokLen": 12 }, "end": { - "offset": 24514, + "offset": 25627, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -22253,73 +22913,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x387d570", + "id": "0x7f0da6e44228", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x387d558", + "id": "0x7f0da6e44210", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x387d538", + "id": "0x7f0da6e441f0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x387d530", + "temp": "0x7f0da6e441e8", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -22328,89 +22988,89 @@ }, "inner": [ { - "id": "0x387d4f8", + "id": "0x7f0da6e441b0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x387d4e0", + "id": "0x7f0da6e44198", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 }, "end": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387d4c0", + "id": "0x7f0da6e44178", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 }, "end": { - "offset": 24511, + "offset": 25624, "col": 56, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x387d4a8", + "id": "0x7f0da6e44160", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 } @@ -22422,16 +23082,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387d080", + "id": "0x7f0da6e43cb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 }, "end": { - "offset": 24479, + "offset": 25592, "col": 24, "tokLen": 31 } @@ -22445,16 +23105,16 @@ ] }, { - "id": "0x387d0b8", + "id": "0x7f0da6e43cf0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 }, "end": { - "offset": 24513, + "offset": 25626, "col": 58, "tokLen": 1 } @@ -22462,11 +23122,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38793e8", + "id": "0x7f0da6e3ed10", "kind": "ParmVarDecl", "name": "s", "type": { @@ -22501,29 +23161,29 @@ ] }, { - "id": "0x387d838", + "id": "0x7f0da6e444e8", "kind": "FunctionDecl", "loc": { - "offset": 24550, + "offset": 25663, "file": "ToString.cpp", - "line": 791, + "line": 834, "col": 31, "tokLen": 8 }, "range": { "begin": { - "offset": 24520, + "offset": 25633, "col": 1, "tokLen": 8 }, "end": { - "offset": 24973, - "line": 803, + "offset": 26086, + "line": 846, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368b118", + "previousDecl": "0x2d377f18", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11readoutModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -22537,13 +23197,13 @@ }, "inner": [ { - "id": "0x2f5acf0", + "id": "0x2cdc0d30", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::readoutMode" }, "decl": { - "id": "0x2f5ac48", + "id": "0x2cdc0c88", "kind": "EnumDecl", "name": "readoutMode" } @@ -22551,22 +23211,22 @@ ] }, { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "loc": { - "offset": 24578, - "line": 791, + "offset": 25691, + "line": 834, "col": 59, "tokLen": 1 }, "range": { "begin": { - "offset": 24559, + "offset": 25672, "col": 40, "tokLen": 5 }, "end": { - "offset": 24578, + "offset": 25691, "col": 59, "tokLen": 1 } @@ -22578,52 +23238,52 @@ } }, { - "id": "0x3882858", + "id": "0x7f0da6e4ad88", "kind": "CompoundStmt", "range": { "begin": { - "offset": 24581, + "offset": 25694, "col": 62, "tokLen": 1 }, "end": { - "offset": 24973, - "line": 803, + "offset": 26086, + "line": 846, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x387e840", + "id": "0x7f0da6e459d8", "kind": "IfStmt", "range": { "begin": { - "offset": 24587, - "line": 792, + "offset": 25700, + "line": 835, "col": 5, "tokLen": 2 }, "end": { - "offset": 24627, - "line": 793, + "offset": 25740, + "line": 836, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x387e790", + "id": "0x7f0da6e45928", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24591, - "line": 792, + "offset": 25704, + "line": 835, "col": 9, "tokLen": 1 }, "end": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 } @@ -22635,67 +23295,67 @@ "adl": true, "inner": [ { - "id": "0x387e778", + "id": "0x7f0da6e45910", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 }, "end": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387e758", + "id": "0x7f0da6e458f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 }, "end": { - "offset": 24593, + "offset": 25706, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387d9f0", + "id": "0x7f0da6e446d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24591, + "offset": 25704, "col": 9, "tokLen": 1 }, "end": { - "offset": 24591, + "offset": 25704, "col": 9, "tokLen": 1 } @@ -22703,11 +23363,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -22716,16 +23376,16 @@ } }, { - "id": "0x387e740", + "id": "0x7f0da6e458d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 }, "end": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 } @@ -22737,16 +23397,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387da10", + "id": "0x7f0da6e446f0", "kind": "StringLiteral", "range": { "begin": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 }, "end": { - "offset": 24596, + "offset": 25709, "col": 14, "tokLen": 8 } @@ -22762,33 +23422,33 @@ ] }, { - "id": "0x387e830", + "id": "0x7f0da6e459c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24614, - "line": 793, + "offset": 25727, + "line": 836, "col": 9, "tokLen": 6 }, "end": { - "offset": 24627, + "offset": 25740, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x387e800", + "id": "0x7f0da6e45998", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24621, + "offset": 25734, "col": 16, "tokLen": 4 }, "end": { - "offset": 24627, + "offset": 25740, "col": 22, "tokLen": 11 } @@ -22798,7 +23458,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ad10", + "id": "0x2cdc0d50", "kind": "EnumConstantDecl", "name": "ANALOG_ONLY", "type": { @@ -22811,35 +23471,35 @@ ] }, { - "id": "0x387f6b0", + "id": "0x7f0da6e46d08", "kind": "IfStmt", "range": { "begin": { - "offset": 24644, - "line": 794, + "offset": 25757, + "line": 837, "col": 5, "tokLen": 2 }, "end": { - "offset": 24685, - "line": 795, + "offset": 25798, + "line": 838, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387f600", + "id": "0x7f0da6e46c58", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24648, - "line": 794, + "offset": 25761, + "line": 837, "col": 9, "tokLen": 1 }, "end": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 } @@ -22851,67 +23511,67 @@ "adl": true, "inner": [ { - "id": "0x387f5e8", + "id": "0x7f0da6e46c40", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 }, "end": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x387f5c8", + "id": "0x7f0da6e46c20", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 }, "end": { - "offset": 24650, + "offset": 25763, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387e860", + "id": "0x7f0da6e459f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24648, + "offset": 25761, "col": 9, "tokLen": 1 }, "end": { - "offset": 24648, + "offset": 25761, "col": 9, "tokLen": 1 } @@ -22919,11 +23579,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -22932,16 +23592,16 @@ } }, { - "id": "0x387f5b0", + "id": "0x7f0da6e46c08", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 }, "end": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 } @@ -22953,16 +23613,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387e880", + "id": "0x7f0da6e45a18", "kind": "StringLiteral", "range": { "begin": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 }, "end": { - "offset": 24653, + "offset": 25766, "col": 14, "tokLen": 9 } @@ -22978,33 +23638,33 @@ ] }, { - "id": "0x387f6a0", + "id": "0x7f0da6e46cf8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24672, - "line": 795, + "offset": 25785, + "line": 838, "col": 9, "tokLen": 6 }, "end": { - "offset": 24685, + "offset": 25798, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x387f670", + "id": "0x7f0da6e46cc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24679, + "offset": 25792, "col": 16, "tokLen": 4 }, "end": { - "offset": 24685, + "offset": 25798, "col": 22, "tokLen": 12 } @@ -23014,7 +23674,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ad60", + "id": "0x2cdc0da0", "kind": "EnumConstantDecl", "name": "DIGITAL_ONLY", "type": { @@ -23027,35 +23687,35 @@ ] }, { - "id": "0x3880530", + "id": "0x7f0da6e48038", "kind": "IfStmt", "range": { "begin": { - "offset": 24703, - "line": 796, + "offset": 25816, + "line": 839, "col": 5, "tokLen": 2 }, "end": { - "offset": 24751, - "line": 797, + "offset": 25864, + "line": 840, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x3880480", + "id": "0x7f0da6e47f88", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24707, - "line": 796, + "offset": 25820, + "line": 839, "col": 9, "tokLen": 1 }, "end": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 } @@ -23067,67 +23727,67 @@ "adl": true, "inner": [ { - "id": "0x3880468", + "id": "0x7f0da6e47f70", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 }, "end": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3880448", + "id": "0x7f0da6e47f50", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 }, "end": { - "offset": 24709, + "offset": 25822, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x387f6d0", + "id": "0x7f0da6e46d28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24707, + "offset": 25820, "col": 9, "tokLen": 1 }, "end": { - "offset": 24707, + "offset": 25820, "col": 9, "tokLen": 1 } @@ -23135,11 +23795,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -23148,16 +23808,16 @@ } }, { - "id": "0x3880430", + "id": "0x7f0da6e47f38", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 }, "end": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 } @@ -23169,16 +23829,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x387f6f0", + "id": "0x7f0da6e46d48", "kind": "StringLiteral", "range": { "begin": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 }, "end": { - "offset": 24712, + "offset": 25825, "col": 14, "tokLen": 16 } @@ -23194,33 +23854,33 @@ ] }, { - "id": "0x3880520", + "id": "0x7f0da6e48028", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24738, - "line": 797, + "offset": 25851, + "line": 840, "col": 9, "tokLen": 6 }, "end": { - "offset": 24751, + "offset": 25864, "col": 22, "tokLen": 18 } }, "inner": [ { - "id": "0x38804f0", + "id": "0x7f0da6e47ff8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24745, + "offset": 25858, "col": 16, "tokLen": 4 }, "end": { - "offset": 24751, + "offset": 25864, "col": 22, "tokLen": 18 } @@ -23230,7 +23890,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5adb0", + "id": "0x2cdc0df0", "kind": "EnumConstantDecl", "name": "ANALOG_AND_DIGITAL", "type": { @@ -23243,35 +23903,35 @@ ] }, { - "id": "0x38813b0", + "id": "0x7f0da6e49368", "kind": "IfStmt", "range": { "begin": { - "offset": 24775, - "line": 798, + "offset": 25888, + "line": 841, "col": 5, "tokLen": 2 }, "end": { - "offset": 24820, - "line": 799, + "offset": 25933, + "line": 842, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x3881300", + "id": "0x7f0da6e492b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24779, - "line": 798, + "offset": 25892, + "line": 841, "col": 9, "tokLen": 1 }, "end": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 } @@ -23283,67 +23943,67 @@ "adl": true, "inner": [ { - "id": "0x38812e8", + "id": "0x7f0da6e492a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 }, "end": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38812c8", + "id": "0x7f0da6e49280", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 }, "end": { - "offset": 24781, + "offset": 25894, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3880550", + "id": "0x7f0da6e48058", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24779, + "offset": 25892, "col": 9, "tokLen": 1 }, "end": { - "offset": 24779, + "offset": 25892, "col": 9, "tokLen": 1 } @@ -23351,11 +24011,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -23364,16 +24024,16 @@ } }, { - "id": "0x38812b0", + "id": "0x7f0da6e49268", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 }, "end": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 } @@ -23385,16 +24045,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3880570", + "id": "0x7f0da6e48078", "kind": "StringLiteral", "range": { "begin": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 }, "end": { - "offset": 24784, + "offset": 25897, "col": 14, "tokLen": 13 } @@ -23410,33 +24070,33 @@ ] }, { - "id": "0x38813a0", + "id": "0x7f0da6e49358", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24807, - "line": 799, + "offset": 25920, + "line": 842, "col": 9, "tokLen": 6 }, "end": { - "offset": 24820, + "offset": 25933, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x3881370", + "id": "0x7f0da6e49328", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24814, + "offset": 25927, "col": 16, "tokLen": 4 }, "end": { - "offset": 24820, + "offset": 25933, "col": 22, "tokLen": 16 } @@ -23446,7 +24106,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ae00", + "id": "0x2cdc0e40", "kind": "EnumConstantDecl", "name": "TRANSCEIVER_ONLY", "type": { @@ -23459,35 +24119,35 @@ ] }, { - "id": "0x3882230", + "id": "0x7f0da6e4a6a8", "kind": "IfStmt", "range": { "begin": { - "offset": 24842, - "line": 800, + "offset": 25955, + "line": 843, "col": 5, "tokLen": 2 }, "end": { - "offset": 24895, - "line": 801, + "offset": 26008, + "line": 844, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x3882180", + "id": "0x7f0da6e4a5f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24846, - "line": 800, + "offset": 25959, + "line": 843, "col": 9, "tokLen": 1 }, "end": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 } @@ -23499,67 +24159,67 @@ "adl": true, "inner": [ { - "id": "0x3882168", + "id": "0x7f0da6e4a5e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 }, "end": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3882148", + "id": "0x7f0da6e4a5c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 }, "end": { - "offset": 24848, + "offset": 25961, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38813d0", + "id": "0x7f0da6e49388", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24846, + "offset": 25959, "col": 9, "tokLen": 1 }, "end": { - "offset": 24846, + "offset": 25959, "col": 9, "tokLen": 1 } @@ -23567,11 +24227,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -23580,16 +24240,16 @@ } }, { - "id": "0x3882130", + "id": "0x7f0da6e4a5a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 }, "end": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 } @@ -23601,16 +24261,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38813f0", + "id": "0x7f0da6e493a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 }, "end": { - "offset": 24851, + "offset": 25964, "col": 14, "tokLen": 21 } @@ -23626,33 +24286,33 @@ ] }, { - "id": "0x3882220", + "id": "0x7f0da6e4a698", "kind": "ReturnStmt", "range": { "begin": { - "offset": 24882, - "line": 801, + "offset": 25995, + "line": 844, "col": 9, "tokLen": 6 }, "end": { - "offset": 24895, + "offset": 26008, "col": 22, "tokLen": 23 } }, "inner": [ { - "id": "0x38821f0", + "id": "0x7f0da6e4a668", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24889, + "offset": 26002, "col": 16, "tokLen": 4 }, "end": { - "offset": 24895, + "offset": 26008, "col": 22, "tokLen": 23 } @@ -23662,7 +24322,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ae50", + "id": "0x2cdc0e90", "kind": "EnumConstantDecl", "name": "DIGITAL_AND_TRANSCEIVER", "type": { @@ -23675,17 +24335,17 @@ ] }, { - "id": "0x3882840", + "id": "0x7f0da6e4ad70", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 24924, - "line": 802, + "offset": 26037, + "line": 845, "col": 5, "tokLen": 5 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } @@ -23697,16 +24357,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x3882828", + "id": "0x7f0da6e4ad58", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 24924, + "offset": 26037, "col": 5, "tokLen": 5 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } @@ -23717,74 +24377,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38827f8", + "id": "0x7f0da6e4ad28", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38827e0", + "id": "0x7f0da6e4ad10", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38827b8", + "id": "0x7f0da6e4ace8", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -23793,27 +24456,28 @@ }, "inner": [ { - "id": "0x3882798", + "id": "0x7f0da6e4acc8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x3882790", + "temp": "0x7f0da6e4acc0", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -23822,22 +24486,23 @@ }, "inner": [ { - "id": "0x3882760", + "id": "0x7f0da6e4ac90", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 24930, + "offset": 26043, "col": 11, "tokLen": 12 }, "end": { - "offset": 24970, + "offset": 26083, "col": 51, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -23847,73 +24512,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x3882748", + "id": "0x7f0da6e4ac78", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x3882730", + "id": "0x7f0da6e4ac60", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x3882710", + "id": "0x7f0da6e4ac40", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x3882708", + "temp": "0x7f0da6e4ac38", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -23922,89 +24587,89 @@ }, "inner": [ { - "id": "0x38826d0", + "id": "0x7f0da6e4ac00", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38826b8", + "id": "0x7f0da6e4abe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 }, "end": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3882698", + "id": "0x7f0da6e4abc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 }, "end": { - "offset": 24967, + "offset": 26080, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x3882680", + "id": "0x7f0da6e4abb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 } @@ -24016,16 +24681,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3882260", + "id": "0x7f0da6e4a6d8", "kind": "StringLiteral", "range": { "begin": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 }, "end": { - "offset": 24943, + "offset": 26056, "col": 24, "tokLen": 23 } @@ -24039,16 +24704,16 @@ ] }, { - "id": "0x3882290", + "id": "0x7f0da6e4a708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 }, "end": { - "offset": 24969, + "offset": 26082, "col": 50, "tokLen": 1 } @@ -24056,11 +24721,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x387d760", + "id": "0x7f0da6e44418", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24095,29 +24760,29 @@ ] }, { - "id": "0x3882a18", + "id": "0x7f0da6e4af48", "kind": "FunctionDecl", "loc": { - "offset": 25003, + "offset": 26116, "file": "ToString.cpp", - "line": 805, + "line": 848, "col": 28, "tokLen": 8 }, "range": { "begin": { - "offset": 24976, + "offset": 26089, "col": 1, "tokLen": 8 }, "end": { - "offset": 30397, - "line": 991, + "offset": 31510, + "line": 1034, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368b638", + "previousDecl": "0x2d378468", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8dacIndexEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -24131,13 +24796,13 @@ }, "inner": [ { - "id": "0x2f57a00", + "id": "0x2cdbda40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::dacIndex" }, "decl": { - "id": "0x2f57958", + "id": "0x2cdbd998", "kind": "EnumDecl", "name": "dacIndex" } @@ -24145,22 +24810,22 @@ ] }, { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "loc": { - "offset": 25031, - "line": 805, + "offset": 26144, + "line": 848, "col": 56, "tokLen": 1 }, "range": { "begin": { - "offset": 25012, + "offset": 26125, "col": 37, "tokLen": 5 }, "end": { - "offset": 25031, + "offset": 26144, "col": 56, "tokLen": 1 } @@ -24172,52 +24837,52 @@ } }, { - "id": "0x7f1964637fa8", + "id": "0x7f0da6b95d80", "kind": "CompoundStmt", "range": { "begin": { - "offset": 25034, + "offset": 26147, "col": 59, "tokLen": 1 }, "end": { - "offset": 30397, - "line": 991, + "offset": 31510, + "line": 1034, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x3884820", + "id": "0x7f0da6e4d6e8", "kind": "IfStmt", "range": { "begin": { - "offset": 25040, - "line": 806, + "offset": 26153, + "line": 849, "col": 5, "tokLen": 2 }, "end": { - "offset": 25091, - "line": 807, + "offset": 26204, + "line": 850, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3884788", + "id": "0x7f0da6e4d650", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25044, - "line": 806, + "offset": 26157, + "line": 849, "col": 9, "tokLen": 1 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24229,16 +24894,16 @@ "opcode": "||", "inner": [ { - "id": "0x3883970", + "id": "0x7f0da6e4c388", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25044, + "offset": 26157, "col": 9, "tokLen": 1 }, "end": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 } @@ -24250,67 +24915,67 @@ "adl": true, "inner": [ { - "id": "0x3883958", + "id": "0x7f0da6e4c370", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 }, "end": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3883938", + "id": "0x7f0da6e4c350", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 }, "end": { - "offset": 25046, + "offset": 26159, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3882bd0", + "id": "0x7f0da6e4b130", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25044, + "offset": 26157, "col": 9, "tokLen": 1 }, "end": { - "offset": 25044, + "offset": 26157, "col": 9, "tokLen": 1 } @@ -24318,11 +24983,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24331,16 +24996,16 @@ } }, { - "id": "0x3883920", + "id": "0x7f0da6e4c338", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 }, "end": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 } @@ -24352,16 +25017,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3882bf0", + "id": "0x7f0da6e4b150", "kind": "StringLiteral", "range": { "begin": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 }, "end": { - "offset": 25049, + "offset": 26162, "col": 14, "tokLen": 7 } @@ -24377,16 +25042,16 @@ ] }, { - "id": "0x3884750", + "id": "0x7f0da6e4d618", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25060, + "offset": 26173, "col": 25, "tokLen": 1 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24398,67 +25063,67 @@ "adl": true, "inner": [ { - "id": "0x3884738", + "id": "0x7f0da6e4d600", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 }, "end": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3884718", + "id": "0x7f0da6e4d5e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 }, "end": { - "offset": 25062, + "offset": 26175, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38839a8", + "id": "0x7f0da6e4c3c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25060, + "offset": 26173, "col": 25, "tokLen": 1 }, "end": { - "offset": 25060, + "offset": 26173, "col": 25, "tokLen": 1 } @@ -24466,11 +25131,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24479,16 +25144,16 @@ } }, { - "id": "0x3884700", + "id": "0x7f0da6e4d5c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24500,16 +25165,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38839c8", + "id": "0x7f0da6e4c3e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 }, "end": { - "offset": 25065, + "offset": 26178, "col": 30, "tokLen": 3 } @@ -24527,33 +25192,33 @@ ] }, { - "id": "0x3884810", + "id": "0x7f0da6e4d6d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25078, - "line": 807, + "offset": 26191, + "line": 850, "col": 9, "tokLen": 6 }, "end": { - "offset": 25091, + "offset": 26204, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38847e0", + "id": "0x7f0da6e4d6a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25085, + "offset": 26198, "col": 16, "tokLen": 4 }, "end": { - "offset": 25091, + "offset": 26204, "col": 22, "tokLen": 5 } @@ -24563,7 +25228,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57a20", + "id": "0x2cdbda60", "kind": "EnumConstantDecl", "name": "DAC_0", "type": { @@ -24576,35 +25241,35 @@ ] }, { - "id": "0x38864d0", + "id": "0x7f0da6e4fcc8", "kind": "IfStmt", "range": { "begin": { - "offset": 25102, - "line": 808, + "offset": 26215, + "line": 851, "col": 5, "tokLen": 2 }, "end": { - "offset": 25153, - "line": 809, + "offset": 26266, + "line": 852, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3886438", + "id": "0x7f0da6e4fc30", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25106, - "line": 808, + "offset": 26219, + "line": 851, "col": 9, "tokLen": 1 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24616,16 +25281,16 @@ "opcode": "||", "inner": [ { - "id": "0x3885620", + "id": "0x7f0da6e4e968", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25106, + "offset": 26219, "col": 9, "tokLen": 1 }, "end": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 } @@ -24637,67 +25302,67 @@ "adl": true, "inner": [ { - "id": "0x3885608", + "id": "0x7f0da6e4e950", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 }, "end": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38855e8", + "id": "0x7f0da6e4e930", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 }, "end": { - "offset": 25108, + "offset": 26221, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3884840", + "id": "0x7f0da6e4d708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25106, + "offset": 26219, "col": 9, "tokLen": 1 }, "end": { - "offset": 25106, + "offset": 26219, "col": 9, "tokLen": 1 } @@ -24705,11 +25370,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24718,16 +25383,16 @@ } }, { - "id": "0x38855d0", + "id": "0x7f0da6e4e918", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 }, "end": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 } @@ -24739,16 +25404,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3884860", + "id": "0x7f0da6e4d728", "kind": "StringLiteral", "range": { "begin": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 }, "end": { - "offset": 25111, + "offset": 26224, "col": 14, "tokLen": 7 } @@ -24764,16 +25429,16 @@ ] }, { - "id": "0x3886400", + "id": "0x7f0da6e4fbf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25122, + "offset": 26235, "col": 25, "tokLen": 1 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24785,67 +25450,67 @@ "adl": true, "inner": [ { - "id": "0x38863e8", + "id": "0x7f0da6e4fbe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 }, "end": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38863c8", + "id": "0x7f0da6e4fbc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 }, "end": { - "offset": 25124, + "offset": 26237, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3885658", + "id": "0x7f0da6e4e9a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25122, + "offset": 26235, "col": 25, "tokLen": 1 }, "end": { - "offset": 25122, + "offset": 26235, "col": 25, "tokLen": 1 } @@ -24853,11 +25518,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -24866,16 +25531,16 @@ } }, { - "id": "0x38863b0", + "id": "0x7f0da6e4fba8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24887,16 +25552,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3885678", + "id": "0x7f0da6e4e9c0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 }, "end": { - "offset": 25127, + "offset": 26240, "col": 30, "tokLen": 3 } @@ -24914,33 +25579,33 @@ ] }, { - "id": "0x38864c0", + "id": "0x7f0da6e4fcb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25140, - "line": 809, + "offset": 26253, + "line": 852, "col": 9, "tokLen": 6 }, "end": { - "offset": 25153, + "offset": 26266, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3886490", + "id": "0x7f0da6e4fc88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25147, + "offset": 26260, "col": 16, "tokLen": 4 }, "end": { - "offset": 25153, + "offset": 26266, "col": 22, "tokLen": 5 } @@ -24950,7 +25615,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57a70", + "id": "0x2cdbdab0", "kind": "EnumConstantDecl", "name": "DAC_1", "type": { @@ -24963,35 +25628,35 @@ ] }, { - "id": "0x3888140", + "id": "0x7f0da6e522a8", "kind": "IfStmt", "range": { "begin": { - "offset": 25164, - "line": 810, + "offset": 26277, + "line": 853, "col": 5, "tokLen": 2 }, "end": { - "offset": 25215, - "line": 811, + "offset": 26328, + "line": 854, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38880a8", + "id": "0x7f0da6e52210", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25168, - "line": 810, + "offset": 26281, + "line": 853, "col": 9, "tokLen": 1 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25003,16 +25668,16 @@ "opcode": "||", "inner": [ { - "id": "0x3887290", + "id": "0x7f0da6e50f48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25168, + "offset": 26281, "col": 9, "tokLen": 1 }, "end": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 } @@ -25024,67 +25689,67 @@ "adl": true, "inner": [ { - "id": "0x3887278", + "id": "0x7f0da6e50f30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 }, "end": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3887258", + "id": "0x7f0da6e50f10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 }, "end": { - "offset": 25170, + "offset": 26283, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38864f0", + "id": "0x7f0da6e4fce8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25168, + "offset": 26281, "col": 9, "tokLen": 1 }, "end": { - "offset": 25168, + "offset": 26281, "col": 9, "tokLen": 1 } @@ -25092,11 +25757,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25105,16 +25770,16 @@ } }, { - "id": "0x3887240", + "id": "0x7f0da6e50ef8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 }, "end": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 } @@ -25126,16 +25791,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3886510", + "id": "0x7f0da6e4fd08", "kind": "StringLiteral", "range": { "begin": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 }, "end": { - "offset": 25173, + "offset": 26286, "col": 14, "tokLen": 7 } @@ -25151,16 +25816,16 @@ ] }, { - "id": "0x3888070", + "id": "0x7f0da6e521d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25184, + "offset": 26297, "col": 25, "tokLen": 1 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25172,67 +25837,67 @@ "adl": true, "inner": [ { - "id": "0x3888058", + "id": "0x7f0da6e521c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 }, "end": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3888038", + "id": "0x7f0da6e521a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 }, "end": { - "offset": 25186, + "offset": 26299, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38872c8", + "id": "0x7f0da6e50f80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25184, + "offset": 26297, "col": 25, "tokLen": 1 }, "end": { - "offset": 25184, + "offset": 26297, "col": 25, "tokLen": 1 } @@ -25240,11 +25905,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25253,16 +25918,16 @@ } }, { - "id": "0x3888020", + "id": "0x7f0da6e52188", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25274,16 +25939,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38872e8", + "id": "0x7f0da6e50fa0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 }, "end": { - "offset": 25189, + "offset": 26302, "col": 30, "tokLen": 3 } @@ -25301,33 +25966,33 @@ ] }, { - "id": "0x3888130", + "id": "0x7f0da6e52298", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25202, - "line": 811, + "offset": 26315, + "line": 854, "col": 9, "tokLen": 6 }, "end": { - "offset": 25215, + "offset": 26328, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3888100", + "id": "0x7f0da6e52268", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25209, + "offset": 26322, "col": 16, "tokLen": 4 }, "end": { - "offset": 25215, + "offset": 26328, "col": 22, "tokLen": 5 } @@ -25337,7 +26002,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57ac0", + "id": "0x2cdbdb00", "kind": "EnumConstantDecl", "name": "DAC_2", "type": { @@ -25350,35 +26015,35 @@ ] }, { - "id": "0x3889db0", + "id": "0x7f0da6e54888", "kind": "IfStmt", "range": { "begin": { - "offset": 25226, - "line": 812, + "offset": 26339, + "line": 855, "col": 5, "tokLen": 2 }, "end": { - "offset": 25277, - "line": 813, + "offset": 26390, + "line": 856, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3889d18", + "id": "0x7f0da6e547f0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25230, - "line": 812, + "offset": 26343, + "line": 855, "col": 9, "tokLen": 1 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25390,16 +26055,16 @@ "opcode": "||", "inner": [ { - "id": "0x3888f00", + "id": "0x7f0da6e53528", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25230, + "offset": 26343, "col": 9, "tokLen": 1 }, "end": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 } @@ -25411,67 +26076,67 @@ "adl": true, "inner": [ { - "id": "0x3888ee8", + "id": "0x7f0da6e53510", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 }, "end": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3888ec8", + "id": "0x7f0da6e534f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 }, "end": { - "offset": 25232, + "offset": 26345, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3888160", + "id": "0x7f0da6e522c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25230, + "offset": 26343, "col": 9, "tokLen": 1 }, "end": { - "offset": 25230, + "offset": 26343, "col": 9, "tokLen": 1 } @@ -25479,11 +26144,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25492,16 +26157,16 @@ } }, { - "id": "0x3888eb0", + "id": "0x7f0da6e534d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 }, "end": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 } @@ -25513,16 +26178,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3888180", + "id": "0x7f0da6e522e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 }, "end": { - "offset": 25235, + "offset": 26348, "col": 14, "tokLen": 7 } @@ -25538,16 +26203,16 @@ ] }, { - "id": "0x3889ce0", + "id": "0x7f0da6e547b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25246, + "offset": 26359, "col": 25, "tokLen": 1 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25559,67 +26224,67 @@ "adl": true, "inner": [ { - "id": "0x3889cc8", + "id": "0x7f0da6e547a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 }, "end": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3889ca8", + "id": "0x7f0da6e54780", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 }, "end": { - "offset": 25248, + "offset": 26361, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3888f38", + "id": "0x7f0da6e53560", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25246, + "offset": 26359, "col": 25, "tokLen": 1 }, "end": { - "offset": 25246, + "offset": 26359, "col": 25, "tokLen": 1 } @@ -25627,11 +26292,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25640,16 +26305,16 @@ } }, { - "id": "0x3889c90", + "id": "0x7f0da6e54768", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25661,16 +26326,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3888f58", + "id": "0x7f0da6e53580", "kind": "StringLiteral", "range": { "begin": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 }, "end": { - "offset": 25251, + "offset": 26364, "col": 30, "tokLen": 3 } @@ -25688,33 +26353,33 @@ ] }, { - "id": "0x3889da0", + "id": "0x7f0da6e54878", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25264, - "line": 813, + "offset": 26377, + "line": 856, "col": 9, "tokLen": 6 }, "end": { - "offset": 25277, + "offset": 26390, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3889d70", + "id": "0x7f0da6e54848", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25271, + "offset": 26384, "col": 16, "tokLen": 4 }, "end": { - "offset": 25277, + "offset": 26390, "col": 22, "tokLen": 5 } @@ -25724,7 +26389,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57b10", + "id": "0x2cdbdb50", "kind": "EnumConstantDecl", "name": "DAC_3", "type": { @@ -25737,35 +26402,35 @@ ] }, { - "id": "0x388ba20", + "id": "0x7f0da6be0e68", "kind": "IfStmt", "range": { "begin": { - "offset": 25288, - "line": 814, + "offset": 26401, + "line": 857, "col": 5, "tokLen": 2 }, "end": { - "offset": 25339, - "line": 815, + "offset": 26452, + "line": 858, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388b988", + "id": "0x7f0da6be0dd0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25292, - "line": 814, + "offset": 26405, + "line": 857, "col": 9, "tokLen": 1 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -25777,16 +26442,16 @@ "opcode": "||", "inner": [ { - "id": "0x388ab70", + "id": "0x7f0da6bdfb08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25292, + "offset": 26405, "col": 9, "tokLen": 1 }, "end": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 } @@ -25798,67 +26463,67 @@ "adl": true, "inner": [ { - "id": "0x388ab58", + "id": "0x7f0da6bdfaf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 }, "end": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388ab38", + "id": "0x7f0da6bdfad0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 }, "end": { - "offset": 25294, + "offset": 26407, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3889dd0", + "id": "0x7f0da6e548a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25292, + "offset": 26405, "col": 9, "tokLen": 1 }, "end": { - "offset": 25292, + "offset": 26405, "col": 9, "tokLen": 1 } @@ -25866,11 +26531,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -25879,16 +26544,16 @@ } }, { - "id": "0x388ab20", + "id": "0x7f0da6bdfab8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 }, "end": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 } @@ -25900,16 +26565,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3889df0", + "id": "0x7f0da6e548c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 }, "end": { - "offset": 25297, + "offset": 26410, "col": 14, "tokLen": 7 } @@ -25925,16 +26590,16 @@ ] }, { - "id": "0x388b950", + "id": "0x7f0da6be0d98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25308, + "offset": 26421, "col": 25, "tokLen": 1 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -25946,67 +26611,67 @@ "adl": true, "inner": [ { - "id": "0x388b938", + "id": "0x7f0da6be0d80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 }, "end": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388b918", + "id": "0x7f0da6be0d60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 }, "end": { - "offset": 25310, + "offset": 26423, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388aba8", + "id": "0x7f0da6bdfb40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25308, + "offset": 26421, "col": 25, "tokLen": 1 }, "end": { - "offset": 25308, + "offset": 26421, "col": 25, "tokLen": 1 } @@ -26014,11 +26679,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26027,16 +26692,16 @@ } }, { - "id": "0x388b900", + "id": "0x7f0da6be0d48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -26048,16 +26713,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388abc8", + "id": "0x7f0da6bdfb60", "kind": "StringLiteral", "range": { "begin": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 }, "end": { - "offset": 25313, + "offset": 26426, "col": 30, "tokLen": 3 } @@ -26075,33 +26740,33 @@ ] }, { - "id": "0x388ba10", + "id": "0x7f0da6be0e58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25326, - "line": 815, + "offset": 26439, + "line": 858, "col": 9, "tokLen": 6 }, "end": { - "offset": 25339, + "offset": 26452, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388b9e0", + "id": "0x7f0da6be0e28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25333, + "offset": 26446, "col": 16, "tokLen": 4 }, "end": { - "offset": 25339, + "offset": 26452, "col": 22, "tokLen": 5 } @@ -26111,7 +26776,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57b60", + "id": "0x2cdbdba0", "kind": "EnumConstantDecl", "name": "DAC_4", "type": { @@ -26124,35 +26789,35 @@ ] }, { - "id": "0x388d690", + "id": "0x7f0da6be3448", "kind": "IfStmt", "range": { "begin": { - "offset": 25350, - "line": 816, + "offset": 26463, + "line": 859, "col": 5, "tokLen": 2 }, "end": { - "offset": 25401, - "line": 817, + "offset": 26514, + "line": 860, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388d5f8", + "id": "0x7f0da6be33b0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25354, - "line": 816, + "offset": 26467, + "line": 859, "col": 9, "tokLen": 1 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26164,16 +26829,16 @@ "opcode": "||", "inner": [ { - "id": "0x388c7e0", + "id": "0x7f0da6be20e8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25354, + "offset": 26467, "col": 9, "tokLen": 1 }, "end": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 } @@ -26185,67 +26850,67 @@ "adl": true, "inner": [ { - "id": "0x388c7c8", + "id": "0x7f0da6be20d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 }, "end": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388c7a8", + "id": "0x7f0da6be20b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 }, "end": { - "offset": 25356, + "offset": 26469, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388ba40", + "id": "0x7f0da6be0e88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25354, + "offset": 26467, "col": 9, "tokLen": 1 }, "end": { - "offset": 25354, + "offset": 26467, "col": 9, "tokLen": 1 } @@ -26253,11 +26918,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26266,16 +26931,16 @@ } }, { - "id": "0x388c790", + "id": "0x7f0da6be2098", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 }, "end": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 } @@ -26287,16 +26952,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388ba60", + "id": "0x7f0da6be0ea8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 }, "end": { - "offset": 25359, + "offset": 26472, "col": 14, "tokLen": 7 } @@ -26312,16 +26977,16 @@ ] }, { - "id": "0x388d5c0", + "id": "0x7f0da6be3378", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25370, + "offset": 26483, "col": 25, "tokLen": 1 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26333,67 +26998,67 @@ "adl": true, "inner": [ { - "id": "0x388d5a8", + "id": "0x7f0da6be3360", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 }, "end": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388d588", + "id": "0x7f0da6be3340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 }, "end": { - "offset": 25372, + "offset": 26485, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388c818", + "id": "0x7f0da6be2120", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25370, + "offset": 26483, "col": 25, "tokLen": 1 }, "end": { - "offset": 25370, + "offset": 26483, "col": 25, "tokLen": 1 } @@ -26401,11 +27066,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26414,16 +27079,16 @@ } }, { - "id": "0x388d570", + "id": "0x7f0da6be3328", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26435,16 +27100,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388c838", + "id": "0x7f0da6be2140", "kind": "StringLiteral", "range": { "begin": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 }, "end": { - "offset": 25375, + "offset": 26488, "col": 30, "tokLen": 3 } @@ -26462,33 +27127,33 @@ ] }, { - "id": "0x388d680", + "id": "0x7f0da6be3438", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25388, - "line": 817, + "offset": 26501, + "line": 860, "col": 9, "tokLen": 6 }, "end": { - "offset": 25401, + "offset": 26514, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388d650", + "id": "0x7f0da6be3408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25395, + "offset": 26508, "col": 16, "tokLen": 4 }, "end": { - "offset": 25401, + "offset": 26514, "col": 22, "tokLen": 5 } @@ -26498,7 +27163,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57bb0", + "id": "0x2cdbdbf0", "kind": "EnumConstantDecl", "name": "DAC_5", "type": { @@ -26511,35 +27176,35 @@ ] }, { - "id": "0x388f300", + "id": "0x7f0da6be5a28", "kind": "IfStmt", "range": { "begin": { - "offset": 25412, - "line": 818, + "offset": 26525, + "line": 861, "col": 5, "tokLen": 2 }, "end": { - "offset": 25463, - "line": 819, + "offset": 26576, + "line": 862, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388f268", + "id": "0x7f0da6be5990", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25416, - "line": 818, + "offset": 26529, + "line": 861, "col": 9, "tokLen": 1 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26551,16 +27216,16 @@ "opcode": "||", "inner": [ { - "id": "0x388e450", + "id": "0x7f0da6be46c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25416, + "offset": 26529, "col": 9, "tokLen": 1 }, "end": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 } @@ -26572,67 +27237,67 @@ "adl": true, "inner": [ { - "id": "0x388e438", + "id": "0x7f0da6be46b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 }, "end": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388e418", + "id": "0x7f0da6be4690", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 }, "end": { - "offset": 25418, + "offset": 26531, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388d6b0", + "id": "0x7f0da6be3468", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25416, + "offset": 26529, "col": 9, "tokLen": 1 }, "end": { - "offset": 25416, + "offset": 26529, "col": 9, "tokLen": 1 } @@ -26640,11 +27305,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26653,16 +27318,16 @@ } }, { - "id": "0x388e400", + "id": "0x7f0da6be4678", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 }, "end": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 } @@ -26674,16 +27339,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388d6d0", + "id": "0x7f0da6be3488", "kind": "StringLiteral", "range": { "begin": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 }, "end": { - "offset": 25421, + "offset": 26534, "col": 14, "tokLen": 7 } @@ -26699,16 +27364,16 @@ ] }, { - "id": "0x388f230", + "id": "0x7f0da6be5958", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25432, + "offset": 26545, "col": 25, "tokLen": 1 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26720,67 +27385,67 @@ "adl": true, "inner": [ { - "id": "0x388f218", + "id": "0x7f0da6be5940", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 }, "end": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x388f1f8", + "id": "0x7f0da6be5920", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 }, "end": { - "offset": 25434, + "offset": 26547, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388e488", + "id": "0x7f0da6be4700", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25432, + "offset": 26545, "col": 25, "tokLen": 1 }, "end": { - "offset": 25432, + "offset": 26545, "col": 25, "tokLen": 1 } @@ -26788,11 +27453,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -26801,16 +27466,16 @@ } }, { - "id": "0x388f1e0", + "id": "0x7f0da6be5908", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26822,16 +27487,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388e4a8", + "id": "0x7f0da6be4720", "kind": "StringLiteral", "range": { "begin": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 }, "end": { - "offset": 25437, + "offset": 26550, "col": 30, "tokLen": 3 } @@ -26849,33 +27514,33 @@ ] }, { - "id": "0x388f2f0", + "id": "0x7f0da6be5a18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25450, - "line": 819, + "offset": 26563, + "line": 862, "col": 9, "tokLen": 6 }, "end": { - "offset": 25463, + "offset": 26576, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x388f2c0", + "id": "0x7f0da6be59e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25457, + "offset": 26570, "col": 16, "tokLen": 4 }, "end": { - "offset": 25463, + "offset": 26576, "col": 22, "tokLen": 5 } @@ -26885,7 +27550,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57c00", + "id": "0x2cdbdc40", "kind": "EnumConstantDecl", "name": "DAC_6", "type": { @@ -26898,35 +27563,35 @@ ] }, { - "id": "0x3890f70", + "id": "0x7f0da6be8008", "kind": "IfStmt", "range": { "begin": { - "offset": 25474, - "line": 820, + "offset": 26587, + "line": 863, "col": 5, "tokLen": 2 }, "end": { - "offset": 25525, - "line": 821, + "offset": 26638, + "line": 864, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3890ed8", + "id": "0x7f0da6be7f70", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25478, - "line": 820, + "offset": 26591, + "line": 863, "col": 9, "tokLen": 1 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -26938,16 +27603,16 @@ "opcode": "||", "inner": [ { - "id": "0x38900c0", + "id": "0x7f0da6be6ca8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25478, + "offset": 26591, "col": 9, "tokLen": 1 }, "end": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 } @@ -26959,67 +27624,67 @@ "adl": true, "inner": [ { - "id": "0x38900a8", + "id": "0x7f0da6be6c90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 }, "end": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3890088", + "id": "0x7f0da6be6c70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 }, "end": { - "offset": 25480, + "offset": 26593, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x388f320", + "id": "0x7f0da6be5a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25478, + "offset": 26591, "col": 9, "tokLen": 1 }, "end": { - "offset": 25478, + "offset": 26591, "col": 9, "tokLen": 1 } @@ -27027,11 +27692,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27040,16 +27705,16 @@ } }, { - "id": "0x3890070", + "id": "0x7f0da6be6c58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 }, "end": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 } @@ -27061,16 +27726,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x388f340", + "id": "0x7f0da6be5a68", "kind": "StringLiteral", "range": { "begin": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 }, "end": { - "offset": 25483, + "offset": 26596, "col": 14, "tokLen": 7 } @@ -27086,16 +27751,16 @@ ] }, { - "id": "0x3890ea0", + "id": "0x7f0da6be7f38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25494, + "offset": 26607, "col": 25, "tokLen": 1 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -27107,67 +27772,67 @@ "adl": true, "inner": [ { - "id": "0x3890e88", + "id": "0x7f0da6be7f20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 }, "end": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3890e68", + "id": "0x7f0da6be7f00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 }, "end": { - "offset": 25496, + "offset": 26609, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38900f8", + "id": "0x7f0da6be6ce0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25494, + "offset": 26607, "col": 25, "tokLen": 1 }, "end": { - "offset": 25494, + "offset": 26607, "col": 25, "tokLen": 1 } @@ -27175,11 +27840,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27188,16 +27853,16 @@ } }, { - "id": "0x3890e50", + "id": "0x7f0da6be7ee8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -27209,16 +27874,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3890118", + "id": "0x7f0da6be6d00", "kind": "StringLiteral", "range": { "begin": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 }, "end": { - "offset": 25499, + "offset": 26612, "col": 30, "tokLen": 3 } @@ -27236,33 +27901,33 @@ ] }, { - "id": "0x3890f60", + "id": "0x7f0da6be7ff8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25512, - "line": 821, + "offset": 26625, + "line": 864, "col": 9, "tokLen": 6 }, "end": { - "offset": 25525, + "offset": 26638, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3890f30", + "id": "0x7f0da6be7fc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25519, + "offset": 26632, "col": 16, "tokLen": 4 }, "end": { - "offset": 25525, + "offset": 26638, "col": 22, "tokLen": 5 } @@ -27272,7 +27937,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57c50", + "id": "0x2cdbdc90", "kind": "EnumConstantDecl", "name": "DAC_7", "type": { @@ -27285,35 +27950,35 @@ ] }, { - "id": "0x3892be0", + "id": "0x7f0da6bea5e8", "kind": "IfStmt", "range": { "begin": { - "offset": 25536, - "line": 822, + "offset": 26649, + "line": 865, "col": 5, "tokLen": 2 }, "end": { - "offset": 25587, - "line": 823, + "offset": 26700, + "line": 866, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3892b48", + "id": "0x7f0da6bea550", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25540, - "line": 822, + "offset": 26653, + "line": 865, "col": 9, "tokLen": 1 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27325,16 +27990,16 @@ "opcode": "||", "inner": [ { - "id": "0x3891d30", + "id": "0x7f0da6be9288", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25540, + "offset": 26653, "col": 9, "tokLen": 1 }, "end": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 } @@ -27346,67 +28011,67 @@ "adl": true, "inner": [ { - "id": "0x3891d18", + "id": "0x7f0da6be9270", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 }, "end": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3891cf8", + "id": "0x7f0da6be9250", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 }, "end": { - "offset": 25542, + "offset": 26655, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3890f90", + "id": "0x7f0da6be8028", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25540, + "offset": 26653, "col": 9, "tokLen": 1 }, "end": { - "offset": 25540, + "offset": 26653, "col": 9, "tokLen": 1 } @@ -27414,11 +28079,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27427,16 +28092,16 @@ } }, { - "id": "0x3891ce0", + "id": "0x7f0da6be9238", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 }, "end": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 } @@ -27448,16 +28113,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3890fb0", + "id": "0x7f0da6be8048", "kind": "StringLiteral", "range": { "begin": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 }, "end": { - "offset": 25545, + "offset": 26658, "col": 14, "tokLen": 7 } @@ -27473,16 +28138,16 @@ ] }, { - "id": "0x3892b10", + "id": "0x7f0da6bea518", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25556, + "offset": 26669, "col": 25, "tokLen": 1 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27494,67 +28159,67 @@ "adl": true, "inner": [ { - "id": "0x3892af8", + "id": "0x7f0da6bea500", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 }, "end": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3892ad8", + "id": "0x7f0da6bea4e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 }, "end": { - "offset": 25558, + "offset": 26671, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3891d68", + "id": "0x7f0da6be92c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25556, + "offset": 26669, "col": 25, "tokLen": 1 }, "end": { - "offset": 25556, + "offset": 26669, "col": 25, "tokLen": 1 } @@ -27562,11 +28227,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27575,16 +28240,16 @@ } }, { - "id": "0x3892ac0", + "id": "0x7f0da6bea4c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27596,16 +28261,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3891d88", + "id": "0x7f0da6be92e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 }, "end": { - "offset": 25561, + "offset": 26674, "col": 30, "tokLen": 3 } @@ -27623,33 +28288,33 @@ ] }, { - "id": "0x3892bd0", + "id": "0x7f0da6bea5d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25574, - "line": 823, + "offset": 26687, + "line": 866, "col": 9, "tokLen": 6 }, "end": { - "offset": 25587, + "offset": 26700, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3892ba0", + "id": "0x7f0da6bea5a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25581, + "offset": 26694, "col": 16, "tokLen": 4 }, "end": { - "offset": 25587, + "offset": 26700, "col": 22, "tokLen": 5 } @@ -27659,7 +28324,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57ca0", + "id": "0x2cdbdce0", "kind": "EnumConstantDecl", "name": "DAC_8", "type": { @@ -27672,35 +28337,35 @@ ] }, { - "id": "0x3894850", + "id": "0x7f0da6becbc8", "kind": "IfStmt", "range": { "begin": { - "offset": 25598, - "line": 824, + "offset": 26711, + "line": 867, "col": 5, "tokLen": 2 }, "end": { - "offset": 25649, - "line": 825, + "offset": 26762, + "line": 868, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38947b8", + "id": "0x7f0da6becb30", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25602, - "line": 824, + "offset": 26715, + "line": 867, "col": 9, "tokLen": 1 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -27712,16 +28377,16 @@ "opcode": "||", "inner": [ { - "id": "0x38939a0", + "id": "0x7f0da6beb868", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25602, + "offset": 26715, "col": 9, "tokLen": 1 }, "end": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 } @@ -27733,67 +28398,67 @@ "adl": true, "inner": [ { - "id": "0x3893988", + "id": "0x7f0da6beb850", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 }, "end": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3893968", + "id": "0x7f0da6beb830", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 }, "end": { - "offset": 25604, + "offset": 26717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3892c00", + "id": "0x7f0da6bea608", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25602, + "offset": 26715, "col": 9, "tokLen": 1 }, "end": { - "offset": 25602, + "offset": 26715, "col": 9, "tokLen": 1 } @@ -27801,11 +28466,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27814,16 +28479,16 @@ } }, { - "id": "0x3893950", + "id": "0x7f0da6beb818", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 }, "end": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 } @@ -27835,16 +28500,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3892c20", + "id": "0x7f0da6bea628", "kind": "StringLiteral", "range": { "begin": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 }, "end": { - "offset": 25607, + "offset": 26720, "col": 14, "tokLen": 7 } @@ -27860,16 +28525,16 @@ ] }, { - "id": "0x3894780", + "id": "0x7f0da6becaf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25618, + "offset": 26731, "col": 25, "tokLen": 1 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -27881,67 +28546,67 @@ "adl": true, "inner": [ { - "id": "0x3894768", + "id": "0x7f0da6becae0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 }, "end": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3894748", + "id": "0x7f0da6becac0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 }, "end": { - "offset": 25620, + "offset": 26733, "col": 27, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38939d8", + "id": "0x7f0da6beb8a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25618, + "offset": 26731, "col": 25, "tokLen": 1 }, "end": { - "offset": 25618, + "offset": 26731, "col": 25, "tokLen": 1 } @@ -27949,11 +28614,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -27962,16 +28627,16 @@ } }, { - "id": "0x3894730", + "id": "0x7f0da6becaa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -27983,16 +28648,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38939f8", + "id": "0x7f0da6beb8c0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 }, "end": { - "offset": 25623, + "offset": 26736, "col": 30, "tokLen": 3 } @@ -28010,33 +28675,33 @@ ] }, { - "id": "0x3894840", + "id": "0x7f0da6becbb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25636, - "line": 825, + "offset": 26749, + "line": 868, "col": 9, "tokLen": 6 }, "end": { - "offset": 25649, + "offset": 26762, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x3894810", + "id": "0x7f0da6becb88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25643, + "offset": 26756, "col": 16, "tokLen": 4 }, "end": { - "offset": 25649, + "offset": 26762, "col": 22, "tokLen": 5 } @@ -28046,7 +28711,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57cf0", + "id": "0x2cdbdd30", "kind": "EnumConstantDecl", "name": "DAC_9", "type": { @@ -28059,35 +28724,35 @@ ] }, { - "id": "0x38964e0", + "id": "0x7f0da6bef1a8", "kind": "IfStmt", "range": { "begin": { - "offset": 25660, - "line": 826, + "offset": 26773, + "line": 869, "col": 5, "tokLen": 2 }, "end": { - "offset": 25713, - "line": 827, + "offset": 26826, + "line": 870, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3896448", + "id": "0x7f0da6bef110", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25664, - "line": 826, + "offset": 26777, + "line": 869, "col": 9, "tokLen": 1 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28099,16 +28764,16 @@ "opcode": "||", "inner": [ { - "id": "0x3895630", + "id": "0x7f0da6bede48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25664, + "offset": 26777, "col": 9, "tokLen": 1 }, "end": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 } @@ -28120,67 +28785,67 @@ "adl": true, "inner": [ { - "id": "0x3895618", + "id": "0x7f0da6bede30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 }, "end": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38955f8", + "id": "0x7f0da6bede10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 }, "end": { - "offset": 25666, + "offset": 26779, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3894870", + "id": "0x7f0da6becbe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25664, + "offset": 26777, "col": 9, "tokLen": 1 }, "end": { - "offset": 25664, + "offset": 26777, "col": 9, "tokLen": 1 } @@ -28188,11 +28853,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28201,16 +28866,16 @@ } }, { - "id": "0x38955e0", + "id": "0x7f0da6beddf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 }, "end": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 } @@ -28222,16 +28887,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3894890", + "id": "0x7f0da6becc08", "kind": "StringLiteral", "range": { "begin": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 }, "end": { - "offset": 25669, + "offset": 26782, "col": 14, "tokLen": 8 } @@ -28247,16 +28912,16 @@ ] }, { - "id": "0x3896410", + "id": "0x7f0da6bef0d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25681, + "offset": 26794, "col": 26, "tokLen": 1 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28268,67 +28933,67 @@ "adl": true, "inner": [ { - "id": "0x38963f8", + "id": "0x7f0da6bef0c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 }, "end": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38963d8", + "id": "0x7f0da6bef0a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 }, "end": { - "offset": 25683, + "offset": 26796, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3895668", + "id": "0x7f0da6bede80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25681, + "offset": 26794, "col": 26, "tokLen": 1 }, "end": { - "offset": 25681, + "offset": 26794, "col": 26, "tokLen": 1 } @@ -28336,11 +29001,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28349,16 +29014,16 @@ } }, { - "id": "0x38963c0", + "id": "0x7f0da6bef088", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28370,16 +29035,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3895688", + "id": "0x7f0da6bedea0", "kind": "StringLiteral", "range": { "begin": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 }, "end": { - "offset": 25686, + "offset": 26799, "col": 31, "tokLen": 4 } @@ -28397,33 +29062,33 @@ ] }, { - "id": "0x38964d0", + "id": "0x7f0da6bef198", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25700, - "line": 827, + "offset": 26813, + "line": 870, "col": 9, "tokLen": 6 }, "end": { - "offset": 25713, + "offset": 26826, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38964a0", + "id": "0x7f0da6bef168", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25707, + "offset": 26820, "col": 16, "tokLen": 4 }, "end": { - "offset": 25713, + "offset": 26826, "col": 22, "tokLen": 6 } @@ -28433,7 +29098,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57d40", + "id": "0x2cdbdd80", "kind": "EnumConstantDecl", "name": "DAC_10", "type": { @@ -28446,35 +29111,35 @@ ] }, { - "id": "0x3898150", + "id": "0x7f0da6bf1788", "kind": "IfStmt", "range": { "begin": { - "offset": 25725, - "line": 828, + "offset": 26838, + "line": 871, "col": 5, "tokLen": 2 }, "end": { - "offset": 25778, - "line": 829, + "offset": 26891, + "line": 872, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38980b8", + "id": "0x7f0da6bf16f0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25729, - "line": 828, + "offset": 26842, + "line": 871, "col": 9, "tokLen": 1 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28486,16 +29151,16 @@ "opcode": "||", "inner": [ { - "id": "0x38972a0", + "id": "0x7f0da6bf0428", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25729, + "offset": 26842, "col": 9, "tokLen": 1 }, "end": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 } @@ -28507,67 +29172,67 @@ "adl": true, "inner": [ { - "id": "0x3897288", + "id": "0x7f0da6bf0410", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 }, "end": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3897268", + "id": "0x7f0da6bf03f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 }, "end": { - "offset": 25731, + "offset": 26844, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3896500", + "id": "0x7f0da6bef1c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25729, + "offset": 26842, "col": 9, "tokLen": 1 }, "end": { - "offset": 25729, + "offset": 26842, "col": 9, "tokLen": 1 } @@ -28575,11 +29240,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28588,16 +29253,16 @@ } }, { - "id": "0x3897250", + "id": "0x7f0da6bf03d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 }, "end": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 } @@ -28609,16 +29274,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3896520", + "id": "0x7f0da6bef1e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 }, "end": { - "offset": 25734, + "offset": 26847, "col": 14, "tokLen": 8 } @@ -28634,16 +29299,16 @@ ] }, { - "id": "0x3898080", + "id": "0x7f0da6bf16b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25746, + "offset": 26859, "col": 26, "tokLen": 1 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28655,67 +29320,67 @@ "adl": true, "inner": [ { - "id": "0x3898068", + "id": "0x7f0da6bf16a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 }, "end": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3898048", + "id": "0x7f0da6bf1680", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 }, "end": { - "offset": 25748, + "offset": 26861, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38972d8", + "id": "0x7f0da6bf0460", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25746, + "offset": 26859, "col": 26, "tokLen": 1 }, "end": { - "offset": 25746, + "offset": 26859, "col": 26, "tokLen": 1 } @@ -28723,11 +29388,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28736,16 +29401,16 @@ } }, { - "id": "0x3898030", + "id": "0x7f0da6bf1668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28757,16 +29422,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38972f8", + "id": "0x7f0da6bf0480", "kind": "StringLiteral", "range": { "begin": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 }, "end": { - "offset": 25751, + "offset": 26864, "col": 31, "tokLen": 4 } @@ -28784,33 +29449,33 @@ ] }, { - "id": "0x3898140", + "id": "0x7f0da6bf1778", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25765, - "line": 829, + "offset": 26878, + "line": 872, "col": 9, "tokLen": 6 }, "end": { - "offset": 25778, + "offset": 26891, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3898110", + "id": "0x7f0da6bf1748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25772, + "offset": 26885, "col": 16, "tokLen": 4 }, "end": { - "offset": 25778, + "offset": 26891, "col": 22, "tokLen": 6 } @@ -28820,7 +29485,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57d90", + "id": "0x2cdbddd0", "kind": "EnumConstantDecl", "name": "DAC_11", "type": { @@ -28833,35 +29498,35 @@ ] }, { - "id": "0x3899dc0", + "id": "0x7f0da6bf3d68", "kind": "IfStmt", "range": { "begin": { - "offset": 25790, - "line": 830, + "offset": 26903, + "line": 873, "col": 5, "tokLen": 2 }, "end": { - "offset": 25843, - "line": 831, + "offset": 26956, + "line": 874, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3899d28", + "id": "0x7f0da6bf3cd0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25794, - "line": 830, + "offset": 26907, + "line": 873, "col": 9, "tokLen": 1 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -28873,16 +29538,16 @@ "opcode": "||", "inner": [ { - "id": "0x3898f10", + "id": "0x7f0da6bf2a08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25794, + "offset": 26907, "col": 9, "tokLen": 1 }, "end": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 } @@ -28894,67 +29559,67 @@ "adl": true, "inner": [ { - "id": "0x3898ef8", + "id": "0x7f0da6bf29f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 }, "end": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3898ed8", + "id": "0x7f0da6bf29d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 }, "end": { - "offset": 25796, + "offset": 26909, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3898170", + "id": "0x7f0da6bf17a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25794, + "offset": 26907, "col": 9, "tokLen": 1 }, "end": { - "offset": 25794, + "offset": 26907, "col": 9, "tokLen": 1 } @@ -28962,11 +29627,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -28975,16 +29640,16 @@ } }, { - "id": "0x3898ec0", + "id": "0x7f0da6bf29b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 }, "end": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 } @@ -28996,16 +29661,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3898190", + "id": "0x7f0da6bf17c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 }, "end": { - "offset": 25799, + "offset": 26912, "col": 14, "tokLen": 8 } @@ -29021,16 +29686,16 @@ ] }, { - "id": "0x3899cf0", + "id": "0x7f0da6bf3c98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25811, + "offset": 26924, "col": 26, "tokLen": 1 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -29042,67 +29707,67 @@ "adl": true, "inner": [ { - "id": "0x3899cd8", + "id": "0x7f0da6bf3c80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 }, "end": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x3899cb8", + "id": "0x7f0da6bf3c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 }, "end": { - "offset": 25813, + "offset": 26926, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3898f48", + "id": "0x7f0da6bf2a40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25811, + "offset": 26924, "col": 26, "tokLen": 1 }, "end": { - "offset": 25811, + "offset": 26924, "col": 26, "tokLen": 1 } @@ -29110,11 +29775,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29123,16 +29788,16 @@ } }, { - "id": "0x3899ca0", + "id": "0x7f0da6bf3c48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -29144,16 +29809,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3898f68", + "id": "0x7f0da6bf2a60", "kind": "StringLiteral", "range": { "begin": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 }, "end": { - "offset": 25816, + "offset": 26929, "col": 31, "tokLen": 4 } @@ -29171,33 +29836,33 @@ ] }, { - "id": "0x3899db0", + "id": "0x7f0da6bf3d58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25830, - "line": 831, + "offset": 26943, + "line": 874, "col": 9, "tokLen": 6 }, "end": { - "offset": 25843, + "offset": 26956, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x3899d80", + "id": "0x7f0da6bf3d28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25837, + "offset": 26950, "col": 16, "tokLen": 4 }, "end": { - "offset": 25843, + "offset": 26956, "col": 22, "tokLen": 6 } @@ -29207,7 +29872,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57de0", + "id": "0x2cdbde20", "kind": "EnumConstantDecl", "name": "DAC_12", "type": { @@ -29220,35 +29885,35 @@ ] }, { - "id": "0x389ba30", + "id": "0x7f0da6bf6348", "kind": "IfStmt", "range": { "begin": { - "offset": 25855, - "line": 832, + "offset": 26968, + "line": 875, "col": 5, "tokLen": 2 }, "end": { - "offset": 25908, - "line": 833, + "offset": 27021, + "line": 876, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389b998", + "id": "0x7f0da6bf62b0", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25859, - "line": 832, + "offset": 26972, + "line": 875, "col": 9, "tokLen": 1 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29260,16 +29925,16 @@ "opcode": "||", "inner": [ { - "id": "0x389ab80", + "id": "0x7f0da6bf4fe8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25859, + "offset": 26972, "col": 9, "tokLen": 1 }, "end": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 } @@ -29281,67 +29946,67 @@ "adl": true, "inner": [ { - "id": "0x389ab68", + "id": "0x7f0da6bf4fd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 }, "end": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389ab48", + "id": "0x7f0da6bf4fb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 }, "end": { - "offset": 25861, + "offset": 26974, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x3899de0", + "id": "0x7f0da6bf3d88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25859, + "offset": 26972, "col": 9, "tokLen": 1 }, "end": { - "offset": 25859, + "offset": 26972, "col": 9, "tokLen": 1 } @@ -29349,11 +30014,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29362,16 +30027,16 @@ } }, { - "id": "0x389ab30", + "id": "0x7f0da6bf4f98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 }, "end": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 } @@ -29383,16 +30048,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x3899e00", + "id": "0x7f0da6bf3da8", "kind": "StringLiteral", "range": { "begin": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 }, "end": { - "offset": 25864, + "offset": 26977, "col": 14, "tokLen": 8 } @@ -29408,16 +30073,16 @@ ] }, { - "id": "0x389b960", + "id": "0x7f0da6bf6278", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25876, + "offset": 26989, "col": 26, "tokLen": 1 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29429,67 +30094,67 @@ "adl": true, "inner": [ { - "id": "0x389b948", + "id": "0x7f0da6bf6260", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 }, "end": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389b928", + "id": "0x7f0da6bf6240", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 }, "end": { - "offset": 25878, + "offset": 26991, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389abb8", + "id": "0x7f0da6bf5020", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25876, + "offset": 26989, "col": 26, "tokLen": 1 }, "end": { - "offset": 25876, + "offset": 26989, "col": 26, "tokLen": 1 } @@ -29497,11 +30162,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29510,16 +30175,16 @@ } }, { - "id": "0x389b910", + "id": "0x7f0da6bf6228", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29531,16 +30196,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389abd8", + "id": "0x7f0da6bf5040", "kind": "StringLiteral", "range": { "begin": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 }, "end": { - "offset": 25881, + "offset": 26994, "col": 31, "tokLen": 4 } @@ -29558,33 +30223,33 @@ ] }, { - "id": "0x389ba20", + "id": "0x7f0da6bf6338", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25895, - "line": 833, + "offset": 27008, + "line": 876, "col": 9, "tokLen": 6 }, "end": { - "offset": 25908, + "offset": 27021, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389b9f0", + "id": "0x7f0da6bf6308", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25902, + "offset": 27015, "col": 16, "tokLen": 4 }, "end": { - "offset": 25908, + "offset": 27021, "col": 22, "tokLen": 6 } @@ -29594,7 +30259,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57e30", + "id": "0x2cdbde70", "kind": "EnumConstantDecl", "name": "DAC_13", "type": { @@ -29607,35 +30272,35 @@ ] }, { - "id": "0x389d6a0", + "id": "0x7f0da6bf8928", "kind": "IfStmt", "range": { "begin": { - "offset": 25920, - "line": 834, + "offset": 27033, + "line": 877, "col": 5, "tokLen": 2 }, "end": { - "offset": 25973, - "line": 835, + "offset": 27086, + "line": 878, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389d608", + "id": "0x7f0da6bf8890", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25924, - "line": 834, + "offset": 27037, + "line": 877, "col": 9, "tokLen": 1 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29647,16 +30312,16 @@ "opcode": "||", "inner": [ { - "id": "0x389c7f0", + "id": "0x7f0da6bf75c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25924, + "offset": 27037, "col": 9, "tokLen": 1 }, "end": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 } @@ -29668,67 +30333,67 @@ "adl": true, "inner": [ { - "id": "0x389c7d8", + "id": "0x7f0da6bf75b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 }, "end": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389c7b8", + "id": "0x7f0da6bf7590", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 }, "end": { - "offset": 25926, + "offset": 27039, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389ba50", + "id": "0x7f0da6bf6368", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25924, + "offset": 27037, "col": 9, "tokLen": 1 }, "end": { - "offset": 25924, + "offset": 27037, "col": 9, "tokLen": 1 } @@ -29736,11 +30401,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29749,16 +30414,16 @@ } }, { - "id": "0x389c7a0", + "id": "0x7f0da6bf7578", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 }, "end": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 } @@ -29770,16 +30435,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389ba70", + "id": "0x7f0da6bf6388", "kind": "StringLiteral", "range": { "begin": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 }, "end": { - "offset": 25929, + "offset": 27042, "col": 14, "tokLen": 8 } @@ -29795,16 +30460,16 @@ ] }, { - "id": "0x389d5d0", + "id": "0x7f0da6bf8858", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25941, + "offset": 27054, "col": 26, "tokLen": 1 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29816,67 +30481,67 @@ "adl": true, "inner": [ { - "id": "0x389d5b8", + "id": "0x7f0da6bf8840", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 }, "end": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389d598", + "id": "0x7f0da6bf8820", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 }, "end": { - "offset": 25943, + "offset": 27056, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389c828", + "id": "0x7f0da6bf7600", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25941, + "offset": 27054, "col": 26, "tokLen": 1 }, "end": { - "offset": 25941, + "offset": 27054, "col": 26, "tokLen": 1 } @@ -29884,11 +30549,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -29897,16 +30562,16 @@ } }, { - "id": "0x389d580", + "id": "0x7f0da6bf8808", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29918,16 +30583,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389c848", + "id": "0x7f0da6bf7620", "kind": "StringLiteral", "range": { "begin": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 }, "end": { - "offset": 25946, + "offset": 27059, "col": 31, "tokLen": 4 } @@ -29945,33 +30610,33 @@ ] }, { - "id": "0x389d690", + "id": "0x7f0da6bf8918", "kind": "ReturnStmt", "range": { "begin": { - "offset": 25960, - "line": 835, + "offset": 27073, + "line": 878, "col": 9, "tokLen": 6 }, "end": { - "offset": 25973, + "offset": 27086, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389d660", + "id": "0x7f0da6bf88e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25967, + "offset": 27080, "col": 16, "tokLen": 4 }, "end": { - "offset": 25973, + "offset": 27086, "col": 22, "tokLen": 6 } @@ -29981,7 +30646,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57e80", + "id": "0x2cdbdec0", "kind": "EnumConstantDecl", "name": "DAC_14", "type": { @@ -29994,35 +30659,35 @@ ] }, { - "id": "0x389f310", + "id": "0x7f0da6bfaf08", "kind": "IfStmt", "range": { "begin": { - "offset": 25985, - "line": 836, + "offset": 27098, + "line": 879, "col": 5, "tokLen": 2 }, "end": { - "offset": 26038, - "line": 837, + "offset": 27151, + "line": 880, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389f278", + "id": "0x7f0da6bfae70", "kind": "BinaryOperator", "range": { "begin": { - "offset": 25989, - "line": 836, + "offset": 27102, + "line": 879, "col": 9, "tokLen": 1 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30034,16 +30699,16 @@ "opcode": "||", "inner": [ { - "id": "0x389e460", + "id": "0x7f0da6bf9ba8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 25989, + "offset": 27102, "col": 9, "tokLen": 1 }, "end": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 } @@ -30055,67 +30720,67 @@ "adl": true, "inner": [ { - "id": "0x389e448", + "id": "0x7f0da6bf9b90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 }, "end": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389e428", + "id": "0x7f0da6bf9b70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 }, "end": { - "offset": 25991, + "offset": 27104, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389d6c0", + "id": "0x7f0da6bf8948", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 25989, + "offset": 27102, "col": 9, "tokLen": 1 }, "end": { - "offset": 25989, + "offset": 27102, "col": 9, "tokLen": 1 } @@ -30123,11 +30788,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30136,16 +30801,16 @@ } }, { - "id": "0x389e410", + "id": "0x7f0da6bf9b58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 }, "end": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 } @@ -30157,16 +30822,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389d6e0", + "id": "0x7f0da6bf8968", "kind": "StringLiteral", "range": { "begin": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 }, "end": { - "offset": 25994, + "offset": 27107, "col": 14, "tokLen": 8 } @@ -30182,16 +30847,16 @@ ] }, { - "id": "0x389f240", + "id": "0x7f0da6bfae38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26006, + "offset": 27119, "col": 26, "tokLen": 1 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30203,67 +30868,67 @@ "adl": true, "inner": [ { - "id": "0x389f228", + "id": "0x7f0da6bfae20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 }, "end": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x389f208", + "id": "0x7f0da6bfae00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 }, "end": { - "offset": 26008, + "offset": 27121, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389e498", + "id": "0x7f0da6bf9be0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26006, + "offset": 27119, "col": 26, "tokLen": 1 }, "end": { - "offset": 26006, + "offset": 27119, "col": 26, "tokLen": 1 } @@ -30271,11 +30936,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30284,16 +30949,16 @@ } }, { - "id": "0x389f1f0", + "id": "0x7f0da6bfade8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30305,16 +30970,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389e4b8", + "id": "0x7f0da6bf9c00", "kind": "StringLiteral", "range": { "begin": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 }, "end": { - "offset": 26011, + "offset": 27124, "col": 31, "tokLen": 4 } @@ -30332,33 +30997,33 @@ ] }, { - "id": "0x389f300", + "id": "0x7f0da6bfaef8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26025, - "line": 837, + "offset": 27138, + "line": 880, "col": 9, "tokLen": 6 }, "end": { - "offset": 26038, + "offset": 27151, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x389f2d0", + "id": "0x7f0da6bfaec8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26032, + "offset": 27145, "col": 16, "tokLen": 4 }, "end": { - "offset": 26038, + "offset": 27151, "col": 22, "tokLen": 6 } @@ -30368,7 +31033,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57ed0", + "id": "0x2cdbdf10", "kind": "EnumConstantDecl", "name": "DAC_15", "type": { @@ -30381,35 +31046,35 @@ ] }, { - "id": "0x38a0f80", + "id": "0x7f0da6bfd4e8", "kind": "IfStmt", "range": { "begin": { - "offset": 26050, - "line": 838, + "offset": 27163, + "line": 881, "col": 5, "tokLen": 2 }, "end": { - "offset": 26103, - "line": 839, + "offset": 27216, + "line": 882, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a0ee8", + "id": "0x7f0da6bfd450", "kind": "BinaryOperator", "range": { "begin": { - "offset": 26054, - "line": 838, + "offset": 27167, + "line": 881, "col": 9, "tokLen": 1 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30421,16 +31086,16 @@ "opcode": "||", "inner": [ { - "id": "0x38a00d0", + "id": "0x7f0da6bfc188", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26054, + "offset": 27167, "col": 9, "tokLen": 1 }, "end": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 } @@ -30442,67 +31107,67 @@ "adl": true, "inner": [ { - "id": "0x38a00b8", + "id": "0x7f0da6bfc170", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 }, "end": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a0098", + "id": "0x7f0da6bfc150", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 }, "end": { - "offset": 26056, + "offset": 27169, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x389f330", + "id": "0x7f0da6bfaf28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26054, + "offset": 27167, "col": 9, "tokLen": 1 }, "end": { - "offset": 26054, + "offset": 27167, "col": 9, "tokLen": 1 } @@ -30510,11 +31175,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30523,16 +31188,16 @@ } }, { - "id": "0x38a0080", + "id": "0x7f0da6bfc138", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 }, "end": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 } @@ -30544,16 +31209,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x389f350", + "id": "0x7f0da6bfaf48", "kind": "StringLiteral", "range": { "begin": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 }, "end": { - "offset": 26059, + "offset": 27172, "col": 14, "tokLen": 8 } @@ -30569,16 +31234,16 @@ ] }, { - "id": "0x38a0eb0", + "id": "0x7f0da6bfd418", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26071, + "offset": 27184, "col": 26, "tokLen": 1 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30590,67 +31255,67 @@ "adl": true, "inner": [ { - "id": "0x38a0e98", + "id": "0x7f0da6bfd400", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 }, "end": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a0e78", + "id": "0x7f0da6bfd3e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 }, "end": { - "offset": 26073, + "offset": 27186, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a0108", + "id": "0x7f0da6bfc1c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26071, + "offset": 27184, "col": 26, "tokLen": 1 }, "end": { - "offset": 26071, + "offset": 27184, "col": 26, "tokLen": 1 } @@ -30658,11 +31323,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30671,16 +31336,16 @@ } }, { - "id": "0x38a0e60", + "id": "0x7f0da6bfd3c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30692,16 +31357,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a0128", + "id": "0x7f0da6bfc1e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 }, "end": { - "offset": 26076, + "offset": 27189, "col": 31, "tokLen": 4 } @@ -30719,33 +31384,33 @@ ] }, { - "id": "0x38a0f70", + "id": "0x7f0da6bfd4d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26090, - "line": 839, + "offset": 27203, + "line": 882, "col": 9, "tokLen": 6 }, "end": { - "offset": 26103, + "offset": 27216, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a0f40", + "id": "0x7f0da6bfd4a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26097, + "offset": 27210, "col": 16, "tokLen": 4 }, "end": { - "offset": 26103, + "offset": 27216, "col": 22, "tokLen": 6 } @@ -30755,7 +31420,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57f20", + "id": "0x2cdbdf60", "kind": "EnumConstantDecl", "name": "DAC_16", "type": { @@ -30768,35 +31433,35 @@ ] }, { - "id": "0x38a2bf0", + "id": "0x7f0da6bbeac8", "kind": "IfStmt", "range": { "begin": { - "offset": 26115, - "line": 840, + "offset": 27228, + "line": 883, "col": 5, "tokLen": 2 }, "end": { - "offset": 26168, - "line": 841, + "offset": 27281, + "line": 884, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a2b58", + "id": "0x7f0da6bbea30", "kind": "BinaryOperator", "range": { "begin": { - "offset": 26119, - "line": 840, + "offset": 27232, + "line": 883, "col": 9, "tokLen": 1 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -30808,16 +31473,16 @@ "opcode": "||", "inner": [ { - "id": "0x38a1d40", + "id": "0x7f0da6bfe768", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26119, + "offset": 27232, "col": 9, "tokLen": 1 }, "end": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 } @@ -30829,67 +31494,67 @@ "adl": true, "inner": [ { - "id": "0x38a1d28", + "id": "0x7f0da6bfe750", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 }, "end": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a1d08", + "id": "0x7f0da6bfe730", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 }, "end": { - "offset": 26121, + "offset": 27234, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a0fa0", + "id": "0x7f0da6bfd508", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26119, + "offset": 27232, "col": 9, "tokLen": 1 }, "end": { - "offset": 26119, + "offset": 27232, "col": 9, "tokLen": 1 } @@ -30897,11 +31562,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -30910,16 +31575,16 @@ } }, { - "id": "0x38a1cf0", + "id": "0x7f0da6bfe718", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 }, "end": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 } @@ -30931,16 +31596,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a0fc0", + "id": "0x7f0da6bfd528", "kind": "StringLiteral", "range": { "begin": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 }, "end": { - "offset": 26124, + "offset": 27237, "col": 14, "tokLen": 8 } @@ -30956,16 +31621,16 @@ ] }, { - "id": "0x38a2b20", + "id": "0x7f0da6bbe9f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26136, + "offset": 27249, "col": 26, "tokLen": 1 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -30977,67 +31642,67 @@ "adl": true, "inner": [ { - "id": "0x38a2b08", + "id": "0x7f0da6bbe9e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 }, "end": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a2ae8", + "id": "0x7f0da6bbe9c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 }, "end": { - "offset": 26138, + "offset": 27251, "col": 28, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a1d78", + "id": "0x7f0da6bfe7a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26136, + "offset": 27249, "col": 26, "tokLen": 1 }, "end": { - "offset": 26136, + "offset": 27249, "col": 26, "tokLen": 1 } @@ -31045,11 +31710,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31058,16 +31723,16 @@ } }, { - "id": "0x38a2ad0", + "id": "0x7f0da6bbe9a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -31079,16 +31744,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a1d98", + "id": "0x7f0da6bfe7c0", "kind": "StringLiteral", "range": { "begin": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 }, "end": { - "offset": 26141, + "offset": 27254, "col": 31, "tokLen": 4 } @@ -31106,33 +31771,33 @@ ] }, { - "id": "0x38a2be0", + "id": "0x7f0da6bbeab8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26155, - "line": 841, + "offset": 27268, + "line": 884, "col": 9, "tokLen": 6 }, "end": { - "offset": 26168, + "offset": 27281, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a2bb0", + "id": "0x7f0da6bbea88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26162, + "offset": 27275, "col": 16, "tokLen": 4 }, "end": { - "offset": 26168, + "offset": 27281, "col": 22, "tokLen": 6 } @@ -31142,7 +31807,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57f70", + "id": "0x2cdbdfb0", "kind": "EnumConstantDecl", "name": "DAC_17", "type": { @@ -31155,35 +31820,35 @@ ] }, { - "id": "0x38a3a60", + "id": "0x7f0da6bbfdf8", "kind": "IfStmt", "range": { "begin": { - "offset": 26180, - "line": 842, + "offset": 27293, + "line": 885, "col": 5, "tokLen": 2 }, "end": { - "offset": 26218, - "line": 843, + "offset": 27331, + "line": 886, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a39b0", + "id": "0x7f0da6bbfd48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26184, - "line": 842, + "offset": 27297, + "line": 885, "col": 9, "tokLen": 1 }, "end": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 } @@ -31195,67 +31860,67 @@ "adl": true, "inner": [ { - "id": "0x38a3998", + "id": "0x7f0da6bbfd30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 }, "end": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a3978", + "id": "0x7f0da6bbfd10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 }, "end": { - "offset": 26186, + "offset": 27299, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a2c10", + "id": "0x7f0da6bbeae8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26184, + "offset": 27297, "col": 9, "tokLen": 1 }, "end": { - "offset": 26184, + "offset": 27297, "col": 9, "tokLen": 1 } @@ -31263,11 +31928,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31276,16 +31941,16 @@ } }, { - "id": "0x38a3960", + "id": "0x7f0da6bbfcf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 }, "end": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 } @@ -31297,16 +31962,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a2c30", + "id": "0x7f0da6bbeb08", "kind": "StringLiteral", "range": { "begin": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 }, "end": { - "offset": 26189, + "offset": 27302, "col": 14, "tokLen": 6 } @@ -31322,33 +31987,33 @@ ] }, { - "id": "0x38a3a50", + "id": "0x7f0da6bbfde8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26205, - "line": 843, + "offset": 27318, + "line": 886, "col": 9, "tokLen": 6 }, "end": { - "offset": 26218, + "offset": 27331, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a3a20", + "id": "0x7f0da6bbfdb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26212, + "offset": 27325, "col": 16, "tokLen": 4 }, "end": { - "offset": 26218, + "offset": 27331, "col": 22, "tokLen": 4 } @@ -31358,7 +32023,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f57fc0", + "id": "0x2cdbe000", "kind": "EnumConstantDecl", "name": "VSVP", "type": { @@ -31371,35 +32036,35 @@ ] }, { - "id": "0x38a48d0", + "id": "0x7f0da6bc1128", "kind": "IfStmt", "range": { "begin": { - "offset": 26228, - "line": 844, + "offset": 27341, + "line": 887, "col": 5, "tokLen": 2 }, "end": { - "offset": 26267, - "line": 845, + "offset": 27380, + "line": 888, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38a4820", + "id": "0x7f0da6bc1078", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26232, - "line": 844, + "offset": 27345, + "line": 887, "col": 9, "tokLen": 1 }, "end": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 } @@ -31411,67 +32076,67 @@ "adl": true, "inner": [ { - "id": "0x38a4808", + "id": "0x7f0da6bc1060", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 }, "end": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a47e8", + "id": "0x7f0da6bc1040", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 }, "end": { - "offset": 26234, + "offset": 27347, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a3a80", + "id": "0x7f0da6bbfe18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26232, + "offset": 27345, "col": 9, "tokLen": 1 }, "end": { - "offset": 26232, + "offset": 27345, "col": 9, "tokLen": 1 } @@ -31479,11 +32144,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31492,16 +32157,16 @@ } }, { - "id": "0x38a47d0", + "id": "0x7f0da6bc1028", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 }, "end": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 } @@ -31513,16 +32178,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a3aa0", + "id": "0x7f0da6bbfe38", "kind": "StringLiteral", "range": { "begin": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 }, "end": { - "offset": 26237, + "offset": 27350, "col": 14, "tokLen": 7 } @@ -31538,33 +32203,33 @@ ] }, { - "id": "0x38a48c0", + "id": "0x7f0da6bc1118", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26254, - "line": 845, + "offset": 27367, + "line": 888, "col": 9, "tokLen": 6 }, "end": { - "offset": 26267, + "offset": 27380, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38a4890", + "id": "0x7f0da6bc10e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26261, + "offset": 27374, "col": 16, "tokLen": 4 }, "end": { - "offset": 26267, + "offset": 27380, "col": 22, "tokLen": 5 } @@ -31574,7 +32239,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58010", + "id": "0x2cdbe050", "kind": "EnumConstantDecl", "name": "VTRIM", "type": { @@ -31587,35 +32252,35 @@ ] }, { - "id": "0x38a5760", + "id": "0x7f0da6bc2458", "kind": "IfStmt", "range": { "begin": { - "offset": 26278, - "line": 846, + "offset": 27391, + "line": 889, "col": 5, "tokLen": 2 }, "end": { - "offset": 26320, - "line": 847, + "offset": 27433, + "line": 890, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a56b0", + "id": "0x7f0da6bc23a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26282, - "line": 846, + "offset": 27395, + "line": 889, "col": 9, "tokLen": 1 }, "end": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 } @@ -31627,67 +32292,67 @@ "adl": true, "inner": [ { - "id": "0x38a5698", + "id": "0x7f0da6bc2390", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 }, "end": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a5678", + "id": "0x7f0da6bc2370", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 }, "end": { - "offset": 26284, + "offset": 27397, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a48f0", + "id": "0x7f0da6bc1148", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26282, + "offset": 27395, "col": 9, "tokLen": 1 }, "end": { - "offset": 26282, + "offset": 27395, "col": 9, "tokLen": 1 } @@ -31695,11 +32360,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31708,16 +32373,16 @@ } }, { - "id": "0x38a5660", + "id": "0x7f0da6bc2358", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 }, "end": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 } @@ -31729,16 +32394,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a4910", + "id": "0x7f0da6bc1168", "kind": "StringLiteral", "range": { "begin": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 }, "end": { - "offset": 26287, + "offset": 27400, "col": 14, "tokLen": 10 } @@ -31754,33 +32419,33 @@ ] }, { - "id": "0x38a5750", + "id": "0x7f0da6bc2448", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26307, - "line": 847, + "offset": 27420, + "line": 890, "col": 9, "tokLen": 6 }, "end": { - "offset": 26320, + "offset": 27433, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a5720", + "id": "0x7f0da6bc2418", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26314, + "offset": 27427, "col": 16, "tokLen": 4 }, "end": { - "offset": 26320, + "offset": 27433, "col": 22, "tokLen": 8 } @@ -31790,7 +32455,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58060", + "id": "0x2cdbe0a0", "kind": "EnumConstantDecl", "name": "VRPREAMP", "type": { @@ -31803,35 +32468,35 @@ ] }, { - "id": "0x38a65d0", + "id": "0x7f0da6bc3788", "kind": "IfStmt", "range": { "begin": { - "offset": 26334, - "line": 848, + "offset": 27447, + "line": 891, "col": 5, "tokLen": 2 }, "end": { - "offset": 26376, - "line": 849, + "offset": 27489, + "line": 892, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a6520", + "id": "0x7f0da6bc36d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26338, - "line": 848, + "offset": 27451, + "line": 891, "col": 9, "tokLen": 1 }, "end": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 } @@ -31843,67 +32508,67 @@ "adl": true, "inner": [ { - "id": "0x38a6508", + "id": "0x7f0da6bc36c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 }, "end": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a64e8", + "id": "0x7f0da6bc36a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 }, "end": { - "offset": 26340, + "offset": 27453, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a5780", + "id": "0x7f0da6bc2478", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26338, + "offset": 27451, "col": 9, "tokLen": 1 }, "end": { - "offset": 26338, + "offset": 27451, "col": 9, "tokLen": 1 } @@ -31911,11 +32576,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -31924,16 +32589,16 @@ } }, { - "id": "0x38a64d0", + "id": "0x7f0da6bc3688", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 }, "end": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 } @@ -31945,16 +32610,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a57a0", + "id": "0x7f0da6bc2498", "kind": "StringLiteral", "range": { "begin": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 }, "end": { - "offset": 26343, + "offset": 27456, "col": 14, "tokLen": 10 } @@ -31970,33 +32635,33 @@ ] }, { - "id": "0x38a65c0", + "id": "0x7f0da6bc3778", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26363, - "line": 849, + "offset": 27476, + "line": 892, "col": 9, "tokLen": 6 }, "end": { - "offset": 26376, + "offset": 27489, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38a6590", + "id": "0x7f0da6bc3748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26370, + "offset": 27483, "col": 16, "tokLen": 4 }, "end": { - "offset": 26376, + "offset": 27489, "col": 22, "tokLen": 8 } @@ -32006,7 +32671,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f580b0", + "id": "0x2cdbe0f0", "kind": "EnumConstantDecl", "name": "VRSHAPER", "type": { @@ -32019,35 +32684,35 @@ ] }, { - "id": "0x38a7440", + "id": "0x7f0da6bc4ab8", "kind": "IfStmt", "range": { "begin": { - "offset": 26390, - "line": 850, + "offset": 27503, + "line": 893, "col": 5, "tokLen": 2 }, "end": { - "offset": 26428, - "line": 851, + "offset": 27541, + "line": 894, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a7390", + "id": "0x7f0da6bc4a08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26394, - "line": 850, + "offset": 27507, + "line": 893, "col": 9, "tokLen": 1 }, "end": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 } @@ -32059,67 +32724,67 @@ "adl": true, "inner": [ { - "id": "0x38a7378", + "id": "0x7f0da6bc49f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 }, "end": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a7358", + "id": "0x7f0da6bc49d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 }, "end": { - "offset": 26396, + "offset": 27509, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a65f0", + "id": "0x7f0da6bc37a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26394, + "offset": 27507, "col": 9, "tokLen": 1 }, "end": { - "offset": 26394, + "offset": 27507, "col": 9, "tokLen": 1 } @@ -32127,11 +32792,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32140,16 +32805,16 @@ } }, { - "id": "0x38a7340", + "id": "0x7f0da6bc49b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 }, "end": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 } @@ -32161,16 +32826,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a6610", + "id": "0x7f0da6bc37c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 }, "end": { - "offset": 26399, + "offset": 27512, "col": 14, "tokLen": 6 } @@ -32186,33 +32851,33 @@ ] }, { - "id": "0x38a7430", + "id": "0x7f0da6bc4aa8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26415, - "line": 851, + "offset": 27528, + "line": 894, "col": 9, "tokLen": 6 }, "end": { - "offset": 26428, + "offset": 27541, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38a7400", + "id": "0x7f0da6bc4a78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26422, + "offset": 27535, "col": 16, "tokLen": 4 }, "end": { - "offset": 26428, + "offset": 27541, "col": 22, "tokLen": 4 } @@ -32222,7 +32887,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58100", + "id": "0x2cdbe140", "kind": "EnumConstantDecl", "name": "VSVN", "type": { @@ -32235,35 +32900,35 @@ ] }, { - "id": "0x38a82b0", + "id": "0x7f0da6bc5de8", "kind": "IfStmt", "range": { "begin": { - "offset": 26438, - "line": 852, + "offset": 27551, + "line": 895, "col": 5, "tokLen": 2 }, "end": { - "offset": 26478, - "line": 853, + "offset": 27591, + "line": 896, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a8200", + "id": "0x7f0da6bc5d38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26442, - "line": 852, + "offset": 27555, + "line": 895, "col": 9, "tokLen": 1 }, "end": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 } @@ -32275,67 +32940,67 @@ "adl": true, "inner": [ { - "id": "0x38a81e8", + "id": "0x7f0da6bc5d20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 }, "end": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a81c8", + "id": "0x7f0da6bc5d00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 }, "end": { - "offset": 26444, + "offset": 27557, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a7460", + "id": "0x7f0da6bc4ad8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26442, + "offset": 27555, "col": 9, "tokLen": 1 }, "end": { - "offset": 26442, + "offset": 27555, "col": 9, "tokLen": 1 } @@ -32343,11 +33008,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32356,16 +33021,16 @@ } }, { - "id": "0x38a81b0", + "id": "0x7f0da6bc5ce8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 }, "end": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 } @@ -32377,16 +33042,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a7480", + "id": "0x7f0da6bc4af8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 }, "end": { - "offset": 26447, + "offset": 27560, "col": 14, "tokLen": 8 } @@ -32402,33 +33067,33 @@ ] }, { - "id": "0x38a82a0", + "id": "0x7f0da6bc5dd8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26465, - "line": 853, + "offset": 27578, + "line": 896, "col": 9, "tokLen": 6 }, "end": { - "offset": 26478, + "offset": 27591, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38a8270", + "id": "0x7f0da6bc5da8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26472, + "offset": 27585, "col": 16, "tokLen": 4 }, "end": { - "offset": 26478, + "offset": 27591, "col": 22, "tokLen": 6 } @@ -32438,7 +33103,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58150", + "id": "0x2cdbe190", "kind": "EnumConstantDecl", "name": "VTGSTV", "type": { @@ -32451,35 +33116,35 @@ ] }, { - "id": "0x38a9120", + "id": "0x7f0da6bc7118", "kind": "IfStmt", "range": { "begin": { - "offset": 26490, - "line": 854, + "offset": 27603, + "line": 897, "col": 5, "tokLen": 2 }, "end": { - "offset": 26531, - "line": 855, + "offset": 27644, + "line": 898, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a9070", + "id": "0x7f0da6bc7068", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26494, - "line": 854, + "offset": 27607, + "line": 897, "col": 9, "tokLen": 1 }, "end": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 } @@ -32491,67 +33156,67 @@ "adl": true, "inner": [ { - "id": "0x38a9058", + "id": "0x7f0da6bc7050", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 }, "end": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a9038", + "id": "0x7f0da6bc7030", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 }, "end": { - "offset": 26496, + "offset": 27609, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a82d0", + "id": "0x7f0da6bc5e08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26494, + "offset": 27607, "col": 9, "tokLen": 1 }, "end": { - "offset": 26494, + "offset": 27607, "col": 9, "tokLen": 1 } @@ -32559,11 +33224,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32572,16 +33237,16 @@ } }, { - "id": "0x38a9020", + "id": "0x7f0da6bc7018", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 }, "end": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 } @@ -32593,16 +33258,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a82f0", + "id": "0x7f0da6bc5e28", "kind": "StringLiteral", "range": { "begin": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 }, "end": { - "offset": 26499, + "offset": 27612, "col": 14, "tokLen": 9 } @@ -32618,33 +33283,33 @@ ] }, { - "id": "0x38a9110", + "id": "0x7f0da6bc7108", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26518, - "line": 855, + "offset": 27631, + "line": 898, "col": 9, "tokLen": 6 }, "end": { - "offset": 26531, + "offset": 27644, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a90e0", + "id": "0x7f0da6bc70d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26525, + "offset": 27638, "col": 16, "tokLen": 4 }, "end": { - "offset": 26531, + "offset": 27644, "col": 22, "tokLen": 7 } @@ -32654,7 +33319,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f581a0", + "id": "0x2cdbe1e0", "kind": "EnumConstantDecl", "name": "VCMP_LL", "type": { @@ -32667,35 +33332,35 @@ ] }, { - "id": "0x38a9f90", + "id": "0x7f0da6bc8448", "kind": "IfStmt", "range": { "begin": { - "offset": 26544, - "line": 856, + "offset": 27657, + "line": 899, "col": 5, "tokLen": 2 }, "end": { - "offset": 26585, - "line": 857, + "offset": 27698, + "line": 900, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a9ee0", + "id": "0x7f0da6bc8398", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26548, - "line": 856, + "offset": 27661, + "line": 899, "col": 9, "tokLen": 1 }, "end": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 } @@ -32707,67 +33372,67 @@ "adl": true, "inner": [ { - "id": "0x38a9ec8", + "id": "0x7f0da6bc8380", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 }, "end": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38a9ea8", + "id": "0x7f0da6bc8360", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 }, "end": { - "offset": 26550, + "offset": 27663, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a9140", + "id": "0x7f0da6bc7138", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26548, + "offset": 27661, "col": 9, "tokLen": 1 }, "end": { - "offset": 26548, + "offset": 27661, "col": 9, "tokLen": 1 } @@ -32775,11 +33440,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -32788,16 +33453,16 @@ } }, { - "id": "0x38a9e90", + "id": "0x7f0da6bc8348", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 }, "end": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 } @@ -32809,16 +33474,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a9160", + "id": "0x7f0da6bc7158", "kind": "StringLiteral", "range": { "begin": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 }, "end": { - "offset": 26553, + "offset": 27666, "col": 14, "tokLen": 9 } @@ -32834,33 +33499,33 @@ ] }, { - "id": "0x38a9f80", + "id": "0x7f0da6bc8438", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26572, - "line": 857, + "offset": 27685, + "line": 900, "col": 9, "tokLen": 6 }, "end": { - "offset": 26585, + "offset": 27698, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38a9f50", + "id": "0x7f0da6bc8408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26579, + "offset": 27692, "col": 16, "tokLen": 4 }, "end": { - "offset": 26585, + "offset": 27698, "col": 22, "tokLen": 7 } @@ -32870,7 +33535,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f581f0", + "id": "0x2cdbe230", "kind": "EnumConstantDecl", "name": "VCMP_LR", "type": { @@ -32883,35 +33548,35 @@ ] }, { - "id": "0x38aae00", + "id": "0x7f0da6bc9778", "kind": "IfStmt", "range": { "begin": { - "offset": 26598, - "line": 858, + "offset": 27711, + "line": 901, "col": 5, "tokLen": 2 }, "end": { - "offset": 26636, - "line": 859, + "offset": 27749, + "line": 902, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38aad50", + "id": "0x7f0da6bc96c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26602, - "line": 858, + "offset": 27715, + "line": 901, "col": 9, "tokLen": 1 }, "end": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 } @@ -32923,67 +33588,67 @@ "adl": true, "inner": [ { - "id": "0x38aad38", + "id": "0x7f0da6bc96b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 }, "end": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38aad18", + "id": "0x7f0da6bc9690", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 }, "end": { - "offset": 26604, + "offset": 27717, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38a9fb0", + "id": "0x7f0da6bc8468", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26602, + "offset": 27715, "col": 9, "tokLen": 1 }, "end": { - "offset": 26602, + "offset": 27715, "col": 9, "tokLen": 1 } @@ -32991,11 +33656,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33004,16 +33669,16 @@ } }, { - "id": "0x38aad00", + "id": "0x7f0da6bc9678", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 }, "end": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 } @@ -33025,16 +33690,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38a9fd0", + "id": "0x7f0da6bc8488", "kind": "StringLiteral", "range": { "begin": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 }, "end": { - "offset": 26607, + "offset": 27720, "col": 14, "tokLen": 6 } @@ -33050,33 +33715,33 @@ ] }, { - "id": "0x38aadf0", + "id": "0x7f0da6bc9768", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26623, - "line": 859, + "offset": 27736, + "line": 902, "col": 9, "tokLen": 6 }, "end": { - "offset": 26636, + "offset": 27749, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38aadc0", + "id": "0x7f0da6bc9738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26630, + "offset": 27743, "col": 16, "tokLen": 4 }, "end": { - "offset": 26636, + "offset": 27749, "col": 22, "tokLen": 4 } @@ -33086,7 +33751,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58240", + "id": "0x2cdbe280", "kind": "EnumConstantDecl", "name": "VCAL", "type": { @@ -33099,35 +33764,35 @@ ] }, { - "id": "0x38abc70", + "id": "0x7f0da6bcaaa8", "kind": "IfStmt", "range": { "begin": { - "offset": 26646, - "line": 860, + "offset": 27759, + "line": 903, "col": 5, "tokLen": 2 }, "end": { - "offset": 26687, - "line": 861, + "offset": 27800, + "line": 904, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38abbc0", + "id": "0x7f0da6bca9f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26650, - "line": 860, + "offset": 27763, + "line": 903, "col": 9, "tokLen": 1 }, "end": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 } @@ -33139,67 +33804,67 @@ "adl": true, "inner": [ { - "id": "0x38abba8", + "id": "0x7f0da6bca9e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 }, "end": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38abb88", + "id": "0x7f0da6bca9c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 }, "end": { - "offset": 26652, + "offset": 27765, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38aae20", + "id": "0x7f0da6bc9798", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26650, + "offset": 27763, "col": 9, "tokLen": 1 }, "end": { - "offset": 26650, + "offset": 27763, "col": 9, "tokLen": 1 } @@ -33207,11 +33872,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33220,16 +33885,16 @@ } }, { - "id": "0x38abb70", + "id": "0x7f0da6bca9a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 }, "end": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 } @@ -33241,16 +33906,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38aae40", + "id": "0x7f0da6bc97b8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 }, "end": { - "offset": 26655, + "offset": 27768, "col": 14, "tokLen": 9 } @@ -33266,33 +33931,33 @@ ] }, { - "id": "0x38abc60", + "id": "0x7f0da6bcaa98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26674, - "line": 861, + "offset": 27787, + "line": 904, "col": 9, "tokLen": 6 }, "end": { - "offset": 26687, + "offset": 27800, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38abc30", + "id": "0x7f0da6bcaa68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26681, + "offset": 27794, "col": 16, "tokLen": 4 }, "end": { - "offset": 26687, + "offset": 27800, "col": 22, "tokLen": 7 } @@ -33302,7 +33967,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58290", + "id": "0x2cdbe2d0", "kind": "EnumConstantDecl", "name": "VCMP_RL", "type": { @@ -33315,35 +33980,35 @@ ] }, { - "id": "0x38acae0", + "id": "0x7f0da6bcbdd8", "kind": "IfStmt", "range": { "begin": { - "offset": 26700, - "line": 862, + "offset": 27813, + "line": 905, "col": 5, "tokLen": 2 }, "end": { - "offset": 26740, - "line": 863, + "offset": 27853, + "line": 906, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38aca30", + "id": "0x7f0da6bcbd28", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26704, - "line": 862, + "offset": 27817, + "line": 905, "col": 9, "tokLen": 1 }, "end": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 } @@ -33355,67 +34020,67 @@ "adl": true, "inner": [ { - "id": "0x38aca18", + "id": "0x7f0da6bcbd10", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 }, "end": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ac9f8", + "id": "0x7f0da6bcbcf0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 }, "end": { - "offset": 26706, + "offset": 27819, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38abc90", + "id": "0x7f0da6bcaac8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26704, + "offset": 27817, "col": 9, "tokLen": 1 }, "end": { - "offset": 26704, + "offset": 27817, "col": 9, "tokLen": 1 } @@ -33423,11 +34088,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33436,16 +34101,16 @@ } }, { - "id": "0x38ac9e0", + "id": "0x7f0da6bcbcd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 }, "end": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 } @@ -33457,16 +34122,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38abcb0", + "id": "0x7f0da6bcaae8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 }, "end": { - "offset": 26709, + "offset": 27822, "col": 14, "tokLen": 8 } @@ -33482,33 +34147,33 @@ ] }, { - "id": "0x38acad0", + "id": "0x7f0da6bcbdc8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26727, - "line": 863, + "offset": 27840, + "line": 906, "col": 9, "tokLen": 6 }, "end": { - "offset": 26740, + "offset": 27853, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38acaa0", + "id": "0x7f0da6bcbd98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26734, + "offset": 27847, "col": 16, "tokLen": 4 }, "end": { - "offset": 26740, + "offset": 27853, "col": 22, "tokLen": 6 } @@ -33518,7 +34183,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f582e0", + "id": "0x2cdbe320", "kind": "EnumConstantDecl", "name": "RXB_RB", "type": { @@ -33531,35 +34196,35 @@ ] }, { - "id": "0x38ad950", + "id": "0x7f0da6bcd108", "kind": "IfStmt", "range": { "begin": { - "offset": 26752, - "line": 864, + "offset": 27865, + "line": 907, "col": 5, "tokLen": 2 }, "end": { - "offset": 26792, - "line": 865, + "offset": 27905, + "line": 908, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38ad8a0", + "id": "0x7f0da6bcd058", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26756, - "line": 864, + "offset": 27869, + "line": 907, "col": 9, "tokLen": 1 }, "end": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 } @@ -33571,67 +34236,67 @@ "adl": true, "inner": [ { - "id": "0x38ad888", + "id": "0x7f0da6bcd040", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 }, "end": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ad868", + "id": "0x7f0da6bcd020", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 }, "end": { - "offset": 26758, + "offset": 27871, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38acb00", + "id": "0x7f0da6bcbdf8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26756, + "offset": 27869, "col": 9, "tokLen": 1 }, "end": { - "offset": 26756, + "offset": 27869, "col": 9, "tokLen": 1 } @@ -33639,11 +34304,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33652,16 +34317,16 @@ } }, { - "id": "0x38ad850", + "id": "0x7f0da6bcd008", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 }, "end": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 } @@ -33673,16 +34338,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38acb20", + "id": "0x7f0da6bcbe18", "kind": "StringLiteral", "range": { "begin": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 }, "end": { - "offset": 26761, + "offset": 27874, "col": 14, "tokLen": 8 } @@ -33698,33 +34363,33 @@ ] }, { - "id": "0x38ad940", + "id": "0x7f0da6bcd0f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26779, - "line": 865, + "offset": 27892, + "line": 908, "col": 9, "tokLen": 6 }, "end": { - "offset": 26792, + "offset": 27905, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38ad910", + "id": "0x7f0da6bcd0c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26786, + "offset": 27899, "col": 16, "tokLen": 4 }, "end": { - "offset": 26792, + "offset": 27905, "col": 22, "tokLen": 6 } @@ -33734,7 +34399,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58330", + "id": "0x2cdbe370", "kind": "EnumConstantDecl", "name": "RXB_LB", "type": { @@ -33747,35 +34412,35 @@ ] }, { - "id": "0x38ae7c0", + "id": "0x7f0da6bce438", "kind": "IfStmt", "range": { "begin": { - "offset": 26804, - "line": 866, + "offset": 27917, + "line": 909, "col": 5, "tokLen": 2 }, "end": { - "offset": 26845, - "line": 867, + "offset": 27958, + "line": 910, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ae710", + "id": "0x7f0da6bce388", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26808, - "line": 866, + "offset": 27921, + "line": 909, "col": 9, "tokLen": 1 }, "end": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 } @@ -33787,67 +34452,67 @@ "adl": true, "inner": [ { - "id": "0x38ae6f8", + "id": "0x7f0da6bce370", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 }, "end": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ae6d8", + "id": "0x7f0da6bce350", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 }, "end": { - "offset": 26810, + "offset": 27923, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ad970", + "id": "0x7f0da6bcd128", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26808, + "offset": 27921, "col": 9, "tokLen": 1 }, "end": { - "offset": 26808, + "offset": 27921, "col": 9, "tokLen": 1 } @@ -33855,11 +34520,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -33868,16 +34533,16 @@ } }, { - "id": "0x38ae6c0", + "id": "0x7f0da6bce338", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 }, "end": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 } @@ -33889,16 +34554,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ad990", + "id": "0x7f0da6bcd148", "kind": "StringLiteral", "range": { "begin": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 }, "end": { - "offset": 26813, + "offset": 27926, "col": 14, "tokLen": 9 } @@ -33914,33 +34579,33 @@ ] }, { - "id": "0x38ae7b0", + "id": "0x7f0da6bce428", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26832, - "line": 867, + "offset": 27945, + "line": 910, "col": 9, "tokLen": 6 }, "end": { - "offset": 26845, + "offset": 27958, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ae780", + "id": "0x7f0da6bce3f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26839, + "offset": 27952, "col": 16, "tokLen": 4 }, "end": { - "offset": 26845, + "offset": 27958, "col": 22, "tokLen": 7 } @@ -33950,7 +34615,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58380", + "id": "0x2cdbe3c0", "kind": "EnumConstantDecl", "name": "VCMP_RR", "type": { @@ -33963,35 +34628,35 @@ ] }, { - "id": "0x38af630", + "id": "0x7f0da6bcf768", "kind": "IfStmt", "range": { "begin": { - "offset": 26858, - "line": 868, + "offset": 27971, + "line": 911, "col": 5, "tokLen": 2 }, "end": { - "offset": 26895, - "line": 869, + "offset": 28008, + "line": 912, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38af580", + "id": "0x7f0da6bcf6b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26862, - "line": 868, + "offset": 27975, + "line": 911, "col": 9, "tokLen": 1 }, "end": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 } @@ -34003,67 +34668,67 @@ "adl": true, "inner": [ { - "id": "0x38af568", + "id": "0x7f0da6bcf6a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 }, "end": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38af548", + "id": "0x7f0da6bcf680", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 }, "end": { - "offset": 26864, + "offset": 27977, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ae7e0", + "id": "0x7f0da6bce458", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26862, + "offset": 27975, "col": 9, "tokLen": 1 }, "end": { - "offset": 26862, + "offset": 27975, "col": 9, "tokLen": 1 } @@ -34071,11 +34736,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34084,16 +34749,16 @@ } }, { - "id": "0x38af530", + "id": "0x7f0da6bcf668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 }, "end": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 } @@ -34105,16 +34770,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ae800", + "id": "0x7f0da6bce478", "kind": "StringLiteral", "range": { "begin": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 }, "end": { - "offset": 26867, + "offset": 27980, "col": 14, "tokLen": 5 } @@ -34130,33 +34795,33 @@ ] }, { - "id": "0x38af620", + "id": "0x7f0da6bcf758", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26882, - "line": 869, + "offset": 27995, + "line": 912, "col": 9, "tokLen": 6 }, "end": { - "offset": 26895, + "offset": 28008, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38af5f0", + "id": "0x7f0da6bcf728", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26889, + "offset": 28002, "col": 16, "tokLen": 4 }, "end": { - "offset": 26895, + "offset": 28008, "col": 22, "tokLen": 3 } @@ -34166,7 +34831,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f583d0", + "id": "0x2cdbe410", "kind": "EnumConstantDecl", "name": "VCP", "type": { @@ -34179,35 +34844,35 @@ ] }, { - "id": "0x38b04a0", + "id": "0x7f0da6bd0a98", "kind": "IfStmt", "range": { "begin": { - "offset": 26904, - "line": 870, + "offset": 28017, + "line": 913, "col": 5, "tokLen": 2 }, "end": { - "offset": 26941, - "line": 871, + "offset": 28054, + "line": 914, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38b03f0", + "id": "0x7f0da6bd09e8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26908, - "line": 870, + "offset": 28021, + "line": 913, "col": 9, "tokLen": 1 }, "end": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 } @@ -34219,67 +34884,67 @@ "adl": true, "inner": [ { - "id": "0x38b03d8", + "id": "0x7f0da6bd09d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 }, "end": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b03b8", + "id": "0x7f0da6bd09b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 }, "end": { - "offset": 26910, + "offset": 28023, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38af650", + "id": "0x7f0da6bcf788", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26908, + "offset": 28021, "col": 9, "tokLen": 1 }, "end": { - "offset": 26908, + "offset": 28021, "col": 9, "tokLen": 1 } @@ -34287,11 +34952,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34300,16 +34965,16 @@ } }, { - "id": "0x38b03a0", + "id": "0x7f0da6bd0998", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 }, "end": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 } @@ -34321,16 +34986,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38af670", + "id": "0x7f0da6bcf7a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 }, "end": { - "offset": 26913, + "offset": 28026, "col": 14, "tokLen": 5 } @@ -34346,33 +35011,33 @@ ] }, { - "id": "0x38b0490", + "id": "0x7f0da6bd0a88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26928, - "line": 871, + "offset": 28041, + "line": 914, "col": 9, "tokLen": 6 }, "end": { - "offset": 26941, + "offset": 28054, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38b0460", + "id": "0x7f0da6bd0a58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26935, + "offset": 28048, "col": 16, "tokLen": 4 }, "end": { - "offset": 26941, + "offset": 28054, "col": 22, "tokLen": 3 } @@ -34382,7 +35047,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58420", + "id": "0x2cdbe460", "kind": "EnumConstantDecl", "name": "VCN", "type": { @@ -34395,35 +35060,35 @@ ] }, { - "id": "0x38b1310", + "id": "0x7f0da6bd1dc8", "kind": "IfStmt", "range": { "begin": { - "offset": 26950, - "line": 872, + "offset": 28063, + "line": 915, "col": 5, "tokLen": 2 }, "end": { - "offset": 26992, - "line": 873, + "offset": 28105, + "line": 916, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b1260", + "id": "0x7f0da6bd1d18", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 26954, - "line": 872, + "offset": 28067, + "line": 915, "col": 9, "tokLen": 1 }, "end": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 } @@ -34435,67 +35100,67 @@ "adl": true, "inner": [ { - "id": "0x38b1248", + "id": "0x7f0da6bd1d00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 }, "end": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b1228", + "id": "0x7f0da6bd1ce0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 }, "end": { - "offset": 26956, + "offset": 28069, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b04c0", + "id": "0x7f0da6bd0ab8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26954, + "offset": 28067, "col": 9, "tokLen": 1 }, "end": { - "offset": 26954, + "offset": 28067, "col": 9, "tokLen": 1 } @@ -34503,11 +35168,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34516,16 +35181,16 @@ } }, { - "id": "0x38b1210", + "id": "0x7f0da6bd1cc8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 }, "end": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 } @@ -34537,16 +35202,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b04e0", + "id": "0x7f0da6bd0ad8", "kind": "StringLiteral", "range": { "begin": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 }, "end": { - "offset": 26959, + "offset": 28072, "col": 14, "tokLen": 10 } @@ -34562,33 +35227,33 @@ ] }, { - "id": "0x38b1300", + "id": "0x7f0da6bd1db8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 26979, - "line": 873, + "offset": 28092, + "line": 916, "col": 9, "tokLen": 6 }, "end": { - "offset": 26992, + "offset": 28105, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b12d0", + "id": "0x7f0da6bd1d88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 26986, + "offset": 28099, "col": 16, "tokLen": 4 }, "end": { - "offset": 26992, + "offset": 28105, "col": 22, "tokLen": 8 } @@ -34598,7 +35263,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58470", + "id": "0x2cdbe4b0", "kind": "EnumConstantDecl", "name": "VISHAPER", "type": { @@ -34611,35 +35276,35 @@ ] }, { - "id": "0x38b2190", + "id": "0x7f0da6bd30f8", "kind": "IfStmt", "range": { "begin": { - "offset": 27006, - "line": 874, + "offset": 28119, + "line": 917, "col": 5, "tokLen": 2 }, "end": { - "offset": 27050, - "line": 875, + "offset": 28163, + "line": 918, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38b20e0", + "id": "0x7f0da6bd3048", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27010, - "line": 874, + "offset": 28123, + "line": 917, "col": 9, "tokLen": 1 }, "end": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 } @@ -34651,67 +35316,67 @@ "adl": true, "inner": [ { - "id": "0x38b20c8", + "id": "0x7f0da6bd3030", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 }, "end": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b20a8", + "id": "0x7f0da6bd3010", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 }, "end": { - "offset": 27012, + "offset": 28125, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b1330", + "id": "0x7f0da6bd1de8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27010, + "offset": 28123, "col": 9, "tokLen": 1 }, "end": { - "offset": 27010, + "offset": 28123, "col": 9, "tokLen": 1 } @@ -34719,11 +35384,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34732,16 +35397,16 @@ } }, { - "id": "0x38b2090", + "id": "0x7f0da6bd2ff8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 }, "end": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 } @@ -34753,16 +35418,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b1350", + "id": "0x7f0da6bd1e08", "kind": "StringLiteral", "range": { "begin": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 }, "end": { - "offset": 27015, + "offset": 28128, "col": 14, "tokLen": 12 } @@ -34778,33 +35443,33 @@ ] }, { - "id": "0x38b2180", + "id": "0x7f0da6bd30e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27037, - "line": 875, + "offset": 28150, + "line": 918, "col": 9, "tokLen": 6 }, "end": { - "offset": 27050, + "offset": 28163, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38b2150", + "id": "0x7f0da6bd30b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27044, + "offset": 28157, "col": 16, "tokLen": 4 }, "end": { - "offset": 27050, + "offset": 28163, "col": 22, "tokLen": 10 } @@ -34814,7 +35479,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f584c0", + "id": "0x2cdbe500", "kind": "EnumConstantDecl", "name": "VTHRESHOLD", "type": { @@ -34827,35 +35492,35 @@ ] }, { - "id": "0x38b3000", + "id": "0x7f0da6bd4428", "kind": "IfStmt", "range": { "begin": { - "offset": 27066, - "line": 876, + "offset": 28179, + "line": 919, "col": 5, "tokLen": 2 }, "end": { - "offset": 27107, - "line": 877, + "offset": 28220, + "line": 920, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b2f50", + "id": "0x7f0da6bd4378", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27070, - "line": 876, + "offset": 28183, + "line": 919, "col": 9, "tokLen": 1 }, "end": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 } @@ -34867,67 +35532,67 @@ "adl": true, "inner": [ { - "id": "0x38b2f38", + "id": "0x7f0da6bd4360", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 }, "end": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b2f18", + "id": "0x7f0da6bd4340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 }, "end": { - "offset": 27072, + "offset": 28185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b21b0", + "id": "0x7f0da6bd3118", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27070, + "offset": 28183, "col": 9, "tokLen": 1 }, "end": { - "offset": 27070, + "offset": 28183, "col": 9, "tokLen": 1 } @@ -34935,11 +35600,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -34948,16 +35613,16 @@ } }, { - "id": "0x38b2f00", + "id": "0x7f0da6bd4328", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 }, "end": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 } @@ -34969,16 +35634,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b21d0", + "id": "0x7f0da6bd3138", "kind": "StringLiteral", "range": { "begin": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 }, "end": { - "offset": 27075, + "offset": 28188, "col": 14, "tokLen": 9 } @@ -34994,33 +35659,33 @@ ] }, { - "id": "0x38b2ff0", + "id": "0x7f0da6bd4418", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27094, - "line": 877, + "offset": 28207, + "line": 920, "col": 9, "tokLen": 6 }, "end": { - "offset": 27107, + "offset": 28220, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b2fc0", + "id": "0x7f0da6bd43e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27101, + "offset": 28214, "col": 16, "tokLen": 4 }, "end": { - "offset": 27107, + "offset": 28220, "col": 22, "tokLen": 7 } @@ -35030,7 +35695,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58560", + "id": "0x2cdbe5a0", "kind": "EnumConstantDecl", "name": "VREF_DS", "type": { @@ -35043,35 +35708,35 @@ ] }, { - "id": "0x38b3e80", + "id": "0x7f0da6bd5758", "kind": "IfStmt", "range": { "begin": { - "offset": 27120, - "line": 878, + "offset": 28233, + "line": 921, "col": 5, "tokLen": 2 }, "end": { - "offset": 27163, - "line": 879, + "offset": 28276, + "line": 922, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b3dd0", + "id": "0x7f0da6bd56a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27124, - "line": 878, + "offset": 28237, + "line": 921, "col": 9, "tokLen": 1 }, "end": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 } @@ -35083,67 +35748,67 @@ "adl": true, "inner": [ { - "id": "0x38b3db8", + "id": "0x7f0da6bd5690", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 }, "end": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b3d98", + "id": "0x7f0da6bd5670", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 }, "end": { - "offset": 27126, + "offset": 28239, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b3020", + "id": "0x7f0da6bd4448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27124, + "offset": 28237, "col": 9, "tokLen": 1 }, "end": { - "offset": 27124, + "offset": 28237, "col": 9, "tokLen": 1 } @@ -35151,11 +35816,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35164,16 +35829,16 @@ } }, { - "id": "0x38b3d80", + "id": "0x7f0da6bd5658", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 }, "end": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 } @@ -35185,16 +35850,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b3040", + "id": "0x7f0da6bd4468", "kind": "StringLiteral", "range": { "begin": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 }, "end": { - "offset": 27129, + "offset": 28242, "col": 14, "tokLen": 11 } @@ -35210,33 +35875,33 @@ ] }, { - "id": "0x38b3e70", + "id": "0x7f0da6bd5748", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27150, - "line": 879, + "offset": 28263, + "line": 922, "col": 9, "tokLen": 6 }, "end": { - "offset": 27163, + "offset": 28276, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b3e40", + "id": "0x7f0da6bd5718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27157, + "offset": 28270, "col": 16, "tokLen": 4 }, "end": { - "offset": 27163, + "offset": 28276, "col": 22, "tokLen": 9 } @@ -35246,7 +35911,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f585b0", + "id": "0x2cdbe5f0", "kind": "EnumConstantDecl", "name": "VCASCN_PB", "type": { @@ -35259,35 +35924,35 @@ ] }, { - "id": "0x38b4d00", + "id": "0x7f0da6bd6a88", "kind": "IfStmt", "range": { "begin": { - "offset": 27178, - "line": 880, + "offset": 28291, + "line": 923, "col": 5, "tokLen": 2 }, "end": { - "offset": 27221, - "line": 881, + "offset": 28334, + "line": 924, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b4c50", + "id": "0x7f0da6bd69d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27182, - "line": 880, + "offset": 28295, + "line": 923, "col": 9, "tokLen": 1 }, "end": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 } @@ -35299,67 +35964,67 @@ "adl": true, "inner": [ { - "id": "0x38b4c38", + "id": "0x7f0da6bd69c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 }, "end": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b4c18", + "id": "0x7f0da6bd69a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 }, "end": { - "offset": 27184, + "offset": 28297, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b3ea0", + "id": "0x7f0da6bd5778", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27182, + "offset": 28295, "col": 9, "tokLen": 1 }, "end": { - "offset": 27182, + "offset": 28295, "col": 9, "tokLen": 1 } @@ -35367,11 +36032,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35380,16 +36045,16 @@ } }, { - "id": "0x38b4c00", + "id": "0x7f0da6bd6988", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 }, "end": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 } @@ -35401,16 +36066,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b3ec0", + "id": "0x7f0da6bd5798", "kind": "StringLiteral", "range": { "begin": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 }, "end": { - "offset": 27187, + "offset": 28300, "col": 14, "tokLen": 11 } @@ -35426,33 +36091,33 @@ ] }, { - "id": "0x38b4cf0", + "id": "0x7f0da6bd6a78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27208, - "line": 881, + "offset": 28321, + "line": 924, "col": 9, "tokLen": 6 }, "end": { - "offset": 27221, + "offset": 28334, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b4cc0", + "id": "0x7f0da6bd6a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27215, + "offset": 28328, "col": 16, "tokLen": 4 }, "end": { - "offset": 27221, + "offset": 28334, "col": 22, "tokLen": 9 } @@ -35462,7 +36127,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58600", + "id": "0x2cdbe640", "kind": "EnumConstantDecl", "name": "VCASCP_PB", "type": { @@ -35475,35 +36140,35 @@ ] }, { - "id": "0x38b5b90", + "id": "0x7f0da6bd7db8", "kind": "IfStmt", "range": { "begin": { - "offset": 27236, - "line": 882, + "offset": 28349, + "line": 925, "col": 5, "tokLen": 2 }, "end": { - "offset": 27277, - "line": 883, + "offset": 28390, + "line": 926, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b5ae0", + "id": "0x7f0da6bd7d08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27240, - "line": 882, + "offset": 28353, + "line": 925, "col": 9, "tokLen": 1 }, "end": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 } @@ -35515,67 +36180,67 @@ "adl": true, "inner": [ { - "id": "0x38b5ac8", + "id": "0x7f0da6bd7cf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 }, "end": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b5aa8", + "id": "0x7f0da6bd7cd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 }, "end": { - "offset": 27242, + "offset": 28355, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b4d20", + "id": "0x7f0da6bd6aa8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27240, + "offset": 28353, "col": 9, "tokLen": 1 }, "end": { - "offset": 27240, + "offset": 28353, "col": 9, "tokLen": 1 } @@ -35583,11 +36248,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35596,16 +36261,16 @@ } }, { - "id": "0x38b5a90", + "id": "0x7f0da6bd7cb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 }, "end": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 } @@ -35617,16 +36282,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b4d40", + "id": "0x7f0da6bd6ac8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 }, "end": { - "offset": 27245, + "offset": 28358, "col": 14, "tokLen": 9 } @@ -35642,33 +36307,33 @@ ] }, { - "id": "0x38b5b80", + "id": "0x7f0da6bd7da8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27264, - "line": 883, + "offset": 28377, + "line": 926, "col": 9, "tokLen": 6 }, "end": { - "offset": 27277, + "offset": 28390, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38b5b50", + "id": "0x7f0da6bd7d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27271, + "offset": 28384, "col": 16, "tokLen": 4 }, "end": { - "offset": 27277, + "offset": 28390, "col": 22, "tokLen": 7 } @@ -35678,7 +36343,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58650", + "id": "0x2cdbe690", "kind": "EnumConstantDecl", "name": "VOUT_CM", "type": { @@ -35691,35 +36356,35 @@ ] }, { - "id": "0x38b6a10", + "id": "0x7f0da6bd90e8", "kind": "IfStmt", "range": { "begin": { - "offset": 27290, - "line": 884, + "offset": 28403, + "line": 927, "col": 5, "tokLen": 2 }, "end": { - "offset": 27333, - "line": 885, + "offset": 28446, + "line": 928, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b6960", + "id": "0x7f0da6bd9038", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27294, - "line": 884, + "offset": 28407, + "line": 927, "col": 9, "tokLen": 1 }, "end": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 } @@ -35731,67 +36396,67 @@ "adl": true, "inner": [ { - "id": "0x38b6948", + "id": "0x7f0da6bd9020", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 }, "end": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b6928", + "id": "0x7f0da6bd9000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 }, "end": { - "offset": 27296, + "offset": 28409, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b5bb0", + "id": "0x7f0da6bd7dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27294, + "offset": 28407, "col": 9, "tokLen": 1 }, "end": { - "offset": 27294, + "offset": 28407, "col": 9, "tokLen": 1 } @@ -35799,11 +36464,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -35812,16 +36477,16 @@ } }, { - "id": "0x38b6910", + "id": "0x7f0da6bd8fe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 }, "end": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 } @@ -35833,16 +36498,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b5bd0", + "id": "0x7f0da6bd7df8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 }, "end": { - "offset": 27299, + "offset": 28412, "col": 14, "tokLen": 11 } @@ -35858,33 +36523,33 @@ ] }, { - "id": "0x38b6a00", + "id": "0x7f0da6bd90d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27320, - "line": 885, + "offset": 28433, + "line": 928, "col": 9, "tokLen": 6 }, "end": { - "offset": 27333, + "offset": 28446, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b69d0", + "id": "0x7f0da6bd90a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27327, + "offset": 28440, "col": 16, "tokLen": 4 }, "end": { - "offset": 27333, + "offset": 28446, "col": 22, "tokLen": 9 } @@ -35894,7 +36559,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f586a0", + "id": "0x2cdbe6e0", "kind": "EnumConstantDecl", "name": "VCASC_OUT", "type": { @@ -35907,35 +36572,35 @@ ] }, { - "id": "0x38b7880", + "id": "0x7f0da6bda418", "kind": "IfStmt", "range": { "begin": { - "offset": 27348, - "line": 886, + "offset": 28461, + "line": 929, "col": 5, "tokLen": 2 }, "end": { - "offset": 27388, - "line": 887, + "offset": 28501, + "line": 930, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38b77d0", + "id": "0x7f0da6bda368", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27352, - "line": 886, + "offset": 28465, + "line": 929, "col": 9, "tokLen": 1 }, "end": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 } @@ -35947,67 +36612,67 @@ "adl": true, "inner": [ { - "id": "0x38b77b8", + "id": "0x7f0da6bda350", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 }, "end": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b7798", + "id": "0x7f0da6bda330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 }, "end": { - "offset": 27354, + "offset": 28467, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b6a30", + "id": "0x7f0da6bd9108", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27352, + "offset": 28465, "col": 9, "tokLen": 1 }, "end": { - "offset": 27352, + "offset": 28465, "col": 9, "tokLen": 1 } @@ -36015,11 +36680,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36028,16 +36693,16 @@ } }, { - "id": "0x38b7780", + "id": "0x7f0da6bda318", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 }, "end": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 } @@ -36049,16 +36714,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b6a50", + "id": "0x7f0da6bd9128", "kind": "StringLiteral", "range": { "begin": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 }, "end": { - "offset": 27357, + "offset": 28470, "col": 14, "tokLen": 8 } @@ -36074,33 +36739,33 @@ ] }, { - "id": "0x38b7870", + "id": "0x7f0da6bda408", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27375, - "line": 887, + "offset": 28488, + "line": 930, "col": 9, "tokLen": 6 }, "end": { - "offset": 27388, + "offset": 28501, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38b7840", + "id": "0x7f0da6bda3d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27382, + "offset": 28495, "col": 16, "tokLen": 4 }, "end": { - "offset": 27388, + "offset": 28501, "col": 22, "tokLen": 6 } @@ -36110,7 +36775,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f586f0", + "id": "0x2cdbe730", "kind": "EnumConstantDecl", "name": "VIN_CM", "type": { @@ -36123,35 +36788,35 @@ ] }, { - "id": "0x38b8700", + "id": "0x7f0da6bdb748", "kind": "IfStmt", "range": { "begin": { - "offset": 27400, - "line": 888, + "offset": 28513, + "line": 931, "col": 5, "tokLen": 2 }, "end": { - "offset": 27443, - "line": 889, + "offset": 28556, + "line": 932, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b8650", + "id": "0x7f0da6bdb698", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27404, - "line": 888, + "offset": 28517, + "line": 931, "col": 9, "tokLen": 1 }, "end": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 } @@ -36163,67 +36828,67 @@ "adl": true, "inner": [ { - "id": "0x38b8638", + "id": "0x7f0da6bdb680", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 }, "end": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b8618", + "id": "0x7f0da6bdb660", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 }, "end": { - "offset": 27406, + "offset": 28519, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b78a0", + "id": "0x7f0da6bda438", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27404, + "offset": 28517, "col": 9, "tokLen": 1 }, "end": { - "offset": 27404, + "offset": 28517, "col": 9, "tokLen": 1 } @@ -36231,11 +36896,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36244,16 +36909,16 @@ } }, { - "id": "0x38b8600", + "id": "0x7f0da6bdb648", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 }, "end": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 } @@ -36265,16 +36930,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b78c0", + "id": "0x7f0da6bda458", "kind": "StringLiteral", "range": { "begin": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 }, "end": { - "offset": 27409, + "offset": 28522, "col": 14, "tokLen": 11 } @@ -36290,33 +36955,33 @@ ] }, { - "id": "0x38b86f0", + "id": "0x7f0da6bdb738", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27430, - "line": 889, + "offset": 28543, + "line": 932, "col": 9, "tokLen": 6 }, "end": { - "offset": 27443, + "offset": 28556, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38b86c0", + "id": "0x7f0da6bdb708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27437, + "offset": 28550, "col": 16, "tokLen": 4 }, "end": { - "offset": 27443, + "offset": 28556, "col": 22, "tokLen": 9 } @@ -36326,7 +36991,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58740", + "id": "0x2cdbe780", "kind": "EnumConstantDecl", "name": "VREF_COMP", "type": { @@ -36339,35 +37004,35 @@ ] }, { - "id": "0x38b9580", + "id": "0x7f0da6bdca78", "kind": "IfStmt", "range": { "begin": { - "offset": 27458, - "line": 890, + "offset": 28571, + "line": 933, "col": 5, "tokLen": 2 }, "end": { - "offset": 27501, - "line": 891, + "offset": 28614, + "line": 934, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b94d0", + "id": "0x7f0da6bdc9c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27462, - "line": 890, + "offset": 28575, + "line": 933, "col": 9, "tokLen": 1 }, "end": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 } @@ -36379,67 +37044,67 @@ "adl": true, "inner": [ { - "id": "0x38b94b8", + "id": "0x7f0da6bdc9b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 }, "end": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38b9498", + "id": "0x7f0da6bdc990", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 }, "end": { - "offset": 27464, + "offset": 28577, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b8720", + "id": "0x7f0da6bdb768", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27462, + "offset": 28575, "col": 9, "tokLen": 1 }, "end": { - "offset": 27462, + "offset": 28575, "col": 9, "tokLen": 1 } @@ -36447,11 +37112,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36460,16 +37125,16 @@ } }, { - "id": "0x38b9480", + "id": "0x7f0da6bdc978", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 }, "end": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 } @@ -36481,16 +37146,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b8740", + "id": "0x7f0da6bdb788", "kind": "StringLiteral", "range": { "begin": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 }, "end": { - "offset": 27467, + "offset": 28580, "col": 14, "tokLen": 11 } @@ -36506,33 +37171,33 @@ ] }, { - "id": "0x38b9570", + "id": "0x7f0da6bdca68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27488, - "line": 891, + "offset": 28601, + "line": 934, "col": 9, "tokLen": 6 }, "end": { - "offset": 27501, + "offset": 28614, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38b9540", + "id": "0x7f0da6bdca38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27495, + "offset": 28608, "col": 16, "tokLen": 4 }, "end": { - "offset": 27501, + "offset": 28614, "col": 22, "tokLen": 8 } @@ -36542,7 +37207,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58790", + "id": "0x2cdbe7d0", "kind": "EnumConstantDecl", "name": "IB_TESTC", "type": { @@ -36555,35 +37220,35 @@ ] }, { - "id": "0x38ba3f0", + "id": "0x7f0da6bddda8", "kind": "IfStmt", "range": { "begin": { - "offset": 27515, - "line": 892, + "offset": 28628, + "line": 935, "col": 5, "tokLen": 2 }, "end": { - "offset": 27556, - "line": 893, + "offset": 28669, + "line": 936, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ba340", + "id": "0x7f0da6bddcf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27519, - "line": 892, + "offset": 28632, + "line": 935, "col": 9, "tokLen": 1 }, "end": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 } @@ -36595,67 +37260,67 @@ "adl": true, "inner": [ { - "id": "0x38ba328", + "id": "0x7f0da6bddce0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 }, "end": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ba308", + "id": "0x7f0da6bddcc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 }, "end": { - "offset": 27521, + "offset": 28634, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38b95a0", + "id": "0x7f0da6bdca98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27519, + "offset": 28632, "col": 9, "tokLen": 1 }, "end": { - "offset": 27519, + "offset": 28632, "col": 9, "tokLen": 1 } @@ -36663,11 +37328,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36676,16 +37341,16 @@ } }, { - "id": "0x38ba2f0", + "id": "0x7f0da6bddca8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 }, "end": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 } @@ -36697,16 +37362,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38b95c0", + "id": "0x7f0da6bdcab8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 }, "end": { - "offset": 27524, + "offset": 28637, "col": 14, "tokLen": 9 } @@ -36722,33 +37387,33 @@ ] }, { - "id": "0x38ba3e0", + "id": "0x7f0da6bddd98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27543, - "line": 893, + "offset": 28656, + "line": 936, "col": 9, "tokLen": 6 }, "end": { - "offset": 27556, + "offset": 28669, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38ba3b0", + "id": "0x7f0da6bddd68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27550, + "offset": 28663, "col": 16, "tokLen": 4 }, "end": { - "offset": 27556, + "offset": 28669, "col": 22, "tokLen": 7 } @@ -36758,7 +37423,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f587e0", + "id": "0x2cdbe820", "kind": "EnumConstantDecl", "name": "VB_COMP", "type": { @@ -36771,35 +37436,35 @@ ] }, { - "id": "0x38bb260", + "id": "0x7f0da6b9e0f8", "kind": "IfStmt", "range": { "begin": { - "offset": 27569, - "line": 894, + "offset": 28682, + "line": 937, "col": 5, "tokLen": 2 }, "end": { - "offset": 27611, - "line": 895, + "offset": 28724, + "line": 938, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38bb1b0", + "id": "0x7f0da6b9e048", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27573, - "line": 894, + "offset": 28686, + "line": 937, "col": 9, "tokLen": 1 }, "end": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 } @@ -36811,67 +37476,67 @@ "adl": true, "inner": [ { - "id": "0x38bb198", + "id": "0x7f0da6b9e030", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 }, "end": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bb178", + "id": "0x7f0da6b9e010", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 }, "end": { - "offset": 27575, + "offset": 28688, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ba410", + "id": "0x7f0da6bdddc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27573, + "offset": 28686, "col": 9, "tokLen": 1 }, "end": { - "offset": 27573, + "offset": 28686, "col": 9, "tokLen": 1 } @@ -36879,11 +37544,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -36892,16 +37557,16 @@ } }, { - "id": "0x38bb160", + "id": "0x7f0da6b9dff8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 }, "end": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 } @@ -36913,16 +37578,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ba430", + "id": "0x7f0da6bddde8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 }, "end": { - "offset": 27578, + "offset": 28691, "col": 14, "tokLen": 10 } @@ -36938,33 +37603,33 @@ ] }, { - "id": "0x38bb250", + "id": "0x7f0da6b9e0e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27598, - "line": 895, + "offset": 28711, + "line": 938, "col": 9, "tokLen": 6 }, "end": { - "offset": 27611, + "offset": 28724, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38bb220", + "id": "0x7f0da6b9e0b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27605, + "offset": 28718, "col": 16, "tokLen": 4 }, "end": { - "offset": 27611, + "offset": 28724, "col": 22, "tokLen": 8 } @@ -36974,7 +37639,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58830", + "id": "0x2cdbe870", "kind": "EnumConstantDecl", "name": "VDD_PROT", "type": { @@ -36987,35 +37652,35 @@ ] }, { - "id": "0x38bc0d0", + "id": "0x7f0da6b9f428", "kind": "IfStmt", "range": { "begin": { - "offset": 27625, - "line": 896, + "offset": 28738, + "line": 939, "col": 5, "tokLen": 2 }, "end": { - "offset": 27666, - "line": 897, + "offset": 28779, + "line": 940, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38bc020", + "id": "0x7f0da6b9f378", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27629, - "line": 896, + "offset": 28742, + "line": 939, "col": 9, "tokLen": 1 }, "end": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 } @@ -37027,67 +37692,67 @@ "adl": true, "inner": [ { - "id": "0x38bc008", + "id": "0x7f0da6b9f360", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 }, "end": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bbfe8", + "id": "0x7f0da6b9f340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 }, "end": { - "offset": 27631, + "offset": 28744, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bb280", + "id": "0x7f0da6b9e118", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27629, + "offset": 28742, "col": 9, "tokLen": 1 }, "end": { - "offset": 27629, + "offset": 28742, "col": 9, "tokLen": 1 } @@ -37095,11 +37760,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37108,16 +37773,16 @@ } }, { - "id": "0x38bbfd0", + "id": "0x7f0da6b9f328", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 }, "end": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 } @@ -37129,16 +37794,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bb2a0", + "id": "0x7f0da6b9e138", "kind": "StringLiteral", "range": { "begin": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 }, "end": { - "offset": 27634, + "offset": 28747, "col": 14, "tokLen": 9 } @@ -37154,33 +37819,33 @@ ] }, { - "id": "0x38bc0c0", + "id": "0x7f0da6b9f418", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27653, - "line": 897, + "offset": 28766, + "line": 940, "col": 9, "tokLen": 6 }, "end": { - "offset": 27666, + "offset": 28779, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38bc090", + "id": "0x7f0da6b9f3e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27660, + "offset": 28773, "col": 16, "tokLen": 4 }, "end": { - "offset": 27666, + "offset": 28779, "col": 22, "tokLen": 7 } @@ -37190,7 +37855,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58880", + "id": "0x2cdbe8c0", "kind": "EnumConstantDecl", "name": "VIN_COM", "type": { @@ -37203,35 +37868,35 @@ ] }, { - "id": "0x38bcf50", + "id": "0x7f0da6ba0758", "kind": "IfStmt", "range": { "begin": { - "offset": 27679, - "line": 898, + "offset": 28792, + "line": 941, "col": 5, "tokLen": 2 }, "end": { - "offset": 27723, - "line": 899, + "offset": 28836, + "line": 942, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bcea0", + "id": "0x7f0da6ba06a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27683, - "line": 898, + "offset": 28796, + "line": 941, "col": 9, "tokLen": 1 }, "end": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 } @@ -37243,67 +37908,67 @@ "adl": true, "inner": [ { - "id": "0x38bce88", + "id": "0x7f0da6ba0690", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 }, "end": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bce68", + "id": "0x7f0da6ba0670", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 }, "end": { - "offset": 27685, + "offset": 28798, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bc0f0", + "id": "0x7f0da6b9f448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27683, + "offset": 28796, "col": 9, "tokLen": 1 }, "end": { - "offset": 27683, + "offset": 28796, "col": 9, "tokLen": 1 } @@ -37311,11 +37976,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37324,16 +37989,16 @@ } }, { - "id": "0x38bce50", + "id": "0x7f0da6ba0658", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 }, "end": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 } @@ -37345,16 +38010,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bc110", + "id": "0x7f0da6b9f468", "kind": "StringLiteral", "range": { "begin": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 }, "end": { - "offset": 27688, + "offset": 28801, "col": 14, "tokLen": 12 } @@ -37370,33 +38035,33 @@ ] }, { - "id": "0x38bcf40", + "id": "0x7f0da6ba0748", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27710, - "line": 899, + "offset": 28823, + "line": 942, "col": 9, "tokLen": 6 }, "end": { - "offset": 27723, + "offset": 28836, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bcf10", + "id": "0x7f0da6ba0718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27717, + "offset": 28830, "col": 16, "tokLen": 4 }, "end": { - "offset": 27723, + "offset": 28836, "col": 22, "tokLen": 10 } @@ -37406,7 +38071,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f588d0", + "id": "0x2cdbe910", "kind": "EnumConstantDecl", "name": "VREF_PRECH", "type": { @@ -37419,35 +38084,35 @@ ] }, { - "id": "0x38bddd0", + "id": "0x7f0da6ba1a88", "kind": "IfStmt", "range": { "begin": { - "offset": 27739, - "line": 900, + "offset": 28852, + "line": 943, "col": 5, "tokLen": 2 }, "end": { - "offset": 27782, - "line": 901, + "offset": 28895, + "line": 944, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38bdd20", + "id": "0x7f0da6ba19d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27743, - "line": 900, + "offset": 28856, + "line": 943, "col": 9, "tokLen": 1 }, "end": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 } @@ -37459,67 +38124,67 @@ "adl": true, "inner": [ { - "id": "0x38bdd08", + "id": "0x7f0da6ba19c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 }, "end": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bdce8", + "id": "0x7f0da6ba19a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 }, "end": { - "offset": 27745, + "offset": 28858, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bcf70", + "id": "0x7f0da6ba0778", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27743, + "offset": 28856, "col": 9, "tokLen": 1 }, "end": { - "offset": 27743, + "offset": 28856, "col": 9, "tokLen": 1 } @@ -37527,11 +38192,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37540,16 +38205,16 @@ } }, { - "id": "0x38bdcd0", + "id": "0x7f0da6ba1988", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 }, "end": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 } @@ -37561,16 +38226,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bcf90", + "id": "0x7f0da6ba0798", "kind": "StringLiteral", "range": { "begin": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 }, "end": { - "offset": 27748, + "offset": 28861, "col": 14, "tokLen": 11 } @@ -37586,33 +38251,33 @@ ] }, { - "id": "0x38bddc0", + "id": "0x7f0da6ba1a78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27769, - "line": 901, + "offset": 28882, + "line": 944, "col": 9, "tokLen": 6 }, "end": { - "offset": 27782, + "offset": 28895, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38bdd90", + "id": "0x7f0da6ba1a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27776, + "offset": 28889, "col": 16, "tokLen": 4 }, "end": { - "offset": 27782, + "offset": 28895, "col": 22, "tokLen": 9 } @@ -37622,7 +38287,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58920", + "id": "0x2cdbe960", "kind": "EnumConstantDecl", "name": "VB_PIXBUF", "type": { @@ -37635,35 +38300,35 @@ ] }, { - "id": "0x38bec40", + "id": "0x7f0da6ba2db8", "kind": "IfStmt", "range": { "begin": { - "offset": 27797, - "line": 902, + "offset": 28910, + "line": 945, "col": 5, "tokLen": 2 }, "end": { - "offset": 27836, - "line": 903, + "offset": 28949, + "line": 946, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38beb90", + "id": "0x7f0da6ba2d08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27801, - "line": 902, + "offset": 28914, + "line": 945, "col": 9, "tokLen": 1 }, "end": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 } @@ -37675,67 +38340,67 @@ "adl": true, "inner": [ { - "id": "0x38beb78", + "id": "0x7f0da6ba2cf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 }, "end": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38beb58", + "id": "0x7f0da6ba2cd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 }, "end": { - "offset": 27803, + "offset": 28916, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bddf0", + "id": "0x7f0da6ba1aa8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27801, + "offset": 28914, "col": 9, "tokLen": 1 }, "end": { - "offset": 27801, + "offset": 28914, "col": 9, "tokLen": 1 } @@ -37743,11 +38408,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37756,16 +38421,16 @@ } }, { - "id": "0x38beb40", + "id": "0x7f0da6ba2cb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 }, "end": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 } @@ -37777,16 +38442,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bde10", + "id": "0x7f0da6ba1ac8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 }, "end": { - "offset": 27806, + "offset": 28919, "col": 14, "tokLen": 7 } @@ -37802,33 +38467,33 @@ ] }, { - "id": "0x38bec30", + "id": "0x7f0da6ba2da8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27823, - "line": 903, + "offset": 28936, + "line": 946, "col": 9, "tokLen": 6 }, "end": { - "offset": 27836, + "offset": 28949, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38bec00", + "id": "0x7f0da6ba2d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27830, + "offset": 28943, "col": 16, "tokLen": 4 }, "end": { - "offset": 27836, + "offset": 28949, "col": 22, "tokLen": 5 } @@ -37838,7 +38503,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58970", + "id": "0x2cdbe9b0", "kind": "EnumConstantDecl", "name": "VB_DS", "type": { @@ -37851,35 +38516,35 @@ ] }, { - "id": "0x38bfac0", + "id": "0x7f0da6ba40e8", "kind": "IfStmt", "range": { "begin": { - "offset": 27847, - "line": 904, + "offset": 28960, + "line": 947, "col": 5, "tokLen": 2 }, "end": { - "offset": 27891, - "line": 905, + "offset": 29004, + "line": 948, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bfa10", + "id": "0x7f0da6ba4038", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27851, - "line": 904, + "offset": 28964, + "line": 947, "col": 9, "tokLen": 1 }, "end": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 } @@ -37891,67 +38556,67 @@ "adl": true, "inner": [ { - "id": "0x38bf9f8", + "id": "0x7f0da6ba4020", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 }, "end": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38bf9d8", + "id": "0x7f0da6ba4000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 }, "end": { - "offset": 27853, + "offset": 28966, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bec60", + "id": "0x7f0da6ba2dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27851, + "offset": 28964, "col": 9, "tokLen": 1 }, "end": { - "offset": 27851, + "offset": 28964, "col": 9, "tokLen": 1 } @@ -37959,11 +38624,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -37972,16 +38637,16 @@ } }, { - "id": "0x38bf9c0", + "id": "0x7f0da6ba3fe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 }, "end": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 } @@ -37993,16 +38658,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bec80", + "id": "0x7f0da6ba2df8", "kind": "StringLiteral", "range": { "begin": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 }, "end": { - "offset": 27856, + "offset": 28969, "col": 14, "tokLen": 12 } @@ -38018,33 +38683,33 @@ ] }, { - "id": "0x38bfab0", + "id": "0x7f0da6ba40d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27878, - "line": 905, + "offset": 28991, + "line": 948, "col": 9, "tokLen": 6 }, "end": { - "offset": 27891, + "offset": 29004, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38bfa80", + "id": "0x7f0da6ba40a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27885, + "offset": 28998, "col": 16, "tokLen": 4 }, "end": { - "offset": 27891, + "offset": 29004, "col": 22, "tokLen": 10 } @@ -38054,7 +38719,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f589c0", + "id": "0x2cdbea00", "kind": "EnumConstantDecl", "name": "VREF_H_ADC", "type": { @@ -38067,35 +38732,35 @@ ] }, { - "id": "0x38c0940", + "id": "0x7f0da6ba5418", "kind": "IfStmt", "range": { "begin": { - "offset": 27907, - "line": 906, + "offset": 29020, + "line": 949, "col": 5, "tokLen": 2 }, "end": { - "offset": 27951, - "line": 907, + "offset": 29064, + "line": 950, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c0890", + "id": "0x7f0da6ba5368", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27911, - "line": 906, + "offset": 29024, + "line": 949, "col": 9, "tokLen": 1 }, "end": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 } @@ -38107,67 +38772,67 @@ "adl": true, "inner": [ { - "id": "0x38c0878", + "id": "0x7f0da6ba5350", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 }, "end": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c0858", + "id": "0x7f0da6ba5330", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 }, "end": { - "offset": 27913, + "offset": 29026, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38bfae0", + "id": "0x7f0da6ba4108", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27911, + "offset": 29024, "col": 9, "tokLen": 1 }, "end": { - "offset": 27911, + "offset": 29024, "col": 9, "tokLen": 1 } @@ -38175,11 +38840,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38188,16 +38853,16 @@ } }, { - "id": "0x38c0840", + "id": "0x7f0da6ba5318", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 }, "end": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 } @@ -38209,16 +38874,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38bfb00", + "id": "0x7f0da6ba4128", "kind": "StringLiteral", "range": { "begin": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 }, "end": { - "offset": 27916, + "offset": 29029, "col": 14, "tokLen": 12 } @@ -38234,33 +38899,33 @@ ] }, { - "id": "0x38c0930", + "id": "0x7f0da6ba5408", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27938, - "line": 907, + "offset": 29051, + "line": 950, "col": 9, "tokLen": 6 }, "end": { - "offset": 27951, + "offset": 29064, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c0900", + "id": "0x7f0da6ba53d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27945, + "offset": 29058, "col": 16, "tokLen": 4 }, "end": { - "offset": 27951, + "offset": 29064, "col": 22, "tokLen": 10 } @@ -38270,7 +38935,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58a10", + "id": "0x2cdbea50", "kind": "EnumConstantDecl", "name": "VB_COMP_FE", "type": { @@ -38283,35 +38948,35 @@ ] }, { - "id": "0x38c17c0", + "id": "0x7f0da6ba6748", "kind": "IfStmt", "range": { "begin": { - "offset": 27967, - "line": 908, + "offset": 29080, + "line": 951, "col": 5, "tokLen": 2 }, "end": { - "offset": 28012, - "line": 909, + "offset": 29125, + "line": 952, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c1710", + "id": "0x7f0da6ba6698", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 27971, - "line": 908, + "offset": 29084, + "line": 951, "col": 9, "tokLen": 1 }, "end": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 } @@ -38323,67 +38988,67 @@ "adl": true, "inner": [ { - "id": "0x38c16f8", + "id": "0x7f0da6ba6680", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 }, "end": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c16d8", + "id": "0x7f0da6ba6660", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 }, "end": { - "offset": 27973, + "offset": 29086, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c0960", + "id": "0x7f0da6ba5438", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 27971, + "offset": 29084, "col": 9, "tokLen": 1 }, "end": { - "offset": 27971, + "offset": 29084, "col": 9, "tokLen": 1 } @@ -38391,11 +39056,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38404,16 +39069,16 @@ } }, { - "id": "0x38c16c0", + "id": "0x7f0da6ba6648", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 }, "end": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 } @@ -38425,16 +39090,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c0980", + "id": "0x7f0da6ba5458", "kind": "StringLiteral", "range": { "begin": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 }, "end": { - "offset": 27976, + "offset": 29089, "col": 14, "tokLen": 13 } @@ -38450,33 +39115,33 @@ ] }, { - "id": "0x38c17b0", + "id": "0x7f0da6ba6738", "kind": "ReturnStmt", "range": { "begin": { - "offset": 27999, - "line": 909, + "offset": 29112, + "line": 952, "col": 9, "tokLen": 6 }, "end": { - "offset": 28012, + "offset": 29125, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c1780", + "id": "0x7f0da6ba6708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28006, + "offset": 29119, "col": 16, "tokLen": 4 }, "end": { - "offset": 28012, + "offset": 29125, "col": 22, "tokLen": 11 } @@ -38486,7 +39151,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58a60", + "id": "0x2cdbeaa0", "kind": "EnumConstantDecl", "name": "VB_COMP_ADC", "type": { @@ -38499,35 +39164,35 @@ ] }, { - "id": "0x38c2630", + "id": "0x7f0da6ba7a78", "kind": "IfStmt", "range": { "begin": { - "offset": 28029, - "line": 910, + "offset": 29142, + "line": 953, "col": 5, "tokLen": 2 }, "end": { - "offset": 28071, - "line": 911, + "offset": 29184, + "line": 954, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c2580", + "id": "0x7f0da6ba79c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28033, - "line": 910, + "offset": 29146, + "line": 953, "col": 9, "tokLen": 1 }, "end": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 } @@ -38539,67 +39204,67 @@ "adl": true, "inner": [ { - "id": "0x38c2568", + "id": "0x7f0da6ba79b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 }, "end": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c2548", + "id": "0x7f0da6ba7990", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 }, "end": { - "offset": 28035, + "offset": 29148, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c17e0", + "id": "0x7f0da6ba6768", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28033, + "offset": 29146, "col": 9, "tokLen": 1 }, "end": { - "offset": 28033, + "offset": 29146, "col": 9, "tokLen": 1 } @@ -38607,11 +39272,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38620,16 +39285,16 @@ } }, { - "id": "0x38c2530", + "id": "0x7f0da6ba7978", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 }, "end": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 } @@ -38641,16 +39306,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c1800", + "id": "0x7f0da6ba6788", "kind": "StringLiteral", "range": { "begin": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 }, "end": { - "offset": 28038, + "offset": 29151, "col": 14, "tokLen": 10 } @@ -38666,33 +39331,33 @@ ] }, { - "id": "0x38c2620", + "id": "0x7f0da6ba7a68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28058, - "line": 911, + "offset": 29171, + "line": 954, "col": 9, "tokLen": 6 }, "end": { - "offset": 28071, + "offset": 29184, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c25f0", + "id": "0x7f0da6ba7a38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28065, + "offset": 29178, "col": 16, "tokLen": 4 }, "end": { - "offset": 28071, + "offset": 29184, "col": 22, "tokLen": 8 } @@ -38702,7 +39367,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ab0", + "id": "0x2cdbeaf0", "kind": "EnumConstantDecl", "name": "VCOM_CDS", "type": { @@ -38715,35 +39380,35 @@ ] }, { - "id": "0x38c34b0", + "id": "0x7f0da6ba8da8", "kind": "IfStmt", "range": { "begin": { - "offset": 28085, - "line": 912, + "offset": 29198, + "line": 955, "col": 5, "tokLen": 2 }, "end": { - "offset": 28130, - "line": 913, + "offset": 29243, + "line": 956, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c3400", + "id": "0x7f0da6ba8cf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28089, - "line": 912, + "offset": 29202, + "line": 955, "col": 9, "tokLen": 1 }, "end": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 } @@ -38755,67 +39420,67 @@ "adl": true, "inner": [ { - "id": "0x38c33e8", + "id": "0x7f0da6ba8ce0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 }, "end": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c33c8", + "id": "0x7f0da6ba8cc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 }, "end": { - "offset": 28091, + "offset": 29204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c2650", + "id": "0x7f0da6ba7a98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28089, + "offset": 29202, "col": 9, "tokLen": 1 }, "end": { - "offset": 28089, + "offset": 29202, "col": 9, "tokLen": 1 } @@ -38823,11 +39488,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -38836,16 +39501,16 @@ } }, { - "id": "0x38c33b0", + "id": "0x7f0da6ba8ca8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 }, "end": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 } @@ -38857,16 +39522,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c2670", + "id": "0x7f0da6ba7ab8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 }, "end": { - "offset": 28094, + "offset": 29207, "col": 14, "tokLen": 13 } @@ -38882,33 +39547,33 @@ ] }, { - "id": "0x38c34a0", + "id": "0x7f0da6ba8d98", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28117, - "line": 913, + "offset": 29230, + "line": 956, "col": 9, "tokLen": 6 }, "end": { - "offset": 28130, + "offset": 29243, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x38c3470", + "id": "0x7f0da6ba8d68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28124, + "offset": 29237, "col": 16, "tokLen": 4 }, "end": { - "offset": 28130, + "offset": 29243, "col": 22, "tokLen": 11 } @@ -38918,7 +39583,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58b00", + "id": "0x2cdbeb40", "kind": "EnumConstantDecl", "name": "VREF_RSTORE", "type": { @@ -38931,35 +39596,35 @@ ] }, { - "id": "0x38c4330", + "id": "0x7f0da6baa0d8", "kind": "IfStmt", "range": { "begin": { - "offset": 28147, - "line": 914, + "offset": 29260, + "line": 957, "col": 5, "tokLen": 2 }, "end": { - "offset": 28191, - "line": 915, + "offset": 29304, + "line": 958, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c4280", + "id": "0x7f0da6baa028", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28151, - "line": 914, + "offset": 29264, + "line": 957, "col": 9, "tokLen": 1 }, "end": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 } @@ -38971,67 +39636,67 @@ "adl": true, "inner": [ { - "id": "0x38c4268", + "id": "0x7f0da6baa010", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 }, "end": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c4248", + "id": "0x7f0da6ba9ff0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 }, "end": { - "offset": 28153, + "offset": 29266, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c34d0", + "id": "0x7f0da6ba8dc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28151, + "offset": 29264, "col": 9, "tokLen": 1 }, "end": { - "offset": 28151, + "offset": 29264, "col": 9, "tokLen": 1 } @@ -39039,11 +39704,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39052,16 +39717,16 @@ } }, { - "id": "0x38c4230", + "id": "0x7f0da6ba9fd8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 }, "end": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 } @@ -39073,16 +39738,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c34f0", + "id": "0x7f0da6ba8de8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 }, "end": { - "offset": 28156, + "offset": 29269, "col": 14, "tokLen": 12 } @@ -39098,33 +39763,33 @@ ] }, { - "id": "0x38c4320", + "id": "0x7f0da6baa0c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28178, - "line": 915, + "offset": 29291, + "line": 958, "col": 9, "tokLen": 6 }, "end": { - "offset": 28191, + "offset": 29304, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c42f0", + "id": "0x7f0da6baa098", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28185, + "offset": 29298, "col": 16, "tokLen": 4 }, "end": { - "offset": 28191, + "offset": 29304, "col": 22, "tokLen": 10 } @@ -39134,7 +39799,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58b50", + "id": "0x2cdbeb90", "kind": "EnumConstantDecl", "name": "VB_OPA_1ST", "type": { @@ -39147,35 +39812,35 @@ ] }, { - "id": "0x38c51c8", + "id": "0x7f0da6bab408", "kind": "IfStmt", "range": { "begin": { - "offset": 28207, - "line": 916, + "offset": 29320, + "line": 959, "col": 5, "tokLen": 2 }, "end": { - "offset": 28253, - "line": 917, + "offset": 29366, + "line": 960, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x38c5100", + "id": "0x7f0da6bab358", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28211, - "line": 916, + "offset": 29324, + "line": 959, "col": 9, "tokLen": 1 }, "end": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 } @@ -39187,67 +39852,67 @@ "adl": true, "inner": [ { - "id": "0x38c50e8", + "id": "0x7f0da6bab340", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 }, "end": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c50c8", + "id": "0x7f0da6bab320", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 }, "end": { - "offset": 28213, + "offset": 29326, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c4350", + "id": "0x7f0da6baa0f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28211, + "offset": 29324, "col": 9, "tokLen": 1 }, "end": { - "offset": 28211, + "offset": 29324, "col": 9, "tokLen": 1 } @@ -39255,11 +39920,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39268,16 +39933,16 @@ } }, { - "id": "0x38c50b0", + "id": "0x7f0da6bab308", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 }, "end": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 } @@ -39289,16 +39954,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c4370", + "id": "0x7f0da6baa118", "kind": "StringLiteral", "range": { "begin": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 }, "end": { - "offset": 28216, + "offset": 29329, "col": 14, "tokLen": 14 } @@ -39314,33 +39979,33 @@ ] }, { - "id": "0x38c51b8", + "id": "0x7f0da6bab3f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28240, - "line": 917, + "offset": 29353, + "line": 960, "col": 9, "tokLen": 6 }, "end": { - "offset": 28253, + "offset": 29366, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x38c5188", + "id": "0x7f0da6bab3c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28247, + "offset": 29360, "col": 16, "tokLen": 4 }, "end": { - "offset": 28253, + "offset": 29366, "col": 22, "tokLen": 12 } @@ -39350,7 +40015,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ba0", + "id": "0x2cdbebe0", "kind": "EnumConstantDecl", "name": "VREF_COMP_FE", "type": { @@ -39363,35 +40028,35 @@ ] }, { - "id": "0x38c6040", + "id": "0x7f0da6bac738", "kind": "IfStmt", "range": { "begin": { - "offset": 28271, - "line": 918, + "offset": 29384, + "line": 961, "col": 5, "tokLen": 2 }, "end": { - "offset": 28314, - "line": 919, + "offset": 29427, + "line": 962, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c5f90", + "id": "0x7f0da6bac688", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28275, - "line": 918, + "offset": 29388, + "line": 961, "col": 9, "tokLen": 1 }, "end": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 } @@ -39403,67 +40068,67 @@ "adl": true, "inner": [ { - "id": "0x38c5f78", + "id": "0x7f0da6bac670", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 }, "end": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c5f58", + "id": "0x7f0da6bac650", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 }, "end": { - "offset": 28277, + "offset": 29390, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c51e8", + "id": "0x7f0da6bab428", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28275, + "offset": 29388, "col": 9, "tokLen": 1 }, "end": { - "offset": 28275, + "offset": 29388, "col": 9, "tokLen": 1 } @@ -39471,11 +40136,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39484,16 +40149,16 @@ } }, { - "id": "0x38c5f40", + "id": "0x7f0da6bac638", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 }, "end": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 } @@ -39505,16 +40170,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c5208", + "id": "0x7f0da6bab448", "kind": "StringLiteral", "range": { "begin": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 }, "end": { - "offset": 28280, + "offset": 29393, "col": 14, "tokLen": 11 } @@ -39530,33 +40195,33 @@ ] }, { - "id": "0x38c6030", + "id": "0x7f0da6bac728", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28301, - "line": 919, + "offset": 29414, + "line": 962, "col": 9, "tokLen": 6 }, "end": { - "offset": 28314, + "offset": 29427, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c6000", + "id": "0x7f0da6bac6f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28308, + "offset": 29421, "col": 16, "tokLen": 4 }, "end": { - "offset": 28314, + "offset": 29427, "col": 22, "tokLen": 9 } @@ -39566,7 +40231,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58bf0", + "id": "0x2cdbec30", "kind": "EnumConstantDecl", "name": "VCOM_ADC1", "type": { @@ -39579,35 +40244,35 @@ ] }, { - "id": "0x38c6ec0", + "id": "0x7f0da6bada68", "kind": "IfStmt", "range": { "begin": { - "offset": 28329, - "line": 920, + "offset": 29442, + "line": 963, "col": 5, "tokLen": 2 }, "end": { - "offset": 28373, - "line": 921, + "offset": 29486, + "line": 964, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c6e10", + "id": "0x7f0da6bad9b8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28333, - "line": 920, + "offset": 29446, + "line": 963, "col": 9, "tokLen": 1 }, "end": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 } @@ -39619,67 +40284,67 @@ "adl": true, "inner": [ { - "id": "0x38c6df8", + "id": "0x7f0da6bad9a0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 }, "end": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c6dd8", + "id": "0x7f0da6bad980", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 }, "end": { - "offset": 28335, + "offset": 29448, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c6060", + "id": "0x7f0da6bac758", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28333, + "offset": 29446, "col": 9, "tokLen": 1 }, "end": { - "offset": 28333, + "offset": 29446, "col": 9, "tokLen": 1 } @@ -39687,11 +40352,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39700,16 +40365,16 @@ } }, { - "id": "0x38c6dc0", + "id": "0x7f0da6bad968", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 }, "end": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 } @@ -39721,16 +40386,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c6080", + "id": "0x7f0da6bac778", "kind": "StringLiteral", "range": { "begin": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 }, "end": { - "offset": 28338, + "offset": 29451, "col": 14, "tokLen": 12 } @@ -39746,33 +40411,33 @@ ] }, { - "id": "0x38c6eb0", + "id": "0x7f0da6bada58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28360, - "line": 921, + "offset": 29473, + "line": 964, "col": 9, "tokLen": 6 }, "end": { - "offset": 28373, + "offset": 29486, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38c6e80", + "id": "0x7f0da6bada28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28367, + "offset": 29480, "col": 16, "tokLen": 4 }, "end": { - "offset": 28373, + "offset": 29486, "col": 22, "tokLen": 10 } @@ -39782,7 +40447,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58c40", + "id": "0x2cdbec80", "kind": "EnumConstantDecl", "name": "VREF_L_ADC", "type": { @@ -39795,35 +40460,35 @@ ] }, { - "id": "0x38c7d30", + "id": "0x7f0da6baed98", "kind": "IfStmt", "range": { "begin": { - "offset": 28389, - "line": 922, + "offset": 29502, + "line": 965, "col": 5, "tokLen": 2 }, "end": { - "offset": 28431, - "line": 923, + "offset": 29544, + "line": 966, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c7c80", + "id": "0x7f0da6baece8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28393, - "line": 922, + "offset": 29506, + "line": 965, "col": 9, "tokLen": 1 }, "end": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 } @@ -39835,67 +40500,67 @@ "adl": true, "inner": [ { - "id": "0x38c7c68", + "id": "0x7f0da6baecd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 }, "end": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c7c48", + "id": "0x7f0da6baecb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 }, "end": { - "offset": 28395, + "offset": 29508, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c6ee0", + "id": "0x7f0da6bada88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28393, + "offset": 29506, "col": 9, "tokLen": 1 }, "end": { - "offset": 28393, + "offset": 29506, "col": 9, "tokLen": 1 } @@ -39903,11 +40568,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -39916,16 +40581,16 @@ } }, { - "id": "0x38c7c30", + "id": "0x7f0da6baec98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 }, "end": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 } @@ -39937,16 +40602,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c6f00", + "id": "0x7f0da6badaa8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 }, "end": { - "offset": 28398, + "offset": 29511, "col": 14, "tokLen": 10 } @@ -39962,33 +40627,33 @@ ] }, { - "id": "0x38c7d20", + "id": "0x7f0da6baed88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28418, - "line": 923, + "offset": 29531, + "line": 966, "col": 9, "tokLen": 6 }, "end": { - "offset": 28431, + "offset": 29544, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38c7cf0", + "id": "0x7f0da6baed58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28425, + "offset": 29538, "col": 16, "tokLen": 4 }, "end": { - "offset": 28431, + "offset": 29544, "col": 22, "tokLen": 8 } @@ -39998,7 +40663,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58c90", + "id": "0x2cdbecd0", "kind": "EnumConstantDecl", "name": "VREF_CDS", "type": { @@ -40011,35 +40676,35 @@ ] }, { - "id": "0x38c8ba0", + "id": "0x7f0da6bb00c8", "kind": "IfStmt", "range": { "begin": { - "offset": 28445, - "line": 924, + "offset": 29558, + "line": 967, "col": 5, "tokLen": 2 }, "end": { - "offset": 28484, - "line": 925, + "offset": 29597, + "line": 968, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38c8af0", + "id": "0x7f0da6bb0018", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28449, - "line": 924, + "offset": 29562, + "line": 967, "col": 9, "tokLen": 1 }, "end": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 } @@ -40051,67 +40716,67 @@ "adl": true, "inner": [ { - "id": "0x38c8ad8", + "id": "0x7f0da6bb0000", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 }, "end": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c8ab8", + "id": "0x7f0da6baffe0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 }, "end": { - "offset": 28451, + "offset": 29564, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c7d50", + "id": "0x7f0da6baedb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28449, + "offset": 29562, "col": 9, "tokLen": 1 }, "end": { - "offset": 28449, + "offset": 29562, "col": 9, "tokLen": 1 } @@ -40119,11 +40784,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40132,16 +40797,16 @@ } }, { - "id": "0x38c8aa0", + "id": "0x7f0da6baffc8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 }, "end": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 } @@ -40153,16 +40818,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c7d70", + "id": "0x7f0da6baedd8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 }, "end": { - "offset": 28454, + "offset": 29567, "col": 14, "tokLen": 7 } @@ -40178,33 +40843,33 @@ ] }, { - "id": "0x38c8b90", + "id": "0x7f0da6bb00b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28471, - "line": 925, + "offset": 29584, + "line": 968, "col": 9, "tokLen": 6 }, "end": { - "offset": 28484, + "offset": 29597, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38c8b60", + "id": "0x7f0da6bb0088", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28478, + "offset": 29591, "col": 16, "tokLen": 4 }, "end": { - "offset": 28484, + "offset": 29597, "col": 22, "tokLen": 5 } @@ -40214,7 +40879,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ce0", + "id": "0x2cdbed20", "kind": "EnumConstantDecl", "name": "VB_CS", "type": { @@ -40227,35 +40892,35 @@ ] }, { - "id": "0x38c9a20", + "id": "0x7f0da6bb13f8", "kind": "IfStmt", "range": { "begin": { - "offset": 28495, - "line": 926, + "offset": 29608, + "line": 969, "col": 5, "tokLen": 2 }, "end": { - "offset": 28538, - "line": 927, + "offset": 29651, + "line": 970, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c9970", + "id": "0x7f0da6bb1348", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28499, - "line": 926, + "offset": 29612, + "line": 969, "col": 9, "tokLen": 1 }, "end": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 } @@ -40267,67 +40932,67 @@ "adl": true, "inner": [ { - "id": "0x38c9958", + "id": "0x7f0da6bb1330", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 }, "end": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38c9938", + "id": "0x7f0da6bb1310", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 }, "end": { - "offset": 28501, + "offset": 29614, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c8bc0", + "id": "0x7f0da6bb00e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28499, + "offset": 29612, "col": 9, "tokLen": 1 }, "end": { - "offset": 28499, + "offset": 29612, "col": 9, "tokLen": 1 } @@ -40335,11 +41000,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40348,16 +41013,16 @@ } }, { - "id": "0x38c9920", + "id": "0x7f0da6bb12f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 }, "end": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 } @@ -40369,16 +41034,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c8be0", + "id": "0x7f0da6bb0108", "kind": "StringLiteral", "range": { "begin": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 }, "end": { - "offset": 28504, + "offset": 29617, "col": 14, "tokLen": 11 } @@ -40394,33 +41059,33 @@ ] }, { - "id": "0x38c9a10", + "id": "0x7f0da6bb13e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28525, - "line": 927, + "offset": 29638, + "line": 970, "col": 9, "tokLen": 6 }, "end": { - "offset": 28538, + "offset": 29651, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38c99e0", + "id": "0x7f0da6bb13b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28532, + "offset": 29645, "col": 16, "tokLen": 4 }, "end": { - "offset": 28538, + "offset": 29651, "col": 22, "tokLen": 9 } @@ -40430,7 +41095,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58d30", + "id": "0x2cdbed70", "kind": "EnumConstantDecl", "name": "VB_OPA_FD", "type": { @@ -40443,35 +41108,35 @@ ] }, { - "id": "0x38ca8a0", + "id": "0x7f0da6bb2728", "kind": "IfStmt", "range": { "begin": { - "offset": 28553, - "line": 928, + "offset": 29666, + "line": 971, "col": 5, "tokLen": 2 }, "end": { - "offset": 28596, - "line": 929, + "offset": 29709, + "line": 972, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ca7f0", + "id": "0x7f0da6bb2678", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28557, - "line": 928, + "offset": 29670, + "line": 971, "col": 9, "tokLen": 1 }, "end": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 } @@ -40483,67 +41148,67 @@ "adl": true, "inner": [ { - "id": "0x38ca7d8", + "id": "0x7f0da6bb2660", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 }, "end": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ca7b8", + "id": "0x7f0da6bb2640", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 }, "end": { - "offset": 28559, + "offset": 29672, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38c9a40", + "id": "0x7f0da6bb1418", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28557, + "offset": 29670, "col": 9, "tokLen": 1 }, "end": { - "offset": 28557, + "offset": 29670, "col": 9, "tokLen": 1 } @@ -40551,11 +41216,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40564,16 +41229,16 @@ } }, { - "id": "0x38ca7a0", + "id": "0x7f0da6bb2628", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 }, "end": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 } @@ -40585,16 +41250,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38c9a60", + "id": "0x7f0da6bb1438", "kind": "StringLiteral", "range": { "begin": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 }, "end": { - "offset": 28562, + "offset": 29675, "col": 14, "tokLen": 11 } @@ -40610,33 +41275,33 @@ ] }, { - "id": "0x38ca890", + "id": "0x7f0da6bb2718", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28583, - "line": 929, + "offset": 29696, + "line": 972, "col": 9, "tokLen": 6 }, "end": { - "offset": 28596, + "offset": 29709, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ca860", + "id": "0x7f0da6bb26e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28590, + "offset": 29703, "col": 16, "tokLen": 4 }, "end": { - "offset": 28596, + "offset": 29709, "col": 22, "tokLen": 9 } @@ -40646,7 +41311,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58d80", + "id": "0x2cdbedc0", "kind": "EnumConstantDecl", "name": "VCOM_ADC2", "type": { @@ -40659,35 +41324,35 @@ ] }, { - "id": "0x38cb710", + "id": "0x7f0da6bb3a58", "kind": "IfStmt", "range": { "begin": { - "offset": 28611, - "line": 930, + "offset": 29724, + "line": 973, "col": 5, "tokLen": 2 }, "end": { - "offset": 28651, - "line": 931, + "offset": 29764, + "line": 974, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38cb660", + "id": "0x7f0da6bb39a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28615, - "line": 930, + "offset": 29728, + "line": 973, "col": 9, "tokLen": 1 }, "end": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 } @@ -40699,67 +41364,67 @@ "adl": true, "inner": [ { - "id": "0x38cb648", + "id": "0x7f0da6bb3990", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 }, "end": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cb628", + "id": "0x7f0da6bb3970", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 }, "end": { - "offset": 28617, + "offset": 29730, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ca8c0", + "id": "0x7f0da6bb2748", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28615, + "offset": 29728, "col": 9, "tokLen": 1 }, "end": { - "offset": 28615, + "offset": 29728, "col": 9, "tokLen": 1 } @@ -40767,11 +41432,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40780,16 +41445,16 @@ } }, { - "id": "0x38cb610", + "id": "0x7f0da6bb3958", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 }, "end": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 } @@ -40801,16 +41466,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ca8e0", + "id": "0x7f0da6bb2768", "kind": "StringLiteral", "range": { "begin": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 }, "end": { - "offset": 28620, + "offset": 29733, "col": 14, "tokLen": 8 } @@ -40826,33 +41491,33 @@ ] }, { - "id": "0x38cb700", + "id": "0x7f0da6bb3a48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28638, - "line": 931, + "offset": 29751, + "line": 974, "col": 9, "tokLen": 6 }, "end": { - "offset": 28651, + "offset": 29764, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38cb6d0", + "id": "0x7f0da6bb3a18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28645, + "offset": 29758, "col": 16, "tokLen": 4 }, "end": { - "offset": 28651, + "offset": 29764, "col": 22, "tokLen": 6 } @@ -40862,7 +41527,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58dd0", + "id": "0x2cdbee10", "kind": "EnumConstantDecl", "name": "VCASSH", "type": { @@ -40875,35 +41540,35 @@ ] }, { - "id": "0x38cc580", + "id": "0x7f0da6bb4d88", "kind": "IfStmt", "range": { "begin": { - "offset": 28663, - "line": 932, + "offset": 29776, + "line": 975, "col": 5, "tokLen": 2 }, "end": { - "offset": 28701, - "line": 933, + "offset": 29814, + "line": 976, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cc4d0", + "id": "0x7f0da6bb4cd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28667, - "line": 932, + "offset": 29780, + "line": 975, "col": 9, "tokLen": 1 }, "end": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 } @@ -40915,67 +41580,67 @@ "adl": true, "inner": [ { - "id": "0x38cc4b8", + "id": "0x7f0da6bb4cc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 }, "end": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cc498", + "id": "0x7f0da6bb4ca0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 }, "end": { - "offset": 28669, + "offset": 29782, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cb730", + "id": "0x7f0da6bb3a78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28667, + "offset": 29780, "col": 9, "tokLen": 1 }, "end": { - "offset": 28667, + "offset": 29780, "col": 9, "tokLen": 1 } @@ -40983,11 +41648,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -40996,16 +41661,16 @@ } }, { - "id": "0x38cc480", + "id": "0x7f0da6bb4c88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 }, "end": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 } @@ -41017,16 +41682,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cb750", + "id": "0x7f0da6bb3a98", "kind": "StringLiteral", "range": { "begin": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 }, "end": { - "offset": 28672, + "offset": 29785, "col": 14, "tokLen": 6 } @@ -41042,33 +41707,33 @@ ] }, { - "id": "0x38cc570", + "id": "0x7f0da6bb4d78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28688, - "line": 933, + "offset": 29801, + "line": 976, "col": 9, "tokLen": 6 }, "end": { - "offset": 28701, + "offset": 29814, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cc540", + "id": "0x7f0da6bb4d48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28695, + "offset": 29808, "col": 16, "tokLen": 4 }, "end": { - "offset": 28701, + "offset": 29814, "col": 22, "tokLen": 4 } @@ -41078,7 +41743,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58e20", + "id": "0x2cdbee60", "kind": "EnumConstantDecl", "name": "VTH2", "type": { @@ -41091,35 +41756,35 @@ ] }, { - "id": "0x38cd400", + "id": "0x7f0da6bb60b8", "kind": "IfStmt", "range": { "begin": { - "offset": 28711, - "line": 934, + "offset": 29824, + "line": 977, "col": 5, "tokLen": 2 }, "end": { - "offset": 28755, - "line": 935, + "offset": 29868, + "line": 978, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38cd350", + "id": "0x7f0da6bb6008", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28715, - "line": 934, + "offset": 29828, + "line": 977, "col": 9, "tokLen": 1 }, "end": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 } @@ -41131,67 +41796,67 @@ "adl": true, "inner": [ { - "id": "0x38cd338", + "id": "0x7f0da6bb5ff0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 }, "end": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cd318", + "id": "0x7f0da6bb5fd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 }, "end": { - "offset": 28717, + "offset": 29830, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cc5a0", + "id": "0x7f0da6bb4da8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28715, + "offset": 29828, "col": 9, "tokLen": 1 }, "end": { - "offset": 28715, + "offset": 29828, "col": 9, "tokLen": 1 } @@ -41199,11 +41864,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41212,16 +41877,16 @@ } }, { - "id": "0x38cd300", + "id": "0x7f0da6bb5fb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 }, "end": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 } @@ -41233,16 +41898,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cc5c0", + "id": "0x7f0da6bb4dc8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 }, "end": { - "offset": 28720, + "offset": 29833, "col": 14, "tokLen": 12 } @@ -41258,33 +41923,33 @@ ] }, { - "id": "0x38cd3f0", + "id": "0x7f0da6bb60a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28742, - "line": 935, + "offset": 29855, + "line": 978, "col": 9, "tokLen": 6 }, "end": { - "offset": 28755, + "offset": 29868, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x38cd3c0", + "id": "0x7f0da6bb6078", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28749, + "offset": 29862, "col": 16, "tokLen": 4 }, "end": { - "offset": 28755, + "offset": 29868, "col": 22, "tokLen": 10 } @@ -41294,7 +41959,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58e70", + "id": "0x2cdbeeb0", "kind": "EnumConstantDecl", "name": "VRSHAPER_N", "type": { @@ -41307,35 +41972,35 @@ ] }, { - "id": "0x38ce280", + "id": "0x7f0da6bb73e8", "kind": "IfStmt", "range": { "begin": { - "offset": 28771, - "line": 936, + "offset": 29884, + "line": 979, "col": 5, "tokLen": 2 }, "end": { - "offset": 28814, - "line": 937, + "offset": 29927, + "line": 980, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ce1d0", + "id": "0x7f0da6bb7338", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28775, - "line": 936, + "offset": 29888, + "line": 979, "col": 9, "tokLen": 1 }, "end": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 } @@ -41347,67 +42012,67 @@ "adl": true, "inner": [ { - "id": "0x38ce1b8", + "id": "0x7f0da6bb7320", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 }, "end": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38ce198", + "id": "0x7f0da6bb7300", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 }, "end": { - "offset": 28777, + "offset": 29890, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cd420", + "id": "0x7f0da6bb60d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28775, + "offset": 29888, "col": 9, "tokLen": 1 }, "end": { - "offset": 28775, + "offset": 29888, "col": 9, "tokLen": 1 } @@ -41415,11 +42080,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41428,16 +42093,16 @@ } }, { - "id": "0x38ce180", + "id": "0x7f0da6bb72e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 }, "end": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 } @@ -41449,16 +42114,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cd440", + "id": "0x7f0da6bb60f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 }, "end": { - "offset": 28780, + "offset": 29893, "col": 14, "tokLen": 11 } @@ -41474,33 +42139,33 @@ ] }, { - "id": "0x38ce270", + "id": "0x7f0da6bb73d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28801, - "line": 937, + "offset": 29914, + "line": 980, "col": 9, "tokLen": 6 }, "end": { - "offset": 28814, + "offset": 29927, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x38ce240", + "id": "0x7f0da6bb73a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28808, + "offset": 29921, "col": 16, "tokLen": 4 }, "end": { - "offset": 28814, + "offset": 29927, "col": 22, "tokLen": 9 } @@ -41510,7 +42175,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58ec0", + "id": "0x2cdbef00", "kind": "EnumConstantDecl", "name": "VIPRE_OUT", "type": { @@ -41523,35 +42188,35 @@ ] }, { - "id": "0x38cf0f0", + "id": "0x7f0da6bb8718", "kind": "IfStmt", "range": { "begin": { - "offset": 28829, - "line": 938, + "offset": 29942, + "line": 981, "col": 5, "tokLen": 2 }, "end": { - "offset": 28867, - "line": 939, + "offset": 29980, + "line": 982, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cf040", + "id": "0x7f0da6bb8668", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28833, - "line": 938, + "offset": 29946, + "line": 981, "col": 9, "tokLen": 1 }, "end": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 } @@ -41563,67 +42228,67 @@ "adl": true, "inner": [ { - "id": "0x38cf028", + "id": "0x7f0da6bb8650", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 }, "end": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cf008", + "id": "0x7f0da6bb8630", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 }, "end": { - "offset": 28835, + "offset": 29948, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38ce2a0", + "id": "0x7f0da6bb7408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28833, + "offset": 29946, "col": 9, "tokLen": 1 }, "end": { - "offset": 28833, + "offset": 29946, "col": 9, "tokLen": 1 } @@ -41631,11 +42296,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41644,16 +42309,16 @@ } }, { - "id": "0x38ceff0", + "id": "0x7f0da6bb8618", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 }, "end": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 } @@ -41665,16 +42330,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38ce2c0", + "id": "0x7f0da6bb7428", "kind": "StringLiteral", "range": { "begin": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 }, "end": { - "offset": 28838, + "offset": 29951, "col": 14, "tokLen": 6 } @@ -41690,33 +42355,33 @@ ] }, { - "id": "0x38cf0e0", + "id": "0x7f0da6bb8708", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28854, - "line": 939, + "offset": 29967, + "line": 982, "col": 9, "tokLen": 6 }, "end": { - "offset": 28867, + "offset": 29980, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cf0b0", + "id": "0x7f0da6bb86d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28861, + "offset": 29974, "col": 16, "tokLen": 4 }, "end": { - "offset": 28867, + "offset": 29980, "col": 22, "tokLen": 4 } @@ -41726,7 +42391,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58f10", + "id": "0x2cdbef50", "kind": "EnumConstantDecl", "name": "VTH3", "type": { @@ -41739,35 +42404,35 @@ ] }, { - "id": "0x38cff60", + "id": "0x7f0da6bb9a48", "kind": "IfStmt", "range": { "begin": { - "offset": 28877, - "line": 940, + "offset": 29990, + "line": 983, "col": 5, "tokLen": 2 }, "end": { - "offset": 28915, - "line": 941, + "offset": 30028, + "line": 984, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cfeb0", + "id": "0x7f0da6bb9998", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28881, - "line": 940, + "offset": 29994, + "line": 983, "col": 9, "tokLen": 1 }, "end": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 } @@ -41779,67 +42444,67 @@ "adl": true, "inner": [ { - "id": "0x38cfe98", + "id": "0x7f0da6bb9980", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 }, "end": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38cfe78", + "id": "0x7f0da6bb9960", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 }, "end": { - "offset": 28883, + "offset": 29996, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cf110", + "id": "0x7f0da6bb8738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28881, + "offset": 29994, "col": 9, "tokLen": 1 }, "end": { - "offset": 28881, + "offset": 29994, "col": 9, "tokLen": 1 } @@ -41847,11 +42512,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -41860,16 +42525,16 @@ } }, { - "id": "0x38cfe60", + "id": "0x7f0da6bb9948", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 }, "end": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 } @@ -41881,16 +42546,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cf130", + "id": "0x7f0da6bb8758", "kind": "StringLiteral", "range": { "begin": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 }, "end": { - "offset": 28886, + "offset": 29999, "col": 14, "tokLen": 6 } @@ -41906,33 +42571,33 @@ ] }, { - "id": "0x38cff50", + "id": "0x7f0da6bb9a38", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28902, - "line": 941, + "offset": 30015, + "line": 984, "col": 9, "tokLen": 6 }, "end": { - "offset": 28915, + "offset": 30028, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38cff20", + "id": "0x7f0da6bb9a08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28909, + "offset": 30022, "col": 16, "tokLen": 4 }, "end": { - "offset": 28915, + "offset": 30028, "col": 22, "tokLen": 4 } @@ -41942,7 +42607,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58f60", + "id": "0x2cdbefa0", "kind": "EnumConstantDecl", "name": "VTH1", "type": { @@ -41955,35 +42620,35 @@ ] }, { - "id": "0x38d0dd0", + "id": "0x7f0da6bbad78", "kind": "IfStmt", "range": { "begin": { - "offset": 28925, - "line": 942, + "offset": 30038, + "line": 985, "col": 5, "tokLen": 2 }, "end": { - "offset": 28964, - "line": 943, + "offset": 30077, + "line": 986, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d0d20", + "id": "0x7f0da6bbacc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28929, - "line": 942, + "offset": 30042, + "line": 985, "col": 9, "tokLen": 1 }, "end": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 } @@ -41995,67 +42660,67 @@ "adl": true, "inner": [ { - "id": "0x38d0d08", + "id": "0x7f0da6bbacb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 }, "end": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d0ce8", + "id": "0x7f0da6bbac90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 }, "end": { - "offset": 28931, + "offset": 30044, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38cff80", + "id": "0x7f0da6bb9a68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28929, + "offset": 30042, "col": 9, "tokLen": 1 }, "end": { - "offset": 28929, + "offset": 30042, "col": 9, "tokLen": 1 } @@ -42063,11 +42728,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42076,16 +42741,16 @@ } }, { - "id": "0x38d0cd0", + "id": "0x7f0da6bbac78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 }, "end": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 } @@ -42097,16 +42762,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38cffa0", + "id": "0x7f0da6bb9a88", "kind": "StringLiteral", "range": { "begin": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 }, "end": { - "offset": 28934, + "offset": 30047, "col": 14, "tokLen": 7 } @@ -42122,33 +42787,33 @@ ] }, { - "id": "0x38d0dc0", + "id": "0x7f0da6bbad68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 28951, - "line": 943, + "offset": 30064, + "line": 986, "col": 9, "tokLen": 6 }, "end": { - "offset": 28964, + "offset": 30077, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d0d90", + "id": "0x7f0da6bbad38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28958, + "offset": 30071, "col": 16, "tokLen": 4 }, "end": { - "offset": 28964, + "offset": 30077, "col": 22, "tokLen": 5 } @@ -42158,7 +42823,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58fb0", + "id": "0x2cdbeff0", "kind": "EnumConstantDecl", "name": "VICIN", "type": { @@ -42171,35 +42836,35 @@ ] }, { - "id": "0x38d1c40", + "id": "0x7f0da6bbc0a8", "kind": "IfStmt", "range": { "begin": { - "offset": 28975, - "line": 944, + "offset": 30088, + "line": 987, "col": 5, "tokLen": 2 }, "end": { - "offset": 29013, - "line": 945, + "offset": 30126, + "line": 988, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38d1b90", + "id": "0x7f0da6bbbff8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 28979, - "line": 944, + "offset": 30092, + "line": 987, "col": 9, "tokLen": 1 }, "end": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 } @@ -42211,67 +42876,67 @@ "adl": true, "inner": [ { - "id": "0x38d1b78", + "id": "0x7f0da6bbbfe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 }, "end": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d1b58", + "id": "0x7f0da6bbbfc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 }, "end": { - "offset": 28981, + "offset": 30094, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d0df0", + "id": "0x7f0da6bbad98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 28979, + "offset": 30092, "col": 9, "tokLen": 1 }, "end": { - "offset": 28979, + "offset": 30092, "col": 9, "tokLen": 1 } @@ -42279,11 +42944,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42292,16 +42957,16 @@ } }, { - "id": "0x38d1b40", + "id": "0x7f0da6bbbfa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 }, "end": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 } @@ -42313,16 +42978,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d0e10", + "id": "0x7f0da6bbadb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 }, "end": { - "offset": 28984, + "offset": 30097, "col": 14, "tokLen": 6 } @@ -42338,33 +43003,33 @@ ] }, { - "id": "0x38d1c30", + "id": "0x7f0da6bbc098", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29000, - "line": 945, + "offset": 30113, + "line": 988, "col": 9, "tokLen": 6 }, "end": { - "offset": 29013, + "offset": 30126, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x38d1c00", + "id": "0x7f0da6bbc068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29007, + "offset": 30120, "col": 16, "tokLen": 4 }, "end": { - "offset": 29013, + "offset": 30126, "col": 22, "tokLen": 4 } @@ -42374,7 +43039,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59000", + "id": "0x2cdbf040", "kind": "EnumConstantDecl", "name": "VCAS", "type": { @@ -42387,35 +43052,35 @@ ] }, { - "id": "0x38d2ab0", + "id": "0x7f0da6b7c3e8", "kind": "IfStmt", "range": { "begin": { - "offset": 29023, - "line": 946, + "offset": 30136, + "line": 989, "col": 5, "tokLen": 2 }, "end": { - "offset": 29063, - "line": 947, + "offset": 30176, + "line": 990, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d2a00", + "id": "0x7f0da6b7c338", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29027, - "line": 946, + "offset": 30140, + "line": 989, "col": 9, "tokLen": 1 }, "end": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 } @@ -42427,67 +43092,67 @@ "adl": true, "inner": [ { - "id": "0x38d29e8", + "id": "0x7f0da6b7c320", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 }, "end": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d29c8", + "id": "0x7f0da6b7c300", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 }, "end": { - "offset": 29029, + "offset": 30142, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d1c60", + "id": "0x7f0da6bbc0c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29027, + "offset": 30140, "col": 9, "tokLen": 1 }, "end": { - "offset": 29027, + "offset": 30140, "col": 9, "tokLen": 1 } @@ -42495,11 +43160,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42508,16 +43173,16 @@ } }, { - "id": "0x38d29b0", + "id": "0x7f0da6b7c2e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 }, "end": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 } @@ -42529,16 +43194,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d1c80", + "id": "0x7f0da6bbc0e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 }, "end": { - "offset": 29032, + "offset": 30145, "col": 14, "tokLen": 8 } @@ -42554,33 +43219,33 @@ ] }, { - "id": "0x38d2aa0", + "id": "0x7f0da6b7c3d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29050, - "line": 947, + "offset": 30163, + "line": 990, "col": 9, "tokLen": 6 }, "end": { - "offset": 29063, + "offset": 30176, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d2a70", + "id": "0x7f0da6b7c3a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29057, + "offset": 30170, "col": 16, "tokLen": 4 }, "end": { - "offset": 29063, + "offset": 30176, "col": 22, "tokLen": 6 } @@ -42590,7 +43255,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59050", + "id": "0x2cdbf090", "kind": "EnumConstantDecl", "name": "VCAL_N", "type": { @@ -42603,35 +43268,35 @@ ] }, { - "id": "0x38d3920", + "id": "0x7f0da6b7d718", "kind": "IfStmt", "range": { "begin": { - "offset": 29075, - "line": 948, + "offset": 30188, + "line": 991, "col": 5, "tokLen": 2 }, "end": { - "offset": 29114, - "line": 949, + "offset": 30227, + "line": 992, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d3870", + "id": "0x7f0da6b7d668", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29079, - "line": 948, + "offset": 30192, + "line": 991, "col": 9, "tokLen": 1 }, "end": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 } @@ -42643,67 +43308,67 @@ "adl": true, "inner": [ { - "id": "0x38d3858", + "id": "0x7f0da6b7d650", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 }, "end": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d3838", + "id": "0x7f0da6b7d630", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 }, "end": { - "offset": 29081, + "offset": 30194, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d2ad0", + "id": "0x7f0da6b7c408", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29079, + "offset": 30192, "col": 9, "tokLen": 1 }, "end": { - "offset": 29079, + "offset": 30192, "col": 9, "tokLen": 1 } @@ -42711,11 +43376,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42724,16 +43389,16 @@ } }, { - "id": "0x38d3820", + "id": "0x7f0da6b7d618", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 }, "end": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 } @@ -42745,16 +43410,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d2af0", + "id": "0x7f0da6b7c428", "kind": "StringLiteral", "range": { "begin": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 }, "end": { - "offset": 29084, + "offset": 30197, "col": 14, "tokLen": 7 } @@ -42770,33 +43435,33 @@ ] }, { - "id": "0x38d3910", + "id": "0x7f0da6b7d708", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29101, - "line": 949, + "offset": 30214, + "line": 992, "col": 9, "tokLen": 6 }, "end": { - "offset": 29114, + "offset": 30227, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x38d38e0", + "id": "0x7f0da6b7d6d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29108, + "offset": 30221, "col": 16, "tokLen": 4 }, "end": { - "offset": 29114, + "offset": 30227, "col": 22, "tokLen": 5 } @@ -42806,7 +43471,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f590a0", + "id": "0x2cdbf0e0", "kind": "EnumConstantDecl", "name": "VIPRE", "type": { @@ -42819,35 +43484,35 @@ ] }, { - "id": "0x38d4790", + "id": "0x7f0da6b7ea48", "kind": "IfStmt", "range": { "begin": { - "offset": 29125, - "line": 950, + "offset": 30238, + "line": 993, "col": 5, "tokLen": 2 }, "end": { - "offset": 29165, - "line": 951, + "offset": 30278, + "line": 994, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d46e0", + "id": "0x7f0da6b7e998", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29129, - "line": 950, + "offset": 30242, + "line": 993, "col": 9, "tokLen": 1 }, "end": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 } @@ -42859,67 +43524,67 @@ "adl": true, "inner": [ { - "id": "0x38d46c8", + "id": "0x7f0da6b7e980", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 }, "end": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d46a8", + "id": "0x7f0da6b7e960", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 }, "end": { - "offset": 29131, + "offset": 30244, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d3940", + "id": "0x7f0da6b7d738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29129, + "offset": 30242, "col": 9, "tokLen": 1 }, "end": { - "offset": 29129, + "offset": 30242, "col": 9, "tokLen": 1 } @@ -42927,11 +43592,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -42940,16 +43605,16 @@ } }, { - "id": "0x38d4690", + "id": "0x7f0da6b7e948", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 }, "end": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 } @@ -42961,16 +43626,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d3960", + "id": "0x7f0da6b7d758", "kind": "StringLiteral", "range": { "begin": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 }, "end": { - "offset": 29134, + "offset": 30247, "col": 14, "tokLen": 8 } @@ -42986,33 +43651,33 @@ ] }, { - "id": "0x38d4780", + "id": "0x7f0da6b7ea38", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29152, - "line": 951, + "offset": 30265, + "line": 994, "col": 9, "tokLen": 6 }, "end": { - "offset": 29165, + "offset": 30278, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d4750", + "id": "0x7f0da6b7ea08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29159, + "offset": 30272, "col": 16, "tokLen": 4 }, "end": { - "offset": 29165, + "offset": 30278, "col": 22, "tokLen": 6 } @@ -43022,7 +43687,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f590f0", + "id": "0x2cdbf130", "kind": "EnumConstantDecl", "name": "VCAL_P", "type": { @@ -43035,35 +43700,35 @@ ] }, { - "id": "0x7f19646274c0", + "id": "0x7f0da6b7fd78", "kind": "IfStmt", "range": { "begin": { - "offset": 29177, - "line": 952, + "offset": 30290, + "line": 995, "col": 5, "tokLen": 2 }, "end": { - "offset": 29216, - "line": 953, + "offset": 30329, + "line": 996, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964627410", + "id": "0x7f0da6b7fcc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29181, - "line": 952, + "offset": 30294, + "line": 995, "col": 9, "tokLen": 1 }, "end": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 } @@ -43075,67 +43740,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646273f8", + "id": "0x7f0da6b7fcb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 }, "end": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646273d8", + "id": "0x7f0da6b7fc90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 }, "end": { - "offset": 29183, + "offset": 30296, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d47b0", + "id": "0x7f0da6b7ea68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29181, + "offset": 30294, "col": 9, "tokLen": 1 }, "end": { - "offset": 29181, + "offset": 30294, "col": 9, "tokLen": 1 } @@ -43143,11 +43808,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43156,16 +43821,16 @@ } }, { - "id": "0x7f19646273c0", + "id": "0x7f0da6b7fc78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 }, "end": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 } @@ -43177,16 +43842,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d47d0", + "id": "0x7f0da6b7ea88", "kind": "StringLiteral", "range": { "begin": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 }, "end": { - "offset": 29186, + "offset": 30299, "col": 14, "tokLen": 7 } @@ -43202,33 +43867,33 @@ ] }, { - "id": "0x7f19646274b0", + "id": "0x7f0da6b7fd68", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29203, - "line": 953, + "offset": 30316, + "line": 996, "col": 9, "tokLen": 6 }, "end": { - "offset": 29216, + "offset": 30329, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964627480", + "id": "0x7f0da6b7fd38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29210, + "offset": 30323, "col": 16, "tokLen": 4 }, "end": { - "offset": 29216, + "offset": 30329, "col": 22, "tokLen": 5 } @@ -43238,7 +43903,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59140", + "id": "0x2cdbf180", "kind": "EnumConstantDecl", "name": "VDCSH", "type": { @@ -43251,35 +43916,35 @@ ] }, { - "id": "0x7f1964628340", + "id": "0x7f0da6b810a8", "kind": "IfStmt", "range": { "begin": { - "offset": 29227, - "line": 954, + "offset": 30340, + "line": 997, "col": 5, "tokLen": 2 }, "end": { - "offset": 29271, - "line": 955, + "offset": 30384, + "line": 998, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x7f1964628290", + "id": "0x7f0da6b80ff8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29231, - "line": 954, + "offset": 30344, + "line": 997, "col": 9, "tokLen": 1 }, "end": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 } @@ -43291,67 +43956,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964628278", + "id": "0x7f0da6b80fe0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 }, "end": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964628258", + "id": "0x7f0da6b80fc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 }, "end": { - "offset": 29233, + "offset": 30346, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646274e0", + "id": "0x7f0da6b7fd98", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29231, + "offset": 30344, "col": 9, "tokLen": 1 }, "end": { - "offset": 29231, + "offset": 30344, "col": 9, "tokLen": 1 } @@ -43359,11 +44024,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43372,16 +44037,16 @@ } }, { - "id": "0x7f1964628240", + "id": "0x7f0da6b80fa8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 }, "end": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 } @@ -43393,16 +44058,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964627500", + "id": "0x7f0da6b7fdb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 }, "end": { - "offset": 29236, + "offset": 30349, "col": 14, "tokLen": 12 } @@ -43418,33 +44083,33 @@ ] }, { - "id": "0x7f1964628330", + "id": "0x7f0da6b81098", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29258, - "line": 955, + "offset": 30371, + "line": 998, "col": 9, "tokLen": 6 }, "end": { - "offset": 29271, + "offset": 30384, "col": 22, "tokLen": 10 } }, "inner": [ { - "id": "0x7f1964628300", + "id": "0x7f0da6b81068", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29265, + "offset": 30378, "col": 16, "tokLen": 4 }, "end": { - "offset": 29271, + "offset": 30384, "col": 22, "tokLen": 10 } @@ -43454,7 +44119,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59190", + "id": "0x2cdbf1d0", "kind": "EnumConstantDecl", "name": "VBP_COLBUF", "type": { @@ -43467,35 +44132,35 @@ ] }, { - "id": "0x7f19646291b0", + "id": "0x7f0da6b823d8", "kind": "IfStmt", "range": { "begin": { - "offset": 29287, - "line": 956, + "offset": 30400, + "line": 999, "col": 5, "tokLen": 2 }, "end": { - "offset": 29327, - "line": 957, + "offset": 30440, + "line": 1000, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x7f1964629100", + "id": "0x7f0da6b82328", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29291, - "line": 956, + "offset": 30404, + "line": 999, "col": 9, "tokLen": 1 }, "end": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 } @@ -43507,67 +44172,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646290e8", + "id": "0x7f0da6b82310", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 }, "end": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646290c8", + "id": "0x7f0da6b822f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 }, "end": { - "offset": 29293, + "offset": 30406, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964628360", + "id": "0x7f0da6b810c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29291, + "offset": 30404, "col": 9, "tokLen": 1 }, "end": { - "offset": 29291, + "offset": 30404, "col": 9, "tokLen": 1 } @@ -43575,11 +44240,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43588,16 +44253,16 @@ } }, { - "id": "0x7f19646290b0", + "id": "0x7f0da6b822d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 }, "end": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 } @@ -43609,16 +44274,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964628380", + "id": "0x7f0da6b810e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 }, "end": { - "offset": 29296, + "offset": 30409, "col": 14, "tokLen": 8 } @@ -43634,33 +44299,33 @@ ] }, { - "id": "0x7f19646291a0", + "id": "0x7f0da6b823c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29314, - "line": 957, + "offset": 30427, + "line": 1000, "col": 9, "tokLen": 6 }, "end": { - "offset": 29327, + "offset": 30440, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x7f1964629170", + "id": "0x7f0da6b82398", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29321, + "offset": 30434, "col": 16, "tokLen": 4 }, "end": { - "offset": 29327, + "offset": 30440, "col": 22, "tokLen": 6 } @@ -43670,7 +44335,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f591e0", + "id": "0x2cdbf220", "kind": "EnumConstantDecl", "name": "VB_SDA", "type": { @@ -43683,35 +44348,35 @@ ] }, { - "id": "0x7f196462a030", + "id": "0x7f0da6b83708", "kind": "IfStmt", "range": { "begin": { - "offset": 29339, - "line": 958, + "offset": 30452, + "line": 1001, "col": 5, "tokLen": 2 }, "end": { - "offset": 29382, - "line": 959, + "offset": 30495, + "line": 1002, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f1964629f80", + "id": "0x7f0da6b83658", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29343, - "line": 958, + "offset": 30456, + "line": 1001, "col": 9, "tokLen": 1 }, "end": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 } @@ -43723,67 +44388,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964629f68", + "id": "0x7f0da6b83640", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 }, "end": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964629f48", + "id": "0x7f0da6b83620", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 }, "end": { - "offset": 29345, + "offset": 30458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646291d0", + "id": "0x7f0da6b823f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29343, + "offset": 30456, "col": 9, "tokLen": 1 }, "end": { - "offset": 29343, + "offset": 30456, "col": 9, "tokLen": 1 } @@ -43791,11 +44456,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -43804,16 +44469,16 @@ } }, { - "id": "0x7f1964629f30", + "id": "0x7f0da6b83608", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 }, "end": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 } @@ -43825,16 +44490,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646291f0", + "id": "0x7f0da6b82418", "kind": "StringLiteral", "range": { "begin": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 }, "end": { - "offset": 29348, + "offset": 30461, "col": 14, "tokLen": 11 } @@ -43850,33 +44515,33 @@ ] }, { - "id": "0x7f196462a020", + "id": "0x7f0da6b836f8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29369, - "line": 959, + "offset": 30482, + "line": 1002, "col": 9, "tokLen": 6 }, "end": { - "offset": 29382, + "offset": 30495, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f1964629ff0", + "id": "0x7f0da6b836c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29376, + "offset": 30489, "col": 16, "tokLen": 4 }, "end": { - "offset": 29382, + "offset": 30495, "col": 22, "tokLen": 9 } @@ -43886,7 +44551,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59230", + "id": "0x2cdbf270", "kind": "EnumConstantDecl", "name": "VCASC_SFP", "type": { @@ -43899,35 +44564,35 @@ ] }, { - "id": "0x7f196462aeb0", + "id": "0x7f0da6b84a38", "kind": "IfStmt", "range": { "begin": { - "offset": 29397, - "line": 960, + "offset": 30510, + "line": 1003, "col": 5, "tokLen": 2 }, "end": { - "offset": 29440, - "line": 961, + "offset": 30553, + "line": 1004, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462ae00", + "id": "0x7f0da6b84988", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29401, - "line": 960, + "offset": 30514, + "line": 1003, "col": 9, "tokLen": 1 }, "end": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 } @@ -43939,67 +44604,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462ade8", + "id": "0x7f0da6b84970", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 }, "end": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462adc8", + "id": "0x7f0da6b84950", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 }, "end": { - "offset": 29403, + "offset": 30516, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462a050", + "id": "0x7f0da6b83728", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29401, + "offset": 30514, "col": 9, "tokLen": 1 }, "end": { - "offset": 29401, + "offset": 30514, "col": 9, "tokLen": 1 } @@ -44007,11 +44672,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44020,16 +44685,16 @@ } }, { - "id": "0x7f196462adb0", + "id": "0x7f0da6b84938", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 }, "end": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 } @@ -44041,16 +44706,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462a070", + "id": "0x7f0da6b83748", "kind": "StringLiteral", "range": { "begin": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 }, "end": { - "offset": 29406, + "offset": 30519, "col": 14, "tokLen": 11 } @@ -44066,33 +44731,33 @@ ] }, { - "id": "0x7f196462aea0", + "id": "0x7f0da6b84a28", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29427, - "line": 961, + "offset": 30540, + "line": 1004, "col": 9, "tokLen": 6 }, "end": { - "offset": 29440, + "offset": 30553, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462ae70", + "id": "0x7f0da6b849f8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29434, + "offset": 30547, "col": 16, "tokLen": 4 }, "end": { - "offset": 29440, + "offset": 30553, "col": 22, "tokLen": 9 } @@ -44102,7 +44767,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59280", + "id": "0x2cdbf2c0", "kind": "EnumConstantDecl", "name": "VIPRE_CDS", "type": { @@ -44115,35 +44780,35 @@ ] }, { - "id": "0x7f196462bd30", + "id": "0x7f0da6b85d68", "kind": "IfStmt", "range": { "begin": { - "offset": 29455, - "line": 962, + "offset": 30568, + "line": 1005, "col": 5, "tokLen": 2 }, "end": { - "offset": 29498, - "line": 963, + "offset": 30611, + "line": 1006, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462bc80", + "id": "0x7f0da6b85cb8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29459, - "line": 962, + "offset": 30572, + "line": 1005, "col": 9, "tokLen": 1 }, "end": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 } @@ -44155,67 +44820,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462bc68", + "id": "0x7f0da6b85ca0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 }, "end": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462bc48", + "id": "0x7f0da6b85c80", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 }, "end": { - "offset": 29461, + "offset": 30574, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462aed0", + "id": "0x7f0da6b84a58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29459, + "offset": 30572, "col": 9, "tokLen": 1 }, "end": { - "offset": 29459, + "offset": 30572, "col": 9, "tokLen": 1 } @@ -44223,11 +44888,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44236,16 +44901,16 @@ } }, { - "id": "0x7f196462bc30", + "id": "0x7f0da6b85c68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 }, "end": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 } @@ -44257,16 +44922,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462aef0", + "id": "0x7f0da6b84a78", "kind": "StringLiteral", "range": { "begin": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 }, "end": { - "offset": 29464, + "offset": 30577, "col": 14, "tokLen": 11 } @@ -44282,33 +44947,33 @@ ] }, { - "id": "0x7f196462bd20", + "id": "0x7f0da6b85d58", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29485, - "line": 963, + "offset": 30598, + "line": 1006, "col": 9, "tokLen": 6 }, "end": { - "offset": 29498, + "offset": 30611, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196462bcf0", + "id": "0x7f0da6b85d28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29492, + "offset": 30605, "col": 16, "tokLen": 4 }, "end": { - "offset": 29498, + "offset": 30611, "col": 22, "tokLen": 9 } @@ -44318,7 +44983,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f592d0", + "id": "0x2cdbf310", "kind": "EnumConstantDecl", "name": "IBIAS_SFP", "type": { @@ -44331,35 +44996,35 @@ ] }, { - "id": "0x7f196462cba0", + "id": "0x7f0da6b87098", "kind": "IfStmt", "range": { "begin": { - "offset": 29513, - "line": 964, + "offset": 30626, + "line": 1007, "col": 5, "tokLen": 2 }, "end": { - "offset": 29555, - "line": 965, + "offset": 30668, + "line": 1008, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462caf0", + "id": "0x7f0da6b86fe8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29517, - "line": 964, + "offset": 30630, + "line": 1007, "col": 9, "tokLen": 1 }, "end": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 } @@ -44371,67 +45036,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462cad8", + "id": "0x7f0da6b86fd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 }, "end": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462cab8", + "id": "0x7f0da6b86fb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 }, "end": { - "offset": 29519, + "offset": 30632, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462bd50", + "id": "0x7f0da6b85d88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29517, + "offset": 30630, "col": 9, "tokLen": 1 }, "end": { - "offset": 29517, + "offset": 30630, "col": 9, "tokLen": 1 } @@ -44439,11 +45104,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44452,16 +45117,16 @@ } }, { - "id": "0x7f196462caa0", + "id": "0x7f0da6b86f98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 }, "end": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 } @@ -44473,16 +45138,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462bd70", + "id": "0x7f0da6b85da8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 }, "end": { - "offset": 29522, + "offset": 30635, "col": 14, "tokLen": 10 } @@ -44498,33 +45163,33 @@ ] }, { - "id": "0x7f196462cb90", + "id": "0x7f0da6b87088", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29542, - "line": 965, + "offset": 30655, + "line": 1008, "col": 9, "tokLen": 6 }, "end": { - "offset": 29555, + "offset": 30668, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462cb60", + "id": "0x7f0da6b87058", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29549, + "offset": 30662, "col": 16, "tokLen": 4 }, "end": { - "offset": 29555, + "offset": 30668, "col": 22, "tokLen": 12 } @@ -44534,7 +45199,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59690", + "id": "0x2cdbf6d0", "kind": "EnumConstantDecl", "name": "TRIMBIT_SCAN", "type": { @@ -44547,35 +45212,35 @@ ] }, { - "id": "0x7f196462da20", + "id": "0x7f0da6b883c8", "kind": "IfStmt", "range": { "begin": { - "offset": 29573, - "line": 966, + "offset": 30686, + "line": 1009, "col": 5, "tokLen": 2 }, "end": { - "offset": 29618, - "line": 967, + "offset": 30731, + "line": 1010, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462d970", + "id": "0x7f0da6b88318", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29577, - "line": 966, + "offset": 30690, + "line": 1009, "col": 9, "tokLen": 1 }, "end": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 } @@ -44587,67 +45252,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462d958", + "id": "0x7f0da6b88300", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 }, "end": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462d938", + "id": "0x7f0da6b882e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 }, "end": { - "offset": 29579, + "offset": 30692, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462cbc0", + "id": "0x7f0da6b870b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29577, + "offset": 30690, "col": 9, "tokLen": 1 }, "end": { - "offset": 29577, + "offset": 30690, "col": 9, "tokLen": 1 } @@ -44655,11 +45320,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44668,16 +45333,16 @@ } }, { - "id": "0x7f196462d920", + "id": "0x7f0da6b882c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 }, "end": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 } @@ -44689,16 +45354,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462cbe0", + "id": "0x7f0da6b870d8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 }, "end": { - "offset": 29582, + "offset": 30695, "col": 14, "tokLen": 13 } @@ -44714,33 +45379,33 @@ ] }, { - "id": "0x7f196462da10", + "id": "0x7f0da6b883b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29605, - "line": 967, + "offset": 30718, + "line": 1010, "col": 9, "tokLen": 6 }, "end": { - "offset": 29618, + "offset": 30731, "col": 22, "tokLen": 12 } }, "inner": [ { - "id": "0x7f196462d9e0", + "id": "0x7f0da6b88388", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29612, + "offset": 30725, "col": 16, "tokLen": 4 }, "end": { - "offset": 29618, + "offset": 30731, "col": 22, "tokLen": 12 } @@ -44750,7 +45415,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59370", + "id": "0x2cdbf3b0", "kind": "EnumConstantDecl", "name": "HIGH_VOLTAGE", "type": { @@ -44763,35 +45428,35 @@ ] }, { - "id": "0x7f196462e890", + "id": "0x7f0da6b896f8", "kind": "IfStmt", "range": { "begin": { - "offset": 29636, - "line": 968, + "offset": 30749, + "line": 1011, "col": 5, "tokLen": 2 }, "end": { - "offset": 29677, - "line": 969, + "offset": 30790, + "line": 1012, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f196462e7e0", + "id": "0x7f0da6b89648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29640, - "line": 968, + "offset": 30753, + "line": 1011, "col": 9, "tokLen": 1 }, "end": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 } @@ -44803,67 +45468,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462e7c8", + "id": "0x7f0da6b89630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 }, "end": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462e7a8", + "id": "0x7f0da6b89610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 }, "end": { - "offset": 29642, + "offset": 30755, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462da40", + "id": "0x7f0da6b883e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29640, + "offset": 30753, "col": 9, "tokLen": 1 }, "end": { - "offset": 29640, + "offset": 30753, "col": 9, "tokLen": 1 } @@ -44871,11 +45536,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -44884,16 +45549,16 @@ } }, { - "id": "0x7f196462e790", + "id": "0x7f0da6b895f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 }, "end": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 } @@ -44905,16 +45570,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462da60", + "id": "0x7f0da6b88408", "kind": "StringLiteral", "range": { "begin": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 }, "end": { - "offset": 29645, + "offset": 30758, "col": 14, "tokLen": 9 } @@ -44930,33 +45595,33 @@ ] }, { - "id": "0x7f196462e880", + "id": "0x7f0da6b896e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29664, - "line": 969, + "offset": 30777, + "line": 1012, "col": 9, "tokLen": 6 }, "end": { - "offset": 29677, + "offset": 30790, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f196462e850", + "id": "0x7f0da6b896b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29671, + "offset": 30784, "col": 16, "tokLen": 4 }, "end": { - "offset": 29677, + "offset": 30790, "col": 22, "tokLen": 8 } @@ -44966,7 +45631,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f58510", + "id": "0x2cdbe550", "kind": "EnumConstantDecl", "name": "IO_DELAY", "type": { @@ -44979,35 +45644,35 @@ ] }, { - "id": "0x7f196462f700", + "id": "0x7f0da6b8aa28", "kind": "IfStmt", "range": { "begin": { - "offset": 29691, - "line": 970, + "offset": 30804, + "line": 1013, "col": 5, "tokLen": 2 }, "end": { - "offset": 29733, - "line": 971, + "offset": 30846, + "line": 1014, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196462f650", + "id": "0x7f0da6b8a978", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29695, - "line": 970, + "offset": 30808, + "line": 1013, "col": 9, "tokLen": 1 }, "end": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 } @@ -45019,67 +45684,67 @@ "adl": true, "inner": [ { - "id": "0x7f196462f638", + "id": "0x7f0da6b8a960", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 }, "end": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196462f618", + "id": "0x7f0da6b8a940", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 }, "end": { - "offset": 29697, + "offset": 30810, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462e8b0", + "id": "0x7f0da6b89718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29695, + "offset": 30808, "col": 9, "tokLen": 1 }, "end": { - "offset": 29695, + "offset": 30808, "col": 9, "tokLen": 1 } @@ -45087,11 +45752,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45100,16 +45765,16 @@ } }, { - "id": "0x7f196462f600", + "id": "0x7f0da6b8a928", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 }, "end": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 } @@ -45121,16 +45786,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462e8d0", + "id": "0x7f0da6b89738", "kind": "StringLiteral", "range": { "begin": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 }, "end": { - "offset": 29700, + "offset": 30813, "col": 14, "tokLen": 10 } @@ -45146,33 +45811,33 @@ ] }, { - "id": "0x7f196462f6f0", + "id": "0x7f0da6b8aa18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29720, - "line": 971, + "offset": 30833, + "line": 1014, "col": 9, "tokLen": 6 }, "end": { - "offset": 29733, + "offset": 30846, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196462f6c0", + "id": "0x7f0da6b8a9e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29727, + "offset": 30840, "col": 16, "tokLen": 4 }, "end": { - "offset": 29733, + "offset": 30846, "col": 22, "tokLen": 15 } @@ -45182,7 +45847,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f593c0", + "id": "0x2cdbf400", "kind": "EnumConstantDecl", "name": "TEMPERATURE_ADC", "type": { @@ -45195,35 +45860,35 @@ ] }, { - "id": "0x7f1964630580", + "id": "0x7f0da6b8bd58", "kind": "IfStmt", "range": { "begin": { - "offset": 29754, - "line": 972, + "offset": 30867, + "line": 1015, "col": 5, "tokLen": 2 }, "end": { - "offset": 29797, - "line": 973, + "offset": 30910, + "line": 1016, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f19646304d0", + "id": "0x7f0da6b8bca8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29758, - "line": 972, + "offset": 30871, + "line": 1015, "col": 9, "tokLen": 1 }, "end": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 } @@ -45235,67 +45900,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646304b8", + "id": "0x7f0da6b8bc90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 }, "end": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964630498", + "id": "0x7f0da6b8bc70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 }, "end": { - "offset": 29760, + "offset": 30873, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196462f720", + "id": "0x7f0da6b8aa48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29758, + "offset": 30871, "col": 9, "tokLen": 1 }, "end": { - "offset": 29758, + "offset": 30871, "col": 9, "tokLen": 1 } @@ -45303,11 +45968,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45316,16 +45981,16 @@ } }, { - "id": "0x7f1964630480", + "id": "0x7f0da6b8bc58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 }, "end": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 } @@ -45337,16 +46002,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196462f740", + "id": "0x7f0da6b8aa68", "kind": "StringLiteral", "range": { "begin": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 }, "end": { - "offset": 29763, + "offset": 30876, "col": 14, "tokLen": 11 } @@ -45362,33 +46027,33 @@ ] }, { - "id": "0x7f1964630570", + "id": "0x7f0da6b8bd48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29784, - "line": 973, + "offset": 30897, + "line": 1016, "col": 9, "tokLen": 6 }, "end": { - "offset": 29797, + "offset": 30910, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964630540", + "id": "0x7f0da6b8bd18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29791, + "offset": 30904, "col": 16, "tokLen": 4 }, "end": { - "offset": 29797, + "offset": 30910, "col": 22, "tokLen": 16 } @@ -45398,7 +46063,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59410", + "id": "0x2cdbf450", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGA", "type": { @@ -45411,35 +46076,35 @@ ] }, { - "id": "0x7f1964631400", + "id": "0x7f0da6b8d088", "kind": "IfStmt", "range": { "begin": { - "offset": 29819, - "line": 974, + "offset": 30932, + "line": 1017, "col": 5, "tokLen": 2 }, "end": { - "offset": 29865, - "line": 975, + "offset": 30978, + "line": 1018, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f1964631350", + "id": "0x7f0da6b8cfd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29823, - "line": 974, + "offset": 30936, + "line": 1017, "col": 9, "tokLen": 1 }, "end": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 } @@ -45451,67 +46116,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964631338", + "id": "0x7f0da6b8cfc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 }, "end": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964631318", + "id": "0x7f0da6b8cfa0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 }, "end": { - "offset": 29825, + "offset": 30938, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646305a0", + "id": "0x7f0da6b8bd78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29823, + "offset": 30936, "col": 9, "tokLen": 1 }, "end": { - "offset": 29823, + "offset": 30936, "col": 9, "tokLen": 1 } @@ -45519,11 +46184,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45532,16 +46197,16 @@ } }, { - "id": "0x7f1964631300", + "id": "0x7f0da6b8cf88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 }, "end": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 } @@ -45553,16 +46218,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646305c0", + "id": "0x7f0da6b8bd98", "kind": "StringLiteral", "range": { "begin": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 }, "end": { - "offset": 29828, + "offset": 30941, "col": 14, "tokLen": 14 } @@ -45578,33 +46243,33 @@ ] }, { - "id": "0x7f19646313f0", + "id": "0x7f0da6b8d078", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29852, - "line": 975, + "offset": 30965, + "line": 1018, "col": 9, "tokLen": 6 }, "end": { - "offset": 29865, + "offset": 30978, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f19646313c0", + "id": "0x7f0da6b8d048", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29859, + "offset": 30972, "col": 16, "tokLen": 4 }, "end": { - "offset": 29865, + "offset": 30978, "col": 22, "tokLen": 19 } @@ -45614,7 +46279,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59460", + "id": "0x2cdbf4a0", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGAEXT", "type": { @@ -45627,35 +46292,35 @@ ] }, { - "id": "0x7f1964632280", + "id": "0x7f0da6b8e3b8", "kind": "IfStmt", "range": { "begin": { - "offset": 29890, - "line": 976, + "offset": 31003, + "line": 1019, "col": 5, "tokLen": 2 }, "end": { - "offset": 29933, - "line": 977, + "offset": 31046, + "line": 1020, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f19646321d0", + "id": "0x7f0da6b8e308", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29894, - "line": 976, + "offset": 31007, + "line": 1019, "col": 9, "tokLen": 1 }, "end": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 } @@ -45667,67 +46332,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646321b8", + "id": "0x7f0da6b8e2f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 }, "end": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964632198", + "id": "0x7f0da6b8e2d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 }, "end": { - "offset": 29896, + "offset": 31009, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964631420", + "id": "0x7f0da6b8d0a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29894, + "offset": 31007, "col": 9, "tokLen": 1 }, "end": { - "offset": 29894, + "offset": 31007, "col": 9, "tokLen": 1 } @@ -45735,11 +46400,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45748,16 +46413,16 @@ } }, { - "id": "0x7f1964632180", + "id": "0x7f0da6b8e2b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 }, "end": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 } @@ -45769,16 +46434,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964631440", + "id": "0x7f0da6b8d0c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 }, "end": { - "offset": 29899, + "offset": 31012, "col": 14, "tokLen": 11 } @@ -45794,33 +46459,33 @@ ] }, { - "id": "0x7f1964632270", + "id": "0x7f0da6b8e3a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29920, - "line": 977, + "offset": 31033, + "line": 1020, "col": 9, "tokLen": 6 }, "end": { - "offset": 29933, + "offset": 31046, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964632240", + "id": "0x7f0da6b8e378", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29927, + "offset": 31040, "col": 16, "tokLen": 4 }, "end": { - "offset": 29933, + "offset": 31046, "col": 22, "tokLen": 16 } @@ -45830,7 +46495,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f594b0", + "id": "0x2cdbf4f0", "kind": "EnumConstantDecl", "name": "TEMPERATURE_10GE", "type": { @@ -45843,35 +46508,35 @@ ] }, { - "id": "0x7f1964633100", + "id": "0x7f0da6b8f6e8", "kind": "IfStmt", "range": { "begin": { - "offset": 29955, - "line": 978, + "offset": 31068, + "line": 1021, "col": 5, "tokLen": 2 }, "end": { - "offset": 29998, - "line": 979, + "offset": 31111, + "line": 1022, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964633050", + "id": "0x7f0da6b8f638", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 29959, - "line": 978, + "offset": 31072, + "line": 1021, "col": 9, "tokLen": 1 }, "end": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 } @@ -45883,67 +46548,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964633038", + "id": "0x7f0da6b8f620", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 }, "end": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964633018", + "id": "0x7f0da6b8f600", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 }, "end": { - "offset": 29961, + "offset": 31074, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646322a0", + "id": "0x7f0da6b8e3d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29959, + "offset": 31072, "col": 9, "tokLen": 1 }, "end": { - "offset": 29959, + "offset": 31072, "col": 9, "tokLen": 1 } @@ -45951,11 +46616,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -45964,16 +46629,16 @@ } }, { - "id": "0x7f1964633000", + "id": "0x7f0da6b8f5e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 }, "end": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 } @@ -45985,16 +46650,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646322c0", + "id": "0x7f0da6b8e3f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 }, "end": { - "offset": 29964, + "offset": 31077, "col": 14, "tokLen": 11 } @@ -46010,33 +46675,33 @@ ] }, { - "id": "0x7f19646330f0", + "id": "0x7f0da6b8f6d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 29985, - "line": 979, + "offset": 31098, + "line": 1022, "col": 9, "tokLen": 6 }, "end": { - "offset": 29998, + "offset": 31111, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f19646330c0", + "id": "0x7f0da6b8f6a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 29992, + "offset": 31105, "col": 16, "tokLen": 4 }, "end": { - "offset": 29998, + "offset": 31111, "col": 22, "tokLen": 16 } @@ -46046,7 +46711,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59500", + "id": "0x2cdbf540", "kind": "EnumConstantDecl", "name": "TEMPERATURE_DCDC", "type": { @@ -46059,35 +46724,35 @@ ] }, { - "id": "0x7f1964633f80", + "id": "0x7f0da6b90a18", "kind": "IfStmt", "range": { "begin": { - "offset": 30020, - "line": 980, + "offset": 31133, + "line": 1023, "col": 5, "tokLen": 2 }, "end": { - "offset": 30063, - "line": 981, + "offset": 31176, + "line": 1024, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964633ed0", + "id": "0x7f0da6b90968", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30024, - "line": 980, + "offset": 31137, + "line": 1023, "col": 9, "tokLen": 1 }, "end": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 } @@ -46099,67 +46764,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964633eb8", + "id": "0x7f0da6b90950", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 }, "end": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964633e98", + "id": "0x7f0da6b90930", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 }, "end": { - "offset": 30026, + "offset": 31139, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964633120", + "id": "0x7f0da6b8f708", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30024, + "offset": 31137, "col": 9, "tokLen": 1 }, "end": { - "offset": 30024, + "offset": 31137, "col": 9, "tokLen": 1 } @@ -46167,11 +46832,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46180,16 +46845,16 @@ } }, { - "id": "0x7f1964633e80", + "id": "0x7f0da6b90918", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 }, "end": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 } @@ -46201,16 +46866,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964633140", + "id": "0x7f0da6b8f728", "kind": "StringLiteral", "range": { "begin": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 }, "end": { - "offset": 30029, + "offset": 31142, "col": 14, "tokLen": 11 } @@ -46226,33 +46891,33 @@ ] }, { - "id": "0x7f1964633f70", + "id": "0x7f0da6b90a08", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30050, - "line": 981, + "offset": 31163, + "line": 1024, "col": 9, "tokLen": 6 }, "end": { - "offset": 30063, + "offset": 31176, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964633f40", + "id": "0x7f0da6b909d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30057, + "offset": 31170, "col": 16, "tokLen": 4 }, "end": { - "offset": 30063, + "offset": 31176, "col": 22, "tokLen": 16 } @@ -46262,7 +46927,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59550", + "id": "0x2cdbf590", "kind": "EnumConstantDecl", "name": "TEMPERATURE_SODL", "type": { @@ -46275,35 +46940,35 @@ ] }, { - "id": "0x7f1964634e00", + "id": "0x7f0da6b91d48", "kind": "IfStmt", "range": { "begin": { - "offset": 30085, - "line": 982, + "offset": 31198, + "line": 1025, "col": 5, "tokLen": 2 }, "end": { - "offset": 30128, - "line": 983, + "offset": 31241, + "line": 1026, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964634d50", + "id": "0x7f0da6b91c98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30089, - "line": 982, + "offset": 31202, + "line": 1025, "col": 9, "tokLen": 1 }, "end": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 } @@ -46315,67 +46980,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964634d38", + "id": "0x7f0da6b91c80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 }, "end": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964634d18", + "id": "0x7f0da6b91c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 }, "end": { - "offset": 30091, + "offset": 31204, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964633fa0", + "id": "0x7f0da6b90a38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30089, + "offset": 31202, "col": 9, "tokLen": 1 }, "end": { - "offset": 30089, + "offset": 31202, "col": 9, "tokLen": 1 } @@ -46383,11 +47048,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46396,16 +47061,16 @@ } }, { - "id": "0x7f1964634d00", + "id": "0x7f0da6b91c48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 }, "end": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 } @@ -46417,16 +47082,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964633fc0", + "id": "0x7f0da6b90a58", "kind": "StringLiteral", "range": { "begin": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 }, "end": { - "offset": 30094, + "offset": 31207, "col": 14, "tokLen": 11 } @@ -46442,33 +47107,33 @@ ] }, { - "id": "0x7f1964634df0", + "id": "0x7f0da6b91d38", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30115, - "line": 983, + "offset": 31228, + "line": 1026, "col": 9, "tokLen": 6 }, "end": { - "offset": 30128, + "offset": 31241, "col": 22, "tokLen": 16 } }, "inner": [ { - "id": "0x7f1964634dc0", + "id": "0x7f0da6b91d08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30122, + "offset": 31235, "col": 16, "tokLen": 4 }, "end": { - "offset": 30128, + "offset": 31241, "col": 22, "tokLen": 16 } @@ -46478,7 +47143,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f595a0", + "id": "0x2cdbf5e0", "kind": "EnumConstantDecl", "name": "TEMPERATURE_SODR", "type": { @@ -46491,35 +47156,35 @@ ] }, { - "id": "0x7f1964635c80", + "id": "0x7f0da6b93078", "kind": "IfStmt", "range": { "begin": { - "offset": 30150, - "line": 984, + "offset": 31263, + "line": 1027, "col": 5, "tokLen": 2 }, "end": { - "offset": 30195, - "line": 985, + "offset": 31308, + "line": 1028, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964635bd0", + "id": "0x7f0da6b92fc8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30154, - "line": 984, + "offset": 31267, + "line": 1027, "col": 9, "tokLen": 1 }, "end": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 } @@ -46531,67 +47196,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964635bb8", + "id": "0x7f0da6b92fb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 }, "end": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964635b98", + "id": "0x7f0da6b92f90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 }, "end": { - "offset": 30156, + "offset": 31269, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964634e20", + "id": "0x7f0da6b91d68", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30154, + "offset": 31267, "col": 9, "tokLen": 1 }, "end": { - "offset": 30154, + "offset": 31267, "col": 9, "tokLen": 1 } @@ -46599,11 +47264,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46612,16 +47277,16 @@ } }, { - "id": "0x7f1964635b80", + "id": "0x7f0da6b92f78", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 }, "end": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 } @@ -46633,16 +47298,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964634e40", + "id": "0x7f0da6b91d88", "kind": "StringLiteral", "range": { "begin": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 }, "end": { - "offset": 30159, + "offset": 31272, "col": 14, "tokLen": 13 } @@ -46658,33 +47323,33 @@ ] }, { - "id": "0x7f1964635c70", + "id": "0x7f0da6b93068", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30182, - "line": 985, + "offset": 31295, + "line": 1028, "col": 9, "tokLen": 6 }, "end": { - "offset": 30195, + "offset": 31308, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964635c40", + "id": "0x7f0da6b93038", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30189, + "offset": 31302, "col": 16, "tokLen": 4 }, "end": { - "offset": 30195, + "offset": 31308, "col": 22, "tokLen": 17 } @@ -46694,7 +47359,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f595f0", + "id": "0x2cdbf630", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGA2", "type": { @@ -46707,35 +47372,35 @@ ] }, { - "id": "0x7f1964636b00", + "id": "0x7f0da6b943a8", "kind": "IfStmt", "range": { "begin": { - "offset": 30218, - "line": 986, + "offset": 31331, + "line": 1029, "col": 5, "tokLen": 2 }, "end": { - "offset": 30263, - "line": 987, + "offset": 31376, + "line": 1030, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964636a50", + "id": "0x7f0da6b942f8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30222, - "line": 986, + "offset": 31335, + "line": 1029, "col": 9, "tokLen": 1 }, "end": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 } @@ -46747,67 +47412,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964636a38", + "id": "0x7f0da6b942e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 }, "end": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964636a18", + "id": "0x7f0da6b942c0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 }, "end": { - "offset": 30224, + "offset": 31337, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964635ca0", + "id": "0x7f0da6b93098", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30222, + "offset": 31335, "col": 9, "tokLen": 1 }, "end": { - "offset": 30222, + "offset": 31335, "col": 9, "tokLen": 1 } @@ -46815,11 +47480,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -46828,16 +47493,16 @@ } }, { - "id": "0x7f1964636a00", + "id": "0x7f0da6b942a8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 }, "end": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 } @@ -46849,16 +47514,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964635cc0", + "id": "0x7f0da6b930b8", "kind": "StringLiteral", "range": { "begin": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 }, "end": { - "offset": 30227, + "offset": 31340, "col": 14, "tokLen": 13 } @@ -46874,33 +47539,33 @@ ] }, { - "id": "0x7f1964636af0", + "id": "0x7f0da6b94398", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30250, - "line": 987, + "offset": 31363, + "line": 1030, "col": 9, "tokLen": 6 }, "end": { - "offset": 30263, + "offset": 31376, "col": 22, "tokLen": 17 } }, "inner": [ { - "id": "0x7f1964636ac0", + "id": "0x7f0da6b94368", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30257, + "offset": 31370, "col": 16, "tokLen": 4 }, "end": { - "offset": 30263, + "offset": 31376, "col": 22, "tokLen": 17 } @@ -46910,7 +47575,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f59640", + "id": "0x2cdbf680", "kind": "EnumConstantDecl", "name": "TEMPERATURE_FPGA3", "type": { @@ -46923,35 +47588,35 @@ ] }, { - "id": "0x7f1964637980", + "id": "0x7f0da6b956d8", "kind": "IfStmt", "range": { "begin": { - "offset": 30286, - "line": 988, + "offset": 31399, + "line": 1031, "col": 5, "tokLen": 2 }, "end": { - "offset": 30332, - "line": 989, + "offset": 31445, + "line": 1032, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x7f19646378d0", + "id": "0x7f0da6b95628", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30290, - "line": 988, + "offset": 31403, + "line": 1031, "col": 9, "tokLen": 1 }, "end": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 } @@ -46963,67 +47628,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646378b8", + "id": "0x7f0da6b95610", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 }, "end": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964637898", + "id": "0x7f0da6b955f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 }, "end": { - "offset": 30292, + "offset": 31405, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964636b20", + "id": "0x7f0da6b943c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30290, + "offset": 31403, "col": 9, "tokLen": 1 }, "end": { - "offset": 30290, + "offset": 31403, "col": 9, "tokLen": 1 } @@ -47031,11 +47696,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47044,16 +47709,16 @@ } }, { - "id": "0x7f1964637880", + "id": "0x7f0da6b955d8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 }, "end": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 } @@ -47065,16 +47730,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964636b40", + "id": "0x7f0da6b943e8", "kind": "StringLiteral", "range": { "begin": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 }, "end": { - "offset": 30295, + "offset": 31408, "col": 14, "tokLen": 14 } @@ -47090,33 +47755,33 @@ ] }, { - "id": "0x7f1964637970", + "id": "0x7f0da6b956c8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30319, - "line": 989, + "offset": 31432, + "line": 1032, "col": 9, "tokLen": 6 }, "end": { - "offset": 30332, + "offset": 31445, "col": 22, "tokLen": 13 } }, "inner": [ { - "id": "0x7f1964637940", + "id": "0x7f0da6b95698", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30326, + "offset": 31439, "col": 16, "tokLen": 4 }, "end": { - "offset": 30332, + "offset": 31445, "col": 22, "tokLen": 13 } @@ -47126,7 +47791,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5a060", + "id": "0x2cdc00a0", "kind": "EnumConstantDecl", "name": "SLOW_ADC_TEMP", "type": { @@ -47139,17 +47804,17 @@ ] }, { - "id": "0x7f1964637f90", + "id": "0x7f0da6b95d68", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 30351, - "line": 990, + "offset": 31464, + "line": 1033, "col": 5, "tokLen": 5 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } @@ -47161,16 +47826,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f1964637f78", + "id": "0x7f0da6b95d50", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 30351, + "offset": 31464, "col": 5, "tokLen": 5 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } @@ -47181,74 +47846,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f1964637f48", + "id": "0x7f0da6b95d20", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f1964637f30", + "id": "0x7f0da6b95d08", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f1964637f08", + "id": "0x7f0da6b95ce0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -47257,27 +47925,28 @@ }, "inner": [ { - "id": "0x7f1964637ee8", + "id": "0x7f0da6b95cc0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f1964637ee0", + "temp": "0x7f0da6b95cb8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -47286,22 +47955,23 @@ }, "inner": [ { - "id": "0x7f1964637eb0", + "id": "0x7f0da6b95c88", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30357, + "offset": 31470, "col": 11, "tokLen": 12 }, "end": { - "offset": 30394, + "offset": 31507, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -47311,73 +47981,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f1964637e98", + "id": "0x7f0da6b95c70", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f1964637e80", + "id": "0x7f0da6b95c58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f1964637e60", + "id": "0x7f0da6b95c38", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f1964637e58", + "temp": "0x7f0da6b95c30", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -47386,89 +48056,89 @@ }, "inner": [ { - "id": "0x7f1964637e20", + "id": "0x7f0da6b95bf8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f1964637e08", + "id": "0x7f0da6b95be0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 }, "end": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964637de8", + "id": "0x7f0da6b95bc0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 }, "end": { - "offset": 30391, + "offset": 31504, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f1964637dd0", + "id": "0x7f0da6b95ba8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 } @@ -47480,16 +48150,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646379b0", + "id": "0x7f0da6b95708", "kind": "StringLiteral", "range": { "begin": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 }, "end": { - "offset": 30370, + "offset": 31483, "col": 24, "tokLen": 20 } @@ -47503,16 +48173,16 @@ ] }, { - "id": "0x7f19646379e0", + "id": "0x7f0da6b95738", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 }, "end": { - "offset": 30393, + "offset": 31506, "col": 47, "tokLen": 1 } @@ -47520,11 +48190,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3882940", + "id": "0x7f0da6e4ae70", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47559,29 +48229,29 @@ ] }, { - "id": "0x7f1964638418", + "id": "0x7f0da6b961f8", "kind": "FunctionDecl", "loc": { - "offset": 30428, + "offset": 31541, "file": "ToString.cpp", - "line": 993, + "line": 1036, "col": 29, "tokLen": 8 }, "range": { "begin": { - "offset": 30400, + "offset": 31513, "col": 1, "tokLen": 8 }, "end": { - "offset": 30788, - "line": 1003, + "offset": 31901, + "line": 1046, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368bb58", + "previousDecl": "0x2d3789b8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs9burstModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -47595,13 +48265,13 @@ }, "inner": [ { - "id": "0x2f5b1f0", + "id": "0x2cdc1230", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::burstMode" }, "decl": { - "id": "0x2f5b148", + "id": "0x2cdc1188", "kind": "EnumDecl", "name": "burstMode" } @@ -47609,22 +48279,22 @@ ] }, { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "loc": { - "offset": 30456, - "line": 993, + "offset": 31569, + "line": 1036, "col": 57, "tokLen": 1 }, "range": { "begin": { - "offset": 30437, + "offset": 31550, "col": 38, "tokLen": 5 }, "end": { - "offset": 30456, + "offset": 31569, "col": 57, "tokLen": 1 } @@ -47636,52 +48306,52 @@ } }, { - "id": "0x7f196463c5d8", + "id": "0x7f0da6b9b730", "kind": "CompoundStmt", "range": { "begin": { - "offset": 30459, + "offset": 31572, "col": 60, "tokLen": 1 }, "end": { - "offset": 30788, - "line": 1003, + "offset": 31901, + "line": 1046, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f1964639430", + "id": "0x7f0da6b976f8", "kind": "IfStmt", "range": { "begin": { - "offset": 30465, - "line": 994, + "offset": 31578, + "line": 1037, "col": 5, "tokLen": 2 }, "end": { - "offset": 30513, - "line": 995, + "offset": 31626, + "line": 1038, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f1964639380", + "id": "0x7f0da6b97648", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30469, - "line": 994, + "offset": 31582, + "line": 1037, "col": 9, "tokLen": 1 }, "end": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 } @@ -47693,67 +48363,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964639368", + "id": "0x7f0da6b97630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 }, "end": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964639348", + "id": "0x7f0da6b97610", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 }, "end": { - "offset": 30471, + "offset": 31584, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646385d0", + "id": "0x7f0da6b963e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30469, + "offset": 31582, "col": 9, "tokLen": 1 }, "end": { - "offset": 30469, + "offset": 31582, "col": 9, "tokLen": 1 } @@ -47761,11 +48431,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47774,16 +48444,16 @@ } }, { - "id": "0x7f1964639330", + "id": "0x7f0da6b975f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 }, "end": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 } @@ -47795,16 +48465,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646385f0", + "id": "0x7f0da6b96400", "kind": "StringLiteral", "range": { "begin": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 }, "end": { - "offset": 30474, + "offset": 31587, "col": 14, "tokLen": 16 } @@ -47820,33 +48490,33 @@ ] }, { - "id": "0x7f1964639420", + "id": "0x7f0da6b976e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30500, - "line": 995, + "offset": 31613, + "line": 1038, "col": 9, "tokLen": 6 }, "end": { - "offset": 30513, + "offset": 31626, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f19646393f0", + "id": "0x7f0da6b976b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30507, + "offset": 31620, "col": 16, "tokLen": 4 }, "end": { - "offset": 30513, + "offset": 31626, "col": 22, "tokLen": 14 } @@ -47856,7 +48526,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b210", + "id": "0x2cdc1250", "kind": "EnumConstantDecl", "name": "BURST_INTERNAL", "type": { @@ -47869,35 +48539,35 @@ ] }, { - "id": "0x7f196463a2b0", + "id": "0x7f0da6b98a28", "kind": "IfStmt", "range": { "begin": { - "offset": 30533, - "line": 996, + "offset": 31646, + "line": 1039, "col": 5, "tokLen": 2 }, "end": { - "offset": 30581, - "line": 997, + "offset": 31694, + "line": 1040, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f196463a200", + "id": "0x7f0da6b98978", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30537, - "line": 996, + "offset": 31650, + "line": 1039, "col": 9, "tokLen": 1 }, "end": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 } @@ -47909,67 +48579,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463a1e8", + "id": "0x7f0da6b98960", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 }, "end": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463a1c8", + "id": "0x7f0da6b98940", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 }, "end": { - "offset": 30539, + "offset": 31652, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964639450", + "id": "0x7f0da6b97718", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30537, + "offset": 31650, "col": 9, "tokLen": 1 }, "end": { - "offset": 30537, + "offset": 31650, "col": 9, "tokLen": 1 } @@ -47977,11 +48647,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -47990,16 +48660,16 @@ } }, { - "id": "0x7f196463a1b0", + "id": "0x7f0da6b98928", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 }, "end": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 } @@ -48011,16 +48681,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964639470", + "id": "0x7f0da6b97738", "kind": "StringLiteral", "range": { "begin": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 }, "end": { - "offset": 30542, + "offset": 31655, "col": 14, "tokLen": 16 } @@ -48036,33 +48706,33 @@ ] }, { - "id": "0x7f196463a2a0", + "id": "0x7f0da6b98a18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30568, - "line": 997, + "offset": 31681, + "line": 1040, "col": 9, "tokLen": 6 }, "end": { - "offset": 30581, + "offset": 31694, "col": 22, "tokLen": 14 } }, "inner": [ { - "id": "0x7f196463a270", + "id": "0x7f0da6b989e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30575, + "offset": 31688, "col": 16, "tokLen": 4 }, "end": { - "offset": 30581, + "offset": 31694, "col": 22, "tokLen": 14 } @@ -48072,7 +48742,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b260", + "id": "0x2cdc12a0", "kind": "EnumConstantDecl", "name": "BURST_EXTERNAL", "type": { @@ -48085,35 +48755,35 @@ ] }, { - "id": "0x7f196463b130", + "id": "0x7f0da6b99d58", "kind": "IfStmt", "range": { "begin": { - "offset": 30601, - "line": 998, + "offset": 31714, + "line": 1041, "col": 5, "tokLen": 2 }, "end": { - "offset": 30646, - "line": 999, + "offset": 31759, + "line": 1042, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463b080", + "id": "0x7f0da6b99ca8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30605, - "line": 998, + "offset": 31718, + "line": 1041, "col": 9, "tokLen": 1 }, "end": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 } @@ -48125,67 +48795,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463b068", + "id": "0x7f0da6b99c90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 }, "end": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463b048", + "id": "0x7f0da6b99c70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 }, "end": { - "offset": 30607, + "offset": 31720, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463a2d0", + "id": "0x7f0da6b98a48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30605, + "offset": 31718, "col": 9, "tokLen": 1 }, "end": { - "offset": 30605, + "offset": 31718, "col": 9, "tokLen": 1 } @@ -48193,11 +48863,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -48206,16 +48876,16 @@ } }, { - "id": "0x7f196463b030", + "id": "0x7f0da6b99c58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 }, "end": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 } @@ -48227,16 +48897,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463a2f0", + "id": "0x7f0da6b98a68", "kind": "StringLiteral", "range": { "begin": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 }, "end": { - "offset": 30610, + "offset": 31723, "col": 14, "tokLen": 13 } @@ -48252,33 +48922,33 @@ ] }, { - "id": "0x7f196463b120", + "id": "0x7f0da6b99d48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30633, - "line": 999, + "offset": 31746, + "line": 1042, "col": 9, "tokLen": 6 }, "end": { - "offset": 30646, + "offset": 31759, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463b0f0", + "id": "0x7f0da6b99d18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30640, + "offset": 31753, "col": 16, "tokLen": 4 }, "end": { - "offset": 30646, + "offset": 31759, "col": 22, "tokLen": 19 } @@ -48288,7 +48958,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b2b0", + "id": "0x2cdc12f0", "kind": "EnumConstantDecl", "name": "CONTINUOUS_INTERNAL", "type": { @@ -48301,35 +48971,35 @@ ] }, { - "id": "0x7f196463bfb0", + "id": "0x7f0da6b9b088", "kind": "IfStmt", "range": { "begin": { - "offset": 30671, - "line": 1000, + "offset": 31784, + "line": 1043, "col": 5, "tokLen": 2 }, "end": { - "offset": 30716, - "line": 1001, + "offset": 31829, + "line": 1044, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463bf00", + "id": "0x7f0da6b9afd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30675, - "line": 1000, + "offset": 31788, + "line": 1043, "col": 9, "tokLen": 1 }, "end": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 } @@ -48341,67 +49011,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463bee8", + "id": "0x7f0da6b9afc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 }, "end": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463bec8", + "id": "0x7f0da6b9afa0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 }, "end": { - "offset": 30677, + "offset": 31790, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463b150", + "id": "0x7f0da6b99d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30675, + "offset": 31788, "col": 9, "tokLen": 1 }, "end": { - "offset": 30675, + "offset": 31788, "col": 9, "tokLen": 1 } @@ -48409,11 +49079,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -48422,16 +49092,16 @@ } }, { - "id": "0x7f196463beb0", + "id": "0x7f0da6b9af88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 }, "end": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 } @@ -48443,16 +49113,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463b170", + "id": "0x7f0da6b99d98", "kind": "StringLiteral", "range": { "begin": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 }, "end": { - "offset": 30680, + "offset": 31793, "col": 14, "tokLen": 13 } @@ -48468,33 +49138,33 @@ ] }, { - "id": "0x7f196463bfa0", + "id": "0x7f0da6b9b078", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30703, - "line": 1001, + "offset": 31816, + "line": 1044, "col": 9, "tokLen": 6 }, "end": { - "offset": 30716, + "offset": 31829, "col": 22, "tokLen": 19 } }, "inner": [ { - "id": "0x7f196463bf70", + "id": "0x7f0da6b9b048", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30710, + "offset": 31823, "col": 16, "tokLen": 4 }, "end": { - "offset": 30716, + "offset": 31829, "col": 22, "tokLen": 19 } @@ -48504,7 +49174,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b300", + "id": "0x2cdc1340", "kind": "EnumConstantDecl", "name": "CONTINUOUS_EXTERNAL", "type": { @@ -48517,17 +49187,17 @@ ] }, { - "id": "0x7f196463c5c0", + "id": "0x7f0da6b9b718", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 30741, - "line": 1002, + "offset": 31854, + "line": 1045, "col": 5, "tokLen": 5 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } @@ -48539,16 +49209,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f196463c5a8", + "id": "0x7f0da6b9b700", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 30741, + "offset": 31854, "col": 5, "tokLen": 5 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } @@ -48559,74 +49229,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f196463c578", + "id": "0x7f0da6b9b6d0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f196463c560", + "id": "0x7f0da6b9b6b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f196463c538", + "id": "0x7f0da6b9b690", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -48635,27 +49308,28 @@ }, "inner": [ { - "id": "0x7f196463c518", + "id": "0x7f0da6b9b670", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f196463c510", + "temp": "0x7f0da6b9b668", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -48664,22 +49338,23 @@ }, "inner": [ { - "id": "0x7f196463c4e0", + "id": "0x7f0da6b9b638", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30747, + "offset": 31860, "col": 11, "tokLen": 12 }, "end": { - "offset": 30785, + "offset": 31898, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -48689,73 +49364,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f196463c4c8", + "id": "0x7f0da6b9b620", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f196463c4b0", + "id": "0x7f0da6b9b608", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f196463c490", + "id": "0x7f0da6b9b5e8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f196463c488", + "temp": "0x7f0da6b9b5e0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -48764,89 +49439,89 @@ }, "inner": [ { - "id": "0x7f196463c450", + "id": "0x7f0da6b9b5a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f196463c438", + "id": "0x7f0da6b9b590", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 }, "end": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463c418", + "id": "0x7f0da6b9b570", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 }, "end": { - "offset": 30782, + "offset": 31895, "col": 46, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f196463c400", + "id": "0x7f0da6b9b558", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 } @@ -48858,16 +49533,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463bfe0", + "id": "0x7f0da6b9b0b8", "kind": "StringLiteral", "range": { "begin": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 }, "end": { - "offset": 30760, + "offset": 31873, "col": 24, "tokLen": 21 } @@ -48881,16 +49556,16 @@ ] }, { - "id": "0x7f196463c010", + "id": "0x7f0da6b9b0e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 }, "end": { - "offset": 30784, + "offset": 31897, "col": 48, "tokLen": 1 } @@ -48898,11 +49573,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964638348", + "id": "0x7f0da6b96120", "kind": "ParmVarDecl", "name": "s", "type": { @@ -48937,29 +49612,29 @@ ] }, { - "id": "0x7f196463c788", + "id": "0x7f0da6b9b8e8", "kind": "FunctionDecl", "loc": { - "offset": 30826, + "offset": 31939, "file": "ToString.cpp", - "line": 1005, + "line": 1048, "col": 36, "tokLen": 8 }, "range": { "begin": { - "offset": 30791, + "offset": 31904, "col": 1, "tokLen": 8 }, "end": { - "offset": 31044, - "line": 1011, + "offset": 32157, + "line": 1054, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368c078", + "previousDecl": "0x2d378f08", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs16timingSourceTypeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -48973,13 +49648,13 @@ }, "inner": [ { - "id": "0x2f5b470", + "id": "0x2cdc14b0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::timingSourceType" }, "decl": { - "id": "0x2f5b3c8", + "id": "0x2cdc1408", "kind": "EnumDecl", "name": "timingSourceType" } @@ -48987,22 +49662,22 @@ ] }, { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "loc": { - "offset": 30854, - "line": 1005, + "offset": 31967, + "line": 1048, "col": 64, "tokLen": 1 }, "range": { "begin": { - "offset": 30835, + "offset": 31948, "col": 45, "tokLen": 5 }, "end": { - "offset": 30854, + "offset": 31967, "col": 64, "tokLen": 1 } @@ -49014,52 +49689,52 @@ } }, { - "id": "0x7f196463ec30", + "id": "0x7f0da6b5d808", "kind": "CompoundStmt", "range": { "begin": { - "offset": 30857, + "offset": 31970, "col": 67, "tokLen": 1 }, "end": { - "offset": 31044, - "line": 1011, + "offset": 32157, + "line": 1054, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f196463d790", + "id": "0x7f0da6b5bdf8", "kind": "IfStmt", "range": { "begin": { - "offset": 30863, - "line": 1006, + "offset": 31976, + "line": 1049, "col": 5, "tokLen": 2 }, "end": { - "offset": 30905, - "line": 1007, + "offset": 32018, + "line": 1050, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463d6e0", + "id": "0x7f0da6b5bd48", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30867, - "line": 1006, + "offset": 31980, + "line": 1049, "col": 9, "tokLen": 1 }, "end": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 } @@ -49071,67 +49746,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463d6c8", + "id": "0x7f0da6b5bd30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 }, "end": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463d6a8", + "id": "0x7f0da6b5bd10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 }, "end": { - "offset": 30869, + "offset": 31982, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463c940", + "id": "0x7f0da6b9bad0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30867, + "offset": 31980, "col": 9, "tokLen": 1 }, "end": { - "offset": 30867, + "offset": 31980, "col": 9, "tokLen": 1 } @@ -49139,11 +49814,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "name": "s", "type": { @@ -49152,16 +49827,16 @@ } }, { - "id": "0x7f196463d690", + "id": "0x7f0da6b5bcf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 }, "end": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 } @@ -49173,16 +49848,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463c960", + "id": "0x7f0da6b9baf0", "kind": "StringLiteral", "range": { "begin": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 }, "end": { - "offset": 30872, + "offset": 31985, "col": 14, "tokLen": 10 } @@ -49198,33 +49873,33 @@ ] }, { - "id": "0x7f196463d780", + "id": "0x7f0da6b5bde8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30892, - "line": 1007, + "offset": 32005, + "line": 1050, "col": 9, "tokLen": 6 }, "end": { - "offset": 30905, + "offset": 32018, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463d750", + "id": "0x7f0da6b5bdb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30899, + "offset": 32012, "col": 16, "tokLen": 4 }, "end": { - "offset": 30905, + "offset": 32018, "col": 22, "tokLen": 15 } @@ -49234,7 +49909,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b490", + "id": "0x2cdc14d0", "kind": "EnumConstantDecl", "name": "TIMING_INTERNAL", "type": { @@ -49247,35 +49922,35 @@ ] }, { - "id": "0x7f196463e600", + "id": "0x7f0da6b5d128", "kind": "IfStmt", "range": { "begin": { - "offset": 30926, - "line": 1008, + "offset": 32039, + "line": 1051, "col": 5, "tokLen": 2 }, "end": { - "offset": 30968, - "line": 1009, + "offset": 32081, + "line": 1052, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463e550", + "id": "0x7f0da6b5d078", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 30930, - "line": 1008, + "offset": 32043, + "line": 1051, "col": 9, "tokLen": 1 }, "end": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 } @@ -49287,67 +49962,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463e538", + "id": "0x7f0da6b5d060", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 }, "end": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463e518", + "id": "0x7f0da6b5d040", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 }, "end": { - "offset": 30932, + "offset": 32045, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463d7b0", + "id": "0x7f0da6b5be18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30930, + "offset": 32043, "col": 9, "tokLen": 1 }, "end": { - "offset": 30930, + "offset": 32043, "col": 9, "tokLen": 1 } @@ -49355,11 +50030,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "name": "s", "type": { @@ -49368,16 +50043,16 @@ } }, { - "id": "0x7f196463e500", + "id": "0x7f0da6b5d028", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 }, "end": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 } @@ -49389,16 +50064,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463d7d0", + "id": "0x7f0da6b5be38", "kind": "StringLiteral", "range": { "begin": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 }, "end": { - "offset": 30935, + "offset": 32048, "col": 14, "tokLen": 10 } @@ -49414,33 +50089,33 @@ ] }, { - "id": "0x7f196463e5f0", + "id": "0x7f0da6b5d118", "kind": "ReturnStmt", "range": { "begin": { - "offset": 30955, - "line": 1009, + "offset": 32068, + "line": 1052, "col": 9, "tokLen": 6 }, "end": { - "offset": 30968, + "offset": 32081, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x7f196463e5c0", + "id": "0x7f0da6b5d0e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 30962, + "offset": 32075, "col": 16, "tokLen": 4 }, "end": { - "offset": 30968, + "offset": 32081, "col": 22, "tokLen": 15 } @@ -49450,7 +50125,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b4e0", + "id": "0x2cdc1520", "kind": "EnumConstantDecl", "name": "TIMING_EXTERNAL", "type": { @@ -49463,17 +50138,17 @@ ] }, { - "id": "0x7f196463ec18", + "id": "0x7f0da6b5d7f0", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 30989, - "line": 1010, + "offset": 32102, + "line": 1053, "col": 5, "tokLen": 5 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } @@ -49485,16 +50160,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f196463ec00", + "id": "0x7f0da6b5d7d8", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 30989, + "offset": 32102, "col": 5, "tokLen": 5 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } @@ -49505,74 +50180,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f196463ebd0", + "id": "0x7f0da6b5d7a8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f196463ebb8", + "id": "0x7f0da6b5d790", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f196463eb90", + "id": "0x7f0da6b5d768", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -49581,27 +50259,28 @@ }, "inner": [ { - "id": "0x7f196463eb70", + "id": "0x7f0da6b5d748", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f196463eb68", + "temp": "0x7f0da6b5d740", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -49610,22 +50289,23 @@ }, "inner": [ { - "id": "0x7f196463eb38", + "id": "0x7f0da6b5d710", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 30995, + "offset": 32108, "col": 11, "tokLen": 12 }, "end": { - "offset": 31041, + "offset": 32154, "col": 57, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -49635,73 +50315,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f196463eb20", + "id": "0x7f0da6b5d6f8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f196463eb08", + "id": "0x7f0da6b5d6e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f196463eae8", + "id": "0x7f0da6b5d6c0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f196463eae0", + "temp": "0x7f0da6b5d6b8", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -49710,89 +50390,89 @@ }, "inner": [ { - "id": "0x7f196463eaa8", + "id": "0x7f0da6b5d680", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f196463ea90", + "id": "0x7f0da6b5d668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 }, "end": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463ea70", + "id": "0x7f0da6b5d648", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 }, "end": { - "offset": 31038, + "offset": 32151, "col": 54, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f196463ea58", + "id": "0x7f0da6b5d630", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 } @@ -49804,16 +50484,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463e630", + "id": "0x7f0da6b5d158", "kind": "StringLiteral", "range": { "begin": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 }, "end": { - "offset": 31008, + "offset": 32121, "col": 24, "tokLen": 29 } @@ -49827,16 +50507,16 @@ ] }, { - "id": "0x7f196463e668", + "id": "0x7f0da6b5d190", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 }, "end": { - "offset": 31040, + "offset": 32153, "col": 56, "tokLen": 1 } @@ -49844,11 +50524,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463c6b8", + "id": "0x7f0da6b9b810", "kind": "ParmVarDecl", "name": "s", "type": { @@ -49883,29 +50563,29 @@ ] }, { - "id": "0x7f196463edd8", + "id": "0x7f0da6b5d9a8", "kind": "FunctionDecl", "loc": { - "offset": 31077, + "offset": 32190, "file": "ToString.cpp", - "line": 1013, + "line": 1056, "col": 31, "tokLen": 8 }, "range": { "begin": { - "offset": 31047, + "offset": 32160, "col": 1, "tokLen": 8 }, "end": { - "offset": 31487, - "line": 1027, + "offset": 32600, + "line": 1070, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368c598", + "previousDecl": "0x2d379458", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs11M3_GainCapsEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -49919,13 +50599,13 @@ }, "inner": [ { - "id": "0x2f5b5d0", + "id": "0x2cdc1610", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::M3_GainCaps" }, "decl": { - "id": "0x2f5b530", + "id": "0x2cdc1570", "kind": "EnumDecl", "name": "M3_GainCaps" } @@ -49933,22 +50613,22 @@ ] }, { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "loc": { - "offset": 31105, - "line": 1013, + "offset": 32218, + "line": 1056, "col": 59, "tokLen": 1 }, "range": { "begin": { - "offset": 31086, + "offset": 32199, "col": 40, "tokLen": 5 }, "end": { - "offset": 31105, + "offset": 32218, "col": 59, "tokLen": 1 } @@ -49960,52 +50640,52 @@ } }, { - "id": "0x7f1964644c38", + "id": "0x7f0da6b65530", "kind": "CompoundStmt", "range": { "begin": { - "offset": 31108, + "offset": 32221, "col": 62, "tokLen": 1 }, "end": { - "offset": 31487, - "line": 1027, + "offset": 32600, + "line": 1070, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f196463fde0", + "id": "0x7f0da6b5ee98", "kind": "IfStmt", "range": { "begin": { - "offset": 31114, - "line": 1014, + "offset": 32227, + "line": 1057, "col": 5, "tokLen": 2 }, "end": { - "offset": 31154, - "line": 1015, + "offset": 32267, + "line": 1058, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196463fd30", + "id": "0x7f0da6b5ede8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31118, - "line": 1014, + "offset": 32231, + "line": 1057, "col": 9, "tokLen": 1 }, "end": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 } @@ -50017,67 +50697,67 @@ "adl": true, "inner": [ { - "id": "0x7f196463fd18", + "id": "0x7f0da6b5edd0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 }, "end": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f196463fcf8", + "id": "0x7f0da6b5edb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 }, "end": { - "offset": 31120, + "offset": 32233, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463ef90", + "id": "0x7f0da6b5db90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31118, + "offset": 32231, "col": 9, "tokLen": 1 }, "end": { - "offset": 31118, + "offset": 32231, "col": 9, "tokLen": 1 } @@ -50085,11 +50765,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50098,16 +50778,16 @@ } }, { - "id": "0x7f196463fce0", + "id": "0x7f0da6b5ed98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 }, "end": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 } @@ -50119,16 +50799,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463efb0", + "id": "0x7f0da6b5dbb0", "kind": "StringLiteral", "range": { "begin": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 }, "end": { - "offset": 31123, + "offset": 32236, "col": 14, "tokLen": 8 } @@ -50144,33 +50824,33 @@ ] }, { - "id": "0x7f196463fdd0", + "id": "0x7f0da6b5ee88", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31141, - "line": 1015, + "offset": 32254, + "line": 1058, "col": 9, "tokLen": 6 }, "end": { - "offset": 31154, + "offset": 32267, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f196463fda0", + "id": "0x7f0da6b5ee58", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31148, + "offset": 32261, "col": 16, "tokLen": 4 }, "end": { - "offset": 31154, + "offset": 32267, "col": 22, "tokLen": 9 } @@ -50180,7 +50860,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b670", + "id": "0x2cdc16b0", "kind": "EnumConstantDecl", "name": "M3_C10pre", "type": { @@ -50193,35 +50873,35 @@ ] }, { - "id": "0x7f1964640c50", + "id": "0x7f0da6b601c8", "kind": "IfStmt", "range": { "begin": { - "offset": 31169, - "line": 1016, + "offset": 32282, + "line": 1059, "col": 5, "tokLen": 2 }, "end": { - "offset": 31208, - "line": 1017, + "offset": 32321, + "line": 1060, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964640ba0", + "id": "0x7f0da6b60118", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31173, - "line": 1016, + "offset": 32286, + "line": 1059, "col": 9, "tokLen": 1 }, "end": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 } @@ -50233,67 +50913,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964640b88", + "id": "0x7f0da6b60100", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 }, "end": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964640b68", + "id": "0x7f0da6b600e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 }, "end": { - "offset": 31175, + "offset": 32288, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f196463fe00", + "id": "0x7f0da6b5eeb8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31173, + "offset": 32286, "col": 9, "tokLen": 1 }, "end": { - "offset": 31173, + "offset": 32286, "col": 9, "tokLen": 1 } @@ -50301,11 +50981,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50314,16 +50994,16 @@ } }, { - "id": "0x7f1964640b50", + "id": "0x7f0da6b600c8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 }, "end": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 } @@ -50335,16 +51015,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f196463fe20", + "id": "0x7f0da6b5eed8", "kind": "StringLiteral", "range": { "begin": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 }, "end": { - "offset": 31178, + "offset": 32291, "col": 14, "tokLen": 7 } @@ -50360,33 +51040,33 @@ ] }, { - "id": "0x7f1964640c40", + "id": "0x7f0da6b601b8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31195, - "line": 1017, + "offset": 32308, + "line": 1060, "col": 9, "tokLen": 6 }, "end": { - "offset": 31208, + "offset": 32321, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964640c10", + "id": "0x7f0da6b60188", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31202, + "offset": 32315, "col": 16, "tokLen": 4 }, "end": { - "offset": 31208, + "offset": 32321, "col": 22, "tokLen": 8 } @@ -50396,7 +51076,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b740", + "id": "0x2cdc1780", "kind": "EnumConstantDecl", "name": "M3_C15sh", "type": { @@ -50409,35 +51089,35 @@ ] }, { - "id": "0x7f1964641ac0", + "id": "0x7f0da6b614f8", "kind": "IfStmt", "range": { "begin": { - "offset": 31222, - "line": 1018, + "offset": 32335, + "line": 1061, "col": 5, "tokLen": 2 }, "end": { - "offset": 31261, - "line": 1019, + "offset": 32374, + "line": 1062, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964641a10", + "id": "0x7f0da6b61448", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31226, - "line": 1018, + "offset": 32339, + "line": 1061, "col": 9, "tokLen": 1 }, "end": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 } @@ -50449,67 +51129,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646419f8", + "id": "0x7f0da6b61430", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 }, "end": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646419d8", + "id": "0x7f0da6b61410", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 }, "end": { - "offset": 31228, + "offset": 32341, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964640c70", + "id": "0x7f0da6b601e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31226, + "offset": 32339, "col": 9, "tokLen": 1 }, "end": { - "offset": 31226, + "offset": 32339, "col": 9, "tokLen": 1 } @@ -50517,11 +51197,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50530,16 +51210,16 @@ } }, { - "id": "0x7f19646419c0", + "id": "0x7f0da6b613f8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 }, "end": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 } @@ -50551,16 +51231,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964640c90", + "id": "0x7f0da6b60208", "kind": "StringLiteral", "range": { "begin": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 }, "end": { - "offset": 31231, + "offset": 32344, "col": 14, "tokLen": 7 } @@ -50576,33 +51256,33 @@ ] }, { - "id": "0x7f1964641ab0", + "id": "0x7f0da6b614e8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31248, - "line": 1019, + "offset": 32361, + "line": 1062, "col": 9, "tokLen": 6 }, "end": { - "offset": 31261, + "offset": 32374, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964641a80", + "id": "0x7f0da6b614b8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31255, + "offset": 32368, "col": 16, "tokLen": 4 }, "end": { - "offset": 31261, + "offset": 32374, "col": 22, "tokLen": 8 } @@ -50612,7 +51292,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b810", + "id": "0x2cdc1850", "kind": "EnumConstantDecl", "name": "M3_C30sh", "type": { @@ -50625,35 +51305,35 @@ ] }, { - "id": "0x7f1964642930", + "id": "0x7f0da6b62828", "kind": "IfStmt", "range": { "begin": { - "offset": 31275, - "line": 1020, + "offset": 32388, + "line": 1063, "col": 5, "tokLen": 2 }, "end": { - "offset": 31314, - "line": 1021, + "offset": 32427, + "line": 1064, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f1964642880", + "id": "0x7f0da6b62778", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31279, - "line": 1020, + "offset": 32392, + "line": 1063, "col": 9, "tokLen": 1 }, "end": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 } @@ -50665,67 +51345,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964642868", + "id": "0x7f0da6b62760", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 }, "end": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964642848", + "id": "0x7f0da6b62740", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 }, "end": { - "offset": 31281, + "offset": 32394, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964641ae0", + "id": "0x7f0da6b61518", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31279, + "offset": 32392, "col": 9, "tokLen": 1 }, "end": { - "offset": 31279, + "offset": 32392, "col": 9, "tokLen": 1 } @@ -50733,11 +51413,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50746,16 +51426,16 @@ } }, { - "id": "0x7f1964642830", + "id": "0x7f0da6b62728", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 }, "end": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 } @@ -50767,16 +51447,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964641b00", + "id": "0x7f0da6b61538", "kind": "StringLiteral", "range": { "begin": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 }, "end": { - "offset": 31284, + "offset": 32397, "col": 14, "tokLen": 7 } @@ -50792,33 +51472,33 @@ ] }, { - "id": "0x7f1964642920", + "id": "0x7f0da6b62818", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31301, - "line": 1021, + "offset": 32414, + "line": 1064, "col": 9, "tokLen": 6 }, "end": { - "offset": 31314, + "offset": 32427, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x7f19646428f0", + "id": "0x7f0da6b627e8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31308, + "offset": 32421, "col": 16, "tokLen": 4 }, "end": { - "offset": 31314, + "offset": 32427, "col": 22, "tokLen": 8 } @@ -50828,7 +51508,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b8e0", + "id": "0x2cdc1920", "kind": "EnumConstantDecl", "name": "M3_C50sh", "type": { @@ -50841,35 +51521,35 @@ ] }, { - "id": "0x7f19646437a0", + "id": "0x7f0da6b63b58", "kind": "IfStmt", "range": { "begin": { - "offset": 31328, - "line": 1022, + "offset": 32441, + "line": 1065, "col": 5, "tokLen": 2 }, "end": { - "offset": 31370, - "line": 1023, + "offset": 32483, + "line": 1066, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x7f19646436f0", + "id": "0x7f0da6b63aa8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31332, - "line": 1022, + "offset": 32445, + "line": 1065, "col": 9, "tokLen": 1 }, "end": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 } @@ -50881,67 +51561,67 @@ "adl": true, "inner": [ { - "id": "0x7f19646436d8", + "id": "0x7f0da6b63a90", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 }, "end": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f19646436b8", + "id": "0x7f0da6b63a70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 }, "end": { - "offset": 31334, + "offset": 32447, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964642950", + "id": "0x7f0da6b62848", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31332, + "offset": 32445, "col": 9, "tokLen": 1 }, "end": { - "offset": 31332, + "offset": 32445, "col": 9, "tokLen": 1 } @@ -50949,11 +51629,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -50962,16 +51642,16 @@ } }, { - "id": "0x7f19646436a0", + "id": "0x7f0da6b63a58", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 }, "end": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 } @@ -50983,16 +51663,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964642970", + "id": "0x7f0da6b62868", "kind": "StringLiteral", "range": { "begin": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 }, "end": { - "offset": 31337, + "offset": 32450, "col": 14, "tokLen": 10 } @@ -51008,33 +51688,33 @@ ] }, { - "id": "0x7f1964643790", + "id": "0x7f0da6b63b48", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31357, - "line": 1023, + "offset": 32470, + "line": 1066, "col": 9, "tokLen": 6 }, "end": { - "offset": 31370, + "offset": 32483, "col": 22, "tokLen": 11 } }, "inner": [ { - "id": "0x7f1964643760", + "id": "0x7f0da6b63b18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31364, + "offset": 32477, "col": 16, "tokLen": 4 }, "end": { - "offset": 31370, + "offset": 32483, "col": 22, "tokLen": 11 } @@ -51044,7 +51724,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5b9b0", + "id": "0x2cdc19f0", "kind": "EnumConstantDecl", "name": "M3_C225ACsh", "type": { @@ -51057,35 +51737,35 @@ ] }, { - "id": "0x7f1964644610", + "id": "0x7f0da6b64e88", "kind": "IfStmt", "range": { "begin": { - "offset": 31387, - "line": 1024, + "offset": 32500, + "line": 1067, "col": 5, "tokLen": 2 }, "end": { - "offset": 31427, - "line": 1025, + "offset": 32540, + "line": 1068, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f1964644560", + "id": "0x7f0da6b64dd8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31391, - "line": 1024, + "offset": 32504, + "line": 1067, "col": 9, "tokLen": 1 }, "end": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 } @@ -51097,67 +51777,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964644548", + "id": "0x7f0da6b64dc0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 }, "end": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964644528", + "id": "0x7f0da6b64da0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 }, "end": { - "offset": 31393, + "offset": 32506, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f19646437c0", + "id": "0x7f0da6b63b78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31391, + "offset": 32504, "col": 9, "tokLen": 1 }, "end": { - "offset": 31391, + "offset": 32504, "col": 9, "tokLen": 1 } @@ -51165,11 +51845,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -51178,16 +51858,16 @@ } }, { - "id": "0x7f1964644510", + "id": "0x7f0da6b64d88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 }, "end": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 } @@ -51199,16 +51879,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f19646437e0", + "id": "0x7f0da6b63b98", "kind": "StringLiteral", "range": { "begin": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 }, "end": { - "offset": 31396, + "offset": 32509, "col": 14, "tokLen": 8 } @@ -51224,33 +51904,33 @@ ] }, { - "id": "0x7f1964644600", + "id": "0x7f0da6b64e78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31414, - "line": 1025, + "offset": 32527, + "line": 1068, "col": 9, "tokLen": 6 }, "end": { - "offset": 31427, + "offset": 32540, "col": 22, "tokLen": 9 } }, "inner": [ { - "id": "0x7f19646445d0", + "id": "0x7f0da6b64e48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31421, + "offset": 32534, "col": 16, "tokLen": 4 }, "end": { - "offset": 31427, + "offset": 32540, "col": 22, "tokLen": 9 } @@ -51260,7 +51940,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5ba80", + "id": "0x2cdc1ac0", "kind": "EnumConstantDecl", "name": "M3_C15pre", "type": { @@ -51273,17 +51953,17 @@ ] }, { - "id": "0x7f1964644c20", + "id": "0x7f0da6b65518", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 31442, - "line": 1026, + "offset": 32555, + "line": 1069, "col": 5, "tokLen": 5 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } @@ -51295,16 +51975,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x7f1964644c08", + "id": "0x7f0da6b65500", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 31442, + "offset": 32555, "col": 5, "tokLen": 5 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } @@ -51315,74 +51995,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x7f1964644bd8", + "id": "0x7f0da6b654d0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x7f1964644bc0", + "id": "0x7f0da6b654b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x7f1964644b98", + "id": "0x7f0da6b65490", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -51391,27 +52074,28 @@ }, "inner": [ { - "id": "0x7f1964644b78", + "id": "0x7f0da6b65470", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x7f1964644b70", + "temp": "0x7f0da6b65468", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -51420,22 +52104,23 @@ }, "inner": [ { - "id": "0x7f1964644b40", + "id": "0x7f0da6b65438", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31448, + "offset": 32561, "col": 11, "tokLen": 12 }, "end": { - "offset": 31484, + "offset": 32597, "col": 47, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -51445,73 +52130,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x7f1964644b28", + "id": "0x7f0da6b65420", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x7f1964644b10", + "id": "0x7f0da6b65408", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x7f1964644af0", + "id": "0x7f0da6b653e8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x7f1964644ae8", + "temp": "0x7f0da6b653e0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -51520,89 +52205,89 @@ }, "inner": [ { - "id": "0x7f1964644ab0", + "id": "0x7f0da6b653a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x7f1964644a98", + "id": "0x7f0da6b65390", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 }, "end": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964644a78", + "id": "0x7f0da6b65370", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 }, "end": { - "offset": 31481, + "offset": 32594, "col": 44, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x7f1964644a60", + "id": "0x7f0da6b65358", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 } @@ -51614,16 +52299,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964644640", + "id": "0x7f0da6b64eb8", "kind": "StringLiteral", "range": { "begin": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 }, "end": { - "offset": 31461, + "offset": 32574, "col": 24, "tokLen": 19 } @@ -51637,16 +52322,16 @@ ] }, { - "id": "0x7f1964644670", + "id": "0x7f0da6b64ee8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 }, "end": { - "offset": 31483, + "offset": 32596, "col": 46, "tokLen": 1 } @@ -51654,11 +52339,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f196463ed00", + "id": "0x7f0da6b5d8d8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -51693,29 +52378,29 @@ ] }, { - "id": "0x7f1964644df8", + "id": "0x7f0da6b656f8", "kind": "FunctionDecl", "loc": { - "offset": 31521, + "offset": 32634, "file": "ToString.cpp", - "line": 1029, + "line": 1072, "col": 32, "tokLen": 8 }, "range": { "begin": { - "offset": 31490, + "offset": 32603, "col": 1, "tokLen": 8 }, "end": { - "offset": 31804, - "line": 1039, + "offset": 32917, + "line": 1082, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368cab8", + "previousDecl": "0x2d3799a8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs12portPositionEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -51729,13 +52414,13 @@ }, "inner": [ { - "id": "0x2f5bc00", + "id": "0x2cdc1c40", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::portPosition" }, "decl": { - "id": "0x2f5bb60", + "id": "0x2cdc1ba0", "kind": "EnumDecl", "name": "portPosition" } @@ -51743,22 +52428,22 @@ ] }, { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "loc": { - "offset": 31549, - "line": 1029, + "offset": 32662, + "line": 1072, "col": 60, "tokLen": 1 }, "range": { "begin": { - "offset": 31530, + "offset": 32643, "col": 41, "tokLen": 5 }, "end": { - "offset": 31549, + "offset": 32662, "col": 60, "tokLen": 1 } @@ -51770,52 +52455,52 @@ } }, { - "id": "0x38d70f8", + "id": "0x7f0da6b6ac20", "kind": "CompoundStmt", "range": { "begin": { - "offset": 31552, + "offset": 32665, "col": 63, "tokLen": 1 }, "end": { - "offset": 31804, - "line": 1039, + "offset": 32917, + "line": 1082, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x7f1964645e00", + "id": "0x7f0da6b66be8", "kind": "IfStmt", "range": { "begin": { - "offset": 31558, - "line": 1030, + "offset": 32671, + "line": 1073, "col": 5, "tokLen": 2 }, "end": { - "offset": 31596, - "line": 1031, + "offset": 32709, + "line": 1074, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x7f1964645d50", + "id": "0x7f0da6b66b38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31562, - "line": 1030, + "offset": 32675, + "line": 1073, "col": 9, "tokLen": 1 }, "end": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 } @@ -51827,67 +52512,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964645d38", + "id": "0x7f0da6b66b20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 }, "end": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964645d18", + "id": "0x7f0da6b66b00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 }, "end": { - "offset": 31564, + "offset": 32677, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964644fb0", + "id": "0x7f0da6b658e0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31562, + "offset": 32675, "col": 9, "tokLen": 1 }, "end": { - "offset": 31562, + "offset": 32675, "col": 9, "tokLen": 1 } @@ -51895,11 +52580,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -51908,16 +52593,16 @@ } }, { - "id": "0x7f1964645d00", + "id": "0x7f0da6b66ae8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 }, "end": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 } @@ -51929,16 +52614,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964644fd0", + "id": "0x7f0da6b65900", "kind": "StringLiteral", "range": { "begin": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 }, "end": { - "offset": 31567, + "offset": 32680, "col": 14, "tokLen": 6 } @@ -51954,33 +52639,33 @@ ] }, { - "id": "0x7f1964645df0", + "id": "0x7f0da6b66bd8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31583, - "line": 1031, + "offset": 32696, + "line": 1074, "col": 9, "tokLen": 6 }, "end": { - "offset": 31596, + "offset": 32709, "col": 22, "tokLen": 4 } }, "inner": [ { - "id": "0x7f1964645dc0", + "id": "0x7f0da6b66ba8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31590, + "offset": 32703, "col": 16, "tokLen": 4 }, "end": { - "offset": 31596, + "offset": 32709, "col": 22, "tokLen": 4 } @@ -51990,7 +52675,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bc20", + "id": "0x2cdc1c60", "kind": "EnumConstantDecl", "name": "LEFT", "type": { @@ -52003,35 +52688,35 @@ ] }, { - "id": "0x7f1964646c70", + "id": "0x7f0da6b67f18", "kind": "IfStmt", "range": { "begin": { - "offset": 31606, - "line": 1032, + "offset": 32719, + "line": 1075, "col": 5, "tokLen": 2 }, "end": { - "offset": 31645, - "line": 1033, + "offset": 32758, + "line": 1076, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964646bc0", + "id": "0x7f0da6b67e68", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31610, - "line": 1032, + "offset": 32723, + "line": 1075, "col": 9, "tokLen": 1 }, "end": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 } @@ -52043,67 +52728,67 @@ "adl": true, "inner": [ { - "id": "0x7f1964646ba8", + "id": "0x7f0da6b67e50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 }, "end": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x7f1964646b88", + "id": "0x7f0da6b67e30", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 }, "end": { - "offset": 31612, + "offset": 32725, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964645e20", + "id": "0x7f0da6b66c08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31610, + "offset": 32723, "col": 9, "tokLen": 1 }, "end": { - "offset": 31610, + "offset": 32723, "col": 9, "tokLen": 1 } @@ -52111,11 +52796,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -52124,16 +52809,16 @@ } }, { - "id": "0x7f1964646b70", + "id": "0x7f0da6b67e18", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 }, "end": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 } @@ -52145,16 +52830,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964645e40", + "id": "0x7f0da6b66c28", "kind": "StringLiteral", "range": { "begin": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 }, "end": { - "offset": 31615, + "offset": 32728, "col": 14, "tokLen": 7 } @@ -52170,33 +52855,33 @@ ] }, { - "id": "0x7f1964646c60", + "id": "0x7f0da6b67f08", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31632, - "line": 1033, + "offset": 32745, + "line": 1076, "col": 9, "tokLen": 6 }, "end": { - "offset": 31645, + "offset": 32758, "col": 22, "tokLen": 5 } }, "inner": [ { - "id": "0x7f1964646c30", + "id": "0x7f0da6b67ed8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31639, + "offset": 32752, "col": 16, "tokLen": 4 }, "end": { - "offset": 31645, + "offset": 32758, "col": 22, "tokLen": 5 } @@ -52206,7 +52891,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bc70", + "id": "0x2cdc1cb0", "kind": "EnumConstantDecl", "name": "RIGHT", "type": { @@ -52219,35 +52904,35 @@ ] }, { - "id": "0x38d5c60", + "id": "0x7f0da6b69248", "kind": "IfStmt", "range": { "begin": { - "offset": 31656, - "line": 1034, + "offset": 32769, + "line": 1077, "col": 5, "tokLen": 2 }, "end": { - "offset": 31693, - "line": 1035, + "offset": 32806, + "line": 1078, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38d5bb0", + "id": "0x7f0da6b69198", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31660, - "line": 1034, + "offset": 32773, + "line": 1077, "col": 9, "tokLen": 1 }, "end": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 } @@ -52259,67 +52944,67 @@ "adl": true, "inner": [ { - "id": "0x38d5b98", + "id": "0x7f0da6b69180", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 }, "end": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d5b78", + "id": "0x7f0da6b69160", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 }, "end": { - "offset": 31662, + "offset": 32775, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x7f1964646c90", + "id": "0x7f0da6b67f38", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31660, + "offset": 32773, "col": 9, "tokLen": 1 }, "end": { - "offset": 31660, + "offset": 32773, "col": 9, "tokLen": 1 } @@ -52327,11 +53012,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -52340,16 +53025,16 @@ } }, { - "id": "0x38d5b60", + "id": "0x7f0da6b69148", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 }, "end": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 } @@ -52361,16 +53046,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x7f1964646cb0", + "id": "0x7f0da6b67f58", "kind": "StringLiteral", "range": { "begin": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 }, "end": { - "offset": 31665, + "offset": 32778, "col": 14, "tokLen": 5 } @@ -52386,33 +53071,33 @@ ] }, { - "id": "0x38d5c50", + "id": "0x7f0da6b69238", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31680, - "line": 1035, + "offset": 32793, + "line": 1078, "col": 9, "tokLen": 6 }, "end": { - "offset": 31693, + "offset": 32806, "col": 22, "tokLen": 3 } }, "inner": [ { - "id": "0x38d5c20", + "id": "0x7f0da6b69208", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31687, + "offset": 32800, "col": 16, "tokLen": 4 }, "end": { - "offset": 31693, + "offset": 32806, "col": 22, "tokLen": 3 } @@ -52422,7 +53107,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bcc0", + "id": "0x2cdc1d00", "kind": "EnumConstantDecl", "name": "TOP", "type": { @@ -52435,35 +53120,35 @@ ] }, { - "id": "0x38d6ad0", + "id": "0x7f0da6b6a578", "kind": "IfStmt", "range": { "begin": { - "offset": 31702, - "line": 1036, + "offset": 32815, + "line": 1079, "col": 5, "tokLen": 2 }, "end": { - "offset": 31742, - "line": 1037, + "offset": 32855, + "line": 1080, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d6a20", + "id": "0x7f0da6b6a4c8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31706, - "line": 1036, + "offset": 32819, + "line": 1079, "col": 9, "tokLen": 1 }, "end": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 } @@ -52475,67 +53160,67 @@ "adl": true, "inner": [ { - "id": "0x38d6a08", + "id": "0x7f0da6b6a4b0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 }, "end": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d69e8", + "id": "0x7f0da6b6a490", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 }, "end": { - "offset": 31708, + "offset": 32821, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d5c80", + "id": "0x7f0da6b69268", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31706, + "offset": 32819, "col": 9, "tokLen": 1 }, "end": { - "offset": 31706, + "offset": 32819, "col": 9, "tokLen": 1 } @@ -52543,11 +53228,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -52556,16 +53241,16 @@ } }, { - "id": "0x38d69d0", + "id": "0x7f0da6b6a478", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 }, "end": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 } @@ -52577,16 +53262,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d5ca0", + "id": "0x7f0da6b69288", "kind": "StringLiteral", "range": { "begin": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 }, "end": { - "offset": 31711, + "offset": 32824, "col": 14, "tokLen": 8 } @@ -52602,33 +53287,33 @@ ] }, { - "id": "0x38d6ac0", + "id": "0x7f0da6b6a568", "kind": "ReturnStmt", "range": { "begin": { - "offset": 31729, - "line": 1037, + "offset": 32842, + "line": 1080, "col": 9, "tokLen": 6 }, "end": { - "offset": 31742, + "offset": 32855, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38d6a90", + "id": "0x7f0da6b6a538", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31736, + "offset": 32849, "col": 16, "tokLen": 4 }, "end": { - "offset": 31742, + "offset": 32855, "col": 22, "tokLen": 6 } @@ -52638,7 +53323,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bd10", + "id": "0x2cdc1d50", "kind": "EnumConstantDecl", "name": "BOTTOM", "type": { @@ -52651,17 +53336,17 @@ ] }, { - "id": "0x38d70e0", + "id": "0x7f0da6b6ac08", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 31754, - "line": 1038, + "offset": 32867, + "line": 1081, "col": 5, "tokLen": 5 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } @@ -52673,16 +53358,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38d70c8", + "id": "0x7f0da6b6abf0", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 31754, + "offset": 32867, "col": 5, "tokLen": 5 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } @@ -52693,74 +53378,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38d7098", + "id": "0x7f0da6b6abc0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38d7080", + "id": "0x7f0da6b6aba8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38d7058", + "id": "0x7f0da6b6ab80", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -52769,27 +53457,28 @@ }, "inner": [ { - "id": "0x38d7038", + "id": "0x7f0da6b6ab60", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38d7030", + "temp": "0x7f0da6b6ab58", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -52798,22 +53487,23 @@ }, "inner": [ { - "id": "0x38d7000", + "id": "0x7f0da6b6ab28", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31760, + "offset": 32873, "col": 11, "tokLen": 12 }, "end": { - "offset": 31801, + "offset": 32914, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -52823,73 +53513,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38d6fe8", + "id": "0x7f0da6b6ab10", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38d6fd0", + "id": "0x7f0da6b6aaf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d6fb0", + "id": "0x7f0da6b6aad8", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38d6fa8", + "temp": "0x7f0da6b6aad0", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -52898,89 +53588,89 @@ }, "inner": [ { - "id": "0x38d6f70", + "id": "0x7f0da6b6aa98", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38d6f58", + "id": "0x7f0da6b6aa80", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 }, "end": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d6f38", + "id": "0x7f0da6b6aa60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 }, "end": { - "offset": 31798, + "offset": 32911, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38d6f20", + "id": "0x7f0da6b6aa48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 } @@ -52992,16 +53682,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d6b00", + "id": "0x7f0da6b6a5a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 }, "end": { - "offset": 31773, + "offset": 32886, "col": 24, "tokLen": 24 } @@ -53015,16 +53705,16 @@ ] }, { - "id": "0x38d6b30", + "id": "0x7f0da6b6a5d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 }, "end": { - "offset": 31800, + "offset": 32913, "col": 51, "tokLen": 1 } @@ -53032,11 +53722,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x7f1964644d28", + "id": "0x7f0da6b65620", "kind": "ParmVarDecl", "name": "s", "type": { @@ -53071,29 +53761,29 @@ ] }, { - "id": "0x38d72a8", + "id": "0x7f0da6b6add8", "kind": "FunctionDecl", "loc": { - "offset": 31844, + "offset": 32957, "file": "ToString.cpp", - "line": 1041, + "line": 1084, "col": 38, "tokLen": 8 }, "range": { "begin": { - "offset": 31807, + "offset": 32920, "col": 1, "tokLen": 8 }, "end": { - "offset": 32267, - "line": 1052, + "offset": 33380, + "line": 1095, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368cfd8", + "previousDecl": "0x2d379ef8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs18streamingInterfaceEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -53107,13 +53797,13 @@ }, "inner": [ { - "id": "0x2f5bf90", + "id": "0x2cdc1fd0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::streamingInterface" }, "decl": { - "id": "0x2f5bef0", + "id": "0x2cdc1f30", "kind": "EnumDecl", "name": "streamingInterface" } @@ -53121,22 +53811,22 @@ ] }, { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "loc": { - "offset": 31872, - "line": 1041, + "offset": 32985, + "line": 1084, "col": 66, "tokLen": 1 }, "range": { "begin": { - "offset": 31853, + "offset": 32966, "col": 47, "tokLen": 5 }, "end": { - "offset": 31872, + "offset": 32985, "col": 66, "tokLen": 1 } @@ -53148,55 +53838,55 @@ } }, { - "id": "0x38dacc0", + "id": "0x7f0da6b6f708", "kind": "CompoundStmt", "range": { "begin": { - "offset": 31875, + "offset": 32988, "col": 69, "tokLen": 1 }, "end": { - "offset": 32267, - "line": 1052, + "offset": 33380, + "line": 1095, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38d7560", + "id": "0x7f0da6b6b0c0", "kind": "DeclStmt", "range": { "begin": { - "offset": 31881, - "line": 1042, + "offset": 32994, + "line": 1085, "col": 5, "tokLen": 3 }, "end": { - "offset": 31899, + "offset": 33012, "col": 23, "tokLen": 1 } }, "inner": [ { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "loc": { - "offset": 31893, + "offset": 33006, "col": 17, "tokLen": 2 }, "range": { "begin": { - "offset": 31881, + "offset": 32994, "col": 5, "tokLen": 3 }, "end": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 } @@ -53206,21 +53896,21 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "init": "c", "inner": [ { - "id": "0x38d7530", + "id": "0x7f0da6b6b090", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 }, "end": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 } @@ -53228,26 +53918,26 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (const std::basic_string &)" + "qualType": "void (const basic_string &)" }, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38d7510", + "id": "0x7f0da6b6b070", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 }, "end": { - "offset": 31898, + "offset": 33011, "col": 22, "tokLen": 1 } @@ -53255,11 +53945,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "name": "s", "type": { @@ -53274,35 +53964,35 @@ ] }, { - "id": "0x38d7ab0", + "id": "0x7f0da6b6b610", "kind": "IfStmt", "range": { "begin": { - "offset": 31905, - "line": 1043, + "offset": 33018, + "line": 1086, "col": 5, "tokLen": 2 }, "end": { - "offset": 31972, - "line": 1044, + "offset": 33085, + "line": 1087, "col": 30, "tokLen": 1 } }, "inner": [ { - "id": "0x38d77c0", + "id": "0x7f0da6b6b320", "kind": "BinaryOperator", "range": { "begin": { - "offset": 31909, - "line": 1043, + "offset": 33022, + "line": 1086, "col": 9, "tokLen": 1 }, "end": { - "offset": 31937, + "offset": 33050, "col": 37, "tokLen": 4 } @@ -53314,38 +54004,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38d7650", + "id": "0x7f0da6b6b1b0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 }, "end": { - "offset": 31919, + "offset": 33032, "col": 19, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38d7620", + "id": "0x7f0da6b6b180", "kind": "MemberExpr", "range": { "begin": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 }, "end": { - "offset": 31911, + "offset": 33024, "col": 11, "tokLen": 4 } @@ -53356,19 +54046,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1fe0", + "referencedMemberDecl": "0x2c8caab0", "inner": [ { - "id": "0x38d7578", + "id": "0x7f0da6b6b0d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 }, "end": { - "offset": 31909, + "offset": 33022, "col": 9, "tokLen": 1 } @@ -53376,11 +54066,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "name": "s", "type": { @@ -53391,16 +54081,16 @@ ] }, { - "id": "0x38d7608", + "id": "0x7f0da6b6b168", "kind": "CharacterLiteral", "range": { "begin": { - "offset": 31916, + "offset": 33029, "col": 16, "tokLen": 3 }, "end": { - "offset": 31916, + "offset": 33029, "col": 16, "tokLen": 3 } @@ -53412,7 +54102,7 @@ "value": 44 }, { - "id": "0x38d7698", + "id": "0x7f0da6b6b1f8", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -53420,24 +54110,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38d77a8", + "id": "0x7f0da6b6b308", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31924, + "offset": 33037, "col": 24, "tokLen": 3 }, "end": { - "offset": 31937, + "offset": 33050, "col": 37, "tokLen": 4 } @@ -53445,22 +54135,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38d7778", + "id": "0x7f0da6b6b2d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31924, + "offset": 33037, "col": 24, "tokLen": 3 }, "end": { - "offset": 31937, + "offset": 33050, "col": 37, "tokLen": 4 } @@ -53468,17 +54158,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -53488,37 +54178,38 @@ ] }, { - "id": "0x38d7a08", + "id": "0x7f0da6b6b568", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 31951, - "line": 1044, + "offset": 33064, + "line": 1087, "col": 9, "tokLen": 2 }, "end": { - "offset": 31972, + "offset": 33085, "col": 30, "tokLen": 1 } }, "type": { - "qualType": "std::basic_string" + "desugaredQualType": "std::basic_string", + "qualType": "basic_string" }, "valueCategory": "lvalue", "inner": [ { - "id": "0x38d79d8", + "id": "0x7f0da6b6b538", "kind": "MemberExpr", "range": { "begin": { - "offset": 31951, + "offset": 33064, "col": 9, "tokLen": 2 }, "end": { - "offset": 31954, + "offset": 33067, "col": 12, "tokLen": 5 } @@ -53529,19 +54220,19 @@ "valueCategory": "prvalue", "name": "erase", "isArrow": false, - "referencedMemberDecl": "0x2c9ba48", + "referencedMemberDecl": "0x2c8c3390", "inner": [ { - "id": "0x38d77e0", + "id": "0x7f0da6b6b340", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31951, + "offset": 33064, "col": 9, "tokLen": 2 }, "end": { - "offset": 31951, + "offset": 33064, "col": 9, "tokLen": 2 } @@ -53549,55 +54240,55 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38d7940", + "id": "0x7f0da6b6b4a0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31971, + "offset": 33084, "col": 29, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38d7910", + "id": "0x7f0da6b6b470", "kind": "MemberExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31963, + "offset": 33076, "col": 21, "tokLen": 4 } @@ -53608,19 +54299,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1fe0", + "referencedMemberDecl": "0x2c8caab0", "inner": [ { - "id": "0x38d7970", + "id": "0x7f0da6b6b4d0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 } @@ -53632,16 +54323,16 @@ "castKind": "NoOp", "inner": [ { - "id": "0x38d7868", + "id": "0x7f0da6b6b3c8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 }, "end": { - "offset": 31960, + "offset": 33073, "col": 18, "tokLen": 2 } @@ -53649,17 +54340,17 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } @@ -53668,16 +54359,16 @@ ] }, { - "id": "0x38d78f8", + "id": "0x7f0da6b6b458", "kind": "CharacterLiteral", "range": { "begin": { - "offset": 31968, + "offset": 33081, "col": 26, "tokLen": 3 }, "end": { - "offset": 31968, + "offset": 33081, "col": 26, "tokLen": 3 } @@ -53689,7 +54380,7 @@ "value": 44 }, { - "id": "0x38d7988", + "id": "0x7f0da6b6b4e8", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -53697,15 +54388,15 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38d7a90", + "id": "0x7f0da6b6b5f0", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -53714,7 +54405,7 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } @@ -53723,35 +54414,35 @@ ] }, { - "id": "0x38d8950", + "id": "0x7f0da6b6c968", "kind": "IfStmt", "range": { "begin": { - "offset": 31979, - "line": 1045, + "offset": 33092, + "line": 1088, "col": 5, "tokLen": 2 }, "end": { - "offset": 32038, - "line": 1046, + "offset": 33151, + "line": 1089, "col": 42, "tokLen": 4 } }, "inner": [ { - "id": "0x38d8888", + "id": "0x7f0da6b6c8a0", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 31983, - "line": 1045, + "offset": 33096, + "line": 1088, "col": 9, "tokLen": 2 }, "end": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 } @@ -53763,89 +54454,89 @@ "adl": true, "inner": [ { - "id": "0x38d8870", + "id": "0x7f0da6b6c888", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 }, "end": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d8850", + "id": "0x7f0da6b6c868", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 }, "end": { - "offset": 31986, + "offset": 33099, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d8820", + "id": "0x7f0da6b6c838", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 }, "end": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d7ad0", + "id": "0x7f0da6b6b630", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 }, "end": { - "offset": 31983, + "offset": 33096, "col": 9, "tokLen": 2 } @@ -53853,33 +54544,33 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38d8838", + "id": "0x7f0da6b6c850", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 }, "end": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 } @@ -53891,16 +54582,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d7af0", + "id": "0x7f0da6b6b650", "kind": "StringLiteral", "range": { "begin": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 }, "end": { - "offset": 31989, + "offset": 33102, "col": 15, "tokLen": 6 } @@ -53916,33 +54607,33 @@ ] }, { - "id": "0x38d8940", + "id": "0x7f0da6b6c958", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32005, - "line": 1046, + "offset": 33118, + "line": 1089, "col": 9, "tokLen": 6 }, "end": { - "offset": 32038, + "offset": 33151, "col": 42, "tokLen": 4 } }, "inner": [ { - "id": "0x38d8910", + "id": "0x7f0da6b6c928", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32012, + "offset": 33125, "col": 16, "tokLen": 4 }, "end": { - "offset": 32038, + "offset": 33151, "col": 42, "tokLen": 4 } @@ -53952,7 +54643,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5bff0", + "id": "0x2cdc2030", "kind": "EnumConstantDecl", "name": "NONE", "type": { @@ -53965,35 +54656,35 @@ ] }, { - "id": "0x38d97f0", + "id": "0x7f0da6b6dcc8", "kind": "IfStmt", "range": { "begin": { - "offset": 32048, - "line": 1047, + "offset": 33161, + "line": 1090, "col": 5, "tokLen": 2 }, "end": { - "offset": 32106, - "line": 1048, + "offset": 33219, + "line": 1091, "col": 42, "tokLen": 16 } }, "inner": [ { - "id": "0x38d9728", + "id": "0x7f0da6b6dc00", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32052, - "line": 1047, + "offset": 33165, + "line": 1090, "col": 9, "tokLen": 2 }, "end": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 } @@ -54005,89 +54696,89 @@ "adl": true, "inner": [ { - "id": "0x38d9710", + "id": "0x7f0da6b6dbe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 }, "end": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38d96f0", + "id": "0x7f0da6b6dbc8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 }, "end": { - "offset": 32055, + "offset": 33168, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38d96c0", + "id": "0x7f0da6b6db98", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 }, "end": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d8970", + "id": "0x7f0da6b6c988", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 }, "end": { - "offset": 32052, + "offset": 33165, "col": 9, "tokLen": 2 } @@ -54095,33 +54786,33 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38d96d8", + "id": "0x7f0da6b6dbb0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 }, "end": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 } @@ -54133,16 +54824,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d8990", + "id": "0x7f0da6b6c9a8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 }, "end": { - "offset": 32058, + "offset": 33171, "col": 15, "tokLen": 5 } @@ -54158,33 +54849,33 @@ ] }, { - "id": "0x38d97e0", + "id": "0x7f0da6b6dcb8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32073, - "line": 1048, + "offset": 33186, + "line": 1091, "col": 9, "tokLen": 6 }, "end": { - "offset": 32106, + "offset": 33219, "col": 42, "tokLen": 16 } }, "inner": [ { - "id": "0x38d97b0", + "id": "0x7f0da6b6dc88", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32080, + "offset": 33193, "col": 16, "tokLen": 4 }, "end": { - "offset": 32106, + "offset": 33219, "col": 42, "tokLen": 16 } @@ -54194,7 +54885,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c0c0", + "id": "0x2cdc2100", "kind": "EnumConstantDecl", "name": "LOW_LATENCY_LINK", "type": { @@ -54207,35 +54898,35 @@ ] }, { - "id": "0x38da690", + "id": "0x7f0da6b6f028", "kind": "IfStmt", "range": { "begin": { - "offset": 32128, - "line": 1049, + "offset": 33241, + "line": 1092, "col": 5, "tokLen": 2 }, "end": { - "offset": 32188, - "line": 1050, + "offset": 33301, + "line": 1093, "col": 42, "tokLen": 13 } }, "inner": [ { - "id": "0x38da5c8", + "id": "0x7f0da6b6ef60", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32132, - "line": 1049, + "offset": 33245, + "line": 1092, "col": 9, "tokLen": 2 }, "end": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 } @@ -54247,89 +54938,89 @@ "adl": true, "inner": [ { - "id": "0x38da5b0", + "id": "0x7f0da6b6ef48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 }, "end": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38da590", + "id": "0x7f0da6b6ef28", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 }, "end": { - "offset": 32135, + "offset": 33248, "col": 12, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38da560", + "id": "0x7f0da6b6eef8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 }, "end": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38d9810", + "id": "0x7f0da6b6dce8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 }, "end": { - "offset": 32132, + "offset": 33245, "col": 9, "tokLen": 2 } @@ -54337,33 +55028,33 @@ "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d74a8", + "id": "0x7f0da6b6b008", "kind": "VarDecl", "name": "rs", "type": { "desugaredQualType": "std::basic_string", "qualType": "std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" } } } ] }, { - "id": "0x38da578", + "id": "0x7f0da6b6ef10", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 }, "end": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 } @@ -54375,16 +55066,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38d9830", + "id": "0x7f0da6b6dd08", "kind": "StringLiteral", "range": { "begin": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 }, "end": { - "offset": 32138, + "offset": 33251, "col": 15, "tokLen": 7 } @@ -54400,33 +55091,33 @@ ] }, { - "id": "0x38da680", + "id": "0x7f0da6b6f018", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32155, - "line": 1050, + "offset": 33268, + "line": 1093, "col": 9, "tokLen": 6 }, "end": { - "offset": 32188, + "offset": 33301, "col": 42, "tokLen": 13 } }, "inner": [ { - "id": "0x38da650", + "id": "0x7f0da6b6efe8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32162, + "offset": 33275, "col": 16, "tokLen": 4 }, "end": { - "offset": 32188, + "offset": 33301, "col": 42, "tokLen": 13 } @@ -54436,7 +55127,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c190", + "id": "0x2cdc21d0", "kind": "EnumConstantDecl", "name": "ETHERNET_10GB", "type": { @@ -54449,17 +55140,17 @@ ] }, { - "id": "0x38daca8", + "id": "0x7f0da6b6f6f0", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 32207, - "line": 1051, + "offset": 33320, + "line": 1094, "col": 5, "tokLen": 5 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } @@ -54471,16 +55162,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38dac90", + "id": "0x7f0da6b6f6d8", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 32207, + "offset": 33320, "col": 5, "tokLen": 5 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } @@ -54491,74 +55182,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38dac60", + "id": "0x7f0da6b6f6a8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38dac48", + "id": "0x7f0da6b6f690", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38dac20", + "id": "0x7f0da6b6f668", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -54567,27 +55261,28 @@ }, "inner": [ { - "id": "0x38dac00", + "id": "0x7f0da6b6f648", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38dabf8", + "temp": "0x7f0da6b6f640", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -54596,22 +55291,23 @@ }, "inner": [ { - "id": "0x38dabc8", + "id": "0x7f0da6b6f610", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32213, + "offset": 33326, "col": 11, "tokLen": 12 }, "end": { - "offset": 32264, + "offset": 33377, "col": 62, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -54621,73 +55317,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38dabb0", + "id": "0x7f0da6b6f5f8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38dab98", + "id": "0x7f0da6b6f5e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38dab78", + "id": "0x7f0da6b6f5c0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38dab70", + "temp": "0x7f0da6b6f5b8", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -54696,89 +55392,89 @@ }, "inner": [ { - "id": "0x38dab38", + "id": "0x7f0da6b6f580", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38dab20", + "id": "0x7f0da6b6f568", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 }, "end": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dab00", + "id": "0x7f0da6b6f548", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 }, "end": { - "offset": 32261, + "offset": 33374, "col": 59, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38daae8", + "id": "0x7f0da6b6f530", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 } @@ -54790,16 +55486,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38da6c0", + "id": "0x7f0da6b6f058", "kind": "StringLiteral", "range": { "begin": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 }, "end": { - "offset": 32226, + "offset": 33339, "col": 24, "tokLen": 34 } @@ -54813,16 +55509,16 @@ ] }, { - "id": "0x38da6f8", + "id": "0x7f0da6b6f090", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 }, "end": { - "offset": 32263, + "offset": 33376, "col": 61, "tokLen": 1 } @@ -54830,11 +55526,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38d71d8", + "id": "0x7f0da6b6ad00", "kind": "ParmVarDecl", "name": "s", "type": { @@ -54869,29 +55565,29 @@ ] }, { - "id": "0x38dae78", + "id": "0x7f0da6b6f8c8", "kind": "FunctionDecl", "loc": { - "offset": 32302, + "offset": 33415, "file": "ToString.cpp", - "line": 1054, + "line": 1097, "col": 33, "tokLen": 8 }, "range": { "begin": { - "offset": 32270, + "offset": 33383, "col": 1, "tokLen": 8 }, "end": { - "offset": 32492, - "line": 1060, + "offset": 33605, + "line": 1103, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368d4f8", + "previousDecl": "0x2d37a448", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs13vetoAlgorithmEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -54905,13 +55601,13 @@ }, "inner": [ { - "id": "0x2f5c350", + "id": "0x2cdc2390", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::vetoAlgorithm" }, "decl": { - "id": "0x2f5c2b0", + "id": "0x2cdc22f0", "kind": "EnumDecl", "name": "vetoAlgorithm" } @@ -54919,22 +55615,22 @@ ] }, { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "loc": { - "offset": 32330, - "line": 1054, + "offset": 33443, + "line": 1097, "col": 61, "tokLen": 1 }, "range": { "begin": { - "offset": 32311, + "offset": 33424, "col": 42, "tokLen": 5 }, "end": { - "offset": 32330, + "offset": 33443, "col": 61, "tokLen": 1 } @@ -54946,52 +55642,52 @@ } }, { - "id": "0x38dd318", + "id": "0x7f0da6b72790", "kind": "CompoundStmt", "range": { "begin": { - "offset": 32333, + "offset": 33446, "col": 64, "tokLen": 1 }, "end": { - "offset": 32492, - "line": 1060, + "offset": 33605, + "line": 1103, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38dbe80", + "id": "0x7f0da6b70db8", "kind": "IfStmt", "range": { "begin": { - "offset": 32339, - "line": 1055, + "offset": 33452, + "line": 1098, "col": 5, "tokLen": 2 }, "end": { - "offset": 32377, - "line": 1056, + "offset": 33490, + "line": 1099, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38dbdd0", + "id": "0x7f0da6b70d08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32343, - "line": 1055, + "offset": 33456, + "line": 1098, "col": 9, "tokLen": 1 }, "end": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 } @@ -55003,67 +55699,67 @@ "adl": true, "inner": [ { - "id": "0x38dbdb8", + "id": "0x7f0da6b70cf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 }, "end": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dbd98", + "id": "0x7f0da6b70cd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 }, "end": { - "offset": 32345, + "offset": 33458, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38db030", + "id": "0x7f0da6b6fab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32343, + "offset": 33456, "col": 9, "tokLen": 1 }, "end": { - "offset": 32343, + "offset": 33456, "col": 9, "tokLen": 1 } @@ -55071,11 +55767,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -55084,16 +55780,16 @@ } }, { - "id": "0x38dbd80", + "id": "0x7f0da6b70cb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 }, "end": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 } @@ -55105,16 +55801,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38db050", + "id": "0x7f0da6b6fad0", "kind": "StringLiteral", "range": { "begin": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 }, "end": { - "offset": 32348, + "offset": 33461, "col": 14, "tokLen": 6 } @@ -55130,33 +55826,33 @@ ] }, { - "id": "0x38dbe70", + "id": "0x7f0da6b70da8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32364, - "line": 1056, + "offset": 33477, + "line": 1099, "col": 9, "tokLen": 6 }, "end": { - "offset": 32377, + "offset": 33490, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38dbe40", + "id": "0x7f0da6b70d78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32371, + "offset": 33484, "col": 16, "tokLen": 4 }, "end": { - "offset": 32377, + "offset": 33490, "col": 22, "tokLen": 8 } @@ -55166,7 +55862,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c370", + "id": "0x2cdc23b0", "kind": "EnumConstantDecl", "name": "ALG_HITS", "type": { @@ -55179,35 +55875,35 @@ ] }, { - "id": "0x38dccf0", + "id": "0x7f0da6b720e8", "kind": "IfStmt", "range": { "begin": { - "offset": 32391, - "line": 1057, + "offset": 33504, + "line": 1100, "col": 5, "tokLen": 2 }, "end": { - "offset": 32428, - "line": 1058, + "offset": 33541, + "line": 1101, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38dcc40", + "id": "0x7f0da6b72038", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32395, - "line": 1057, + "offset": 33508, + "line": 1100, "col": 9, "tokLen": 1 }, "end": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 } @@ -55219,67 +55915,67 @@ "adl": true, "inner": [ { - "id": "0x38dcc28", + "id": "0x7f0da6b72020", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 }, "end": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dcc08", + "id": "0x7f0da6b72000", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 }, "end": { - "offset": 32397, + "offset": 33510, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38dbea0", + "id": "0x7f0da6b70dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32395, + "offset": 33508, "col": 9, "tokLen": 1 }, "end": { - "offset": 32395, + "offset": 33508, "col": 9, "tokLen": 1 } @@ -55287,11 +55983,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -55300,16 +55996,16 @@ } }, { - "id": "0x38dcbf0", + "id": "0x7f0da6b71fe8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 }, "end": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 } @@ -55321,16 +56017,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38dbec0", + "id": "0x7f0da6b70df8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 }, "end": { - "offset": 32400, + "offset": 33513, "col": 14, "tokLen": 5 } @@ -55346,33 +56042,33 @@ ] }, { - "id": "0x38dcce0", + "id": "0x7f0da6b720d8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32415, - "line": 1058, + "offset": 33528, + "line": 1101, "col": 9, "tokLen": 6 }, "end": { - "offset": 32428, + "offset": 33541, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38dccb0", + "id": "0x7f0da6b720a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32422, + "offset": 33535, "col": 16, "tokLen": 4 }, "end": { - "offset": 32428, + "offset": 33541, "col": 22, "tokLen": 7 } @@ -55382,7 +56078,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c3c0", + "id": "0x2cdc2400", "kind": "EnumConstantDecl", "name": "ALG_RAW", "type": { @@ -55395,17 +56091,17 @@ ] }, { - "id": "0x38dd300", + "id": "0x7f0da6b72778", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 32441, - "line": 1059, + "offset": 33554, + "line": 1102, "col": 5, "tokLen": 5 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } @@ -55417,16 +56113,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38dd2e8", + "id": "0x7f0da6b72760", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 32441, + "offset": 33554, "col": 5, "tokLen": 5 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } @@ -55437,74 +56133,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38dd2b8", + "id": "0x7f0da6b72730", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38dd2a0", + "id": "0x7f0da6b72718", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38dd278", + "id": "0x7f0da6b726f0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -55513,27 +56212,28 @@ }, "inner": [ { - "id": "0x38dd258", + "id": "0x7f0da6b726d0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38dd250", + "temp": "0x7f0da6b726c8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -55542,22 +56242,23 @@ }, "inner": [ { - "id": "0x38dd220", + "id": "0x7f0da6b72698", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32447, + "offset": 33560, "col": 11, "tokLen": 12 }, "end": { - "offset": 32489, + "offset": 33602, "col": 53, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -55567,73 +56268,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38dd208", + "id": "0x7f0da6b72680", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38dd1f0", + "id": "0x7f0da6b72668", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38dd1d0", + "id": "0x7f0da6b72648", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38dd1c8", + "temp": "0x7f0da6b72640", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -55642,89 +56343,89 @@ }, "inner": [ { - "id": "0x38dd190", + "id": "0x7f0da6b72608", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38dd178", + "id": "0x7f0da6b725f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 }, "end": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38dd158", + "id": "0x7f0da6b725d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 }, "end": { - "offset": 32486, + "offset": 33599, "col": 50, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38dd140", + "id": "0x7f0da6b725b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 } @@ -55736,16 +56437,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38dcd20", + "id": "0x7f0da6b72118", "kind": "StringLiteral", "range": { "begin": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 }, "end": { - "offset": 32460, + "offset": 33573, "col": 24, "tokLen": 25 } @@ -55759,16 +56460,16 @@ ] }, { - "id": "0x38dcd50", + "id": "0x7f0da6b72148", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 }, "end": { - "offset": 32488, + "offset": 33601, "col": 52, "tokLen": 1 } @@ -55776,11 +56477,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dada8", + "id": "0x7f0da6b6f7f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -55815,29 +56516,29 @@ ] }, { - "id": "0x38dd4b8", + "id": "0x7f0da6b72938", "kind": "FunctionDecl", "loc": { - "offset": 32522, + "offset": 33635, "file": "ToString.cpp", - "line": 1062, + "line": 1105, "col": 28, "tokLen": 8 }, "range": { "begin": { - "offset": 32495, + "offset": 33608, "col": 1, "tokLen": 8 }, "end": { - "offset": 32948, - "line": 1076, + "offset": 34061, + "line": 1119, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368da18", + "previousDecl": "0x2d37a998", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8gainModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -55851,13 +56552,13 @@ }, "inner": [ { - "id": "0x2f5c4b0", + "id": "0x2cdc24f0", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::gainMode" }, "decl": { - "id": "0x2f5c410", + "id": "0x2cdc2450", "kind": "EnumDecl", "name": "gainMode" } @@ -55865,22 +56566,22 @@ ] }, { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "loc": { - "offset": 32550, - "line": 1062, + "offset": 33663, + "line": 1105, "col": 56, "tokLen": 1 }, "range": { "begin": { - "offset": 32531, + "offset": 33644, "col": 37, "tokLen": 5 }, "end": { - "offset": 32550, + "offset": 33663, "col": 56, "tokLen": 1 } @@ -55892,52 +56593,52 @@ } }, { - "id": "0x38e3338", + "id": "0x7f0da6b7a4c0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 32553, + "offset": 33666, "col": 59, "tokLen": 1 }, "end": { - "offset": 32948, - "line": 1076, + "offset": 34061, + "line": 1119, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38de4c0", + "id": "0x7f0da6b73e28", "kind": "IfStmt", "range": { "begin": { - "offset": 32559, - "line": 1063, + "offset": 33672, + "line": 1106, "col": 5, "tokLen": 2 }, "end": { - "offset": 32600, - "line": 1064, + "offset": 33713, + "line": 1107, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38de410", + "id": "0x7f0da6b73d78", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32563, - "line": 1063, + "offset": 33676, + "line": 1106, "col": 9, "tokLen": 1 }, "end": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 } @@ -55949,67 +56650,67 @@ "adl": true, "inner": [ { - "id": "0x38de3f8", + "id": "0x7f0da6b73d60", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 }, "end": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38de3d8", + "id": "0x7f0da6b73d40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 }, "end": { - "offset": 32565, + "offset": 33678, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38dd670", + "id": "0x7f0da6b72b20", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32563, + "offset": 33676, "col": 9, "tokLen": 1 }, "end": { - "offset": 32563, + "offset": 33676, "col": 9, "tokLen": 1 } @@ -56017,11 +56718,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56030,16 +56731,16 @@ } }, { - "id": "0x38de3c0", + "id": "0x7f0da6b73d28", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 }, "end": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 } @@ -56051,16 +56752,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38dd690", + "id": "0x7f0da6b72b40", "kind": "StringLiteral", "range": { "begin": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 }, "end": { - "offset": 32568, + "offset": 33681, "col": 14, "tokLen": 9 } @@ -56076,33 +56777,33 @@ ] }, { - "id": "0x38de4b0", + "id": "0x7f0da6b73e18", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32587, - "line": 1064, + "offset": 33700, + "line": 1107, "col": 9, "tokLen": 6 }, "end": { - "offset": 32600, + "offset": 33713, "col": 22, "tokLen": 7 } }, "inner": [ { - "id": "0x38de480", + "id": "0x7f0da6b73de8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32594, + "offset": 33707, "col": 16, "tokLen": 4 }, "end": { - "offset": 32600, + "offset": 33713, "col": 22, "tokLen": 7 } @@ -56112,7 +56813,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c4d0", + "id": "0x2cdc2510", "kind": "EnumConstantDecl", "name": "DYNAMIC", "type": { @@ -56125,35 +56826,35 @@ ] }, { - "id": "0x38df340", + "id": "0x7f0da6b75158", "kind": "IfStmt", "range": { "begin": { - "offset": 32613, - "line": 1065, + "offset": 33726, + "line": 1108, "col": 5, "tokLen": 2 }, "end": { - "offset": 32660, - "line": 1066, + "offset": 33773, + "line": 1109, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38df290", + "id": "0x7f0da6b750a8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32617, - "line": 1065, + "offset": 33730, + "line": 1108, "col": 9, "tokLen": 1 }, "end": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 } @@ -56165,67 +56866,67 @@ "adl": true, "inner": [ { - "id": "0x38df278", + "id": "0x7f0da6b75090", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 }, "end": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38df258", + "id": "0x7f0da6b75070", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 }, "end": { - "offset": 32619, + "offset": 33732, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38de4e0", + "id": "0x7f0da6b73e48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32617, + "offset": 33730, "col": 9, "tokLen": 1 }, "end": { - "offset": 32617, + "offset": 33730, "col": 9, "tokLen": 1 } @@ -56233,11 +56934,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56246,16 +56947,16 @@ } }, { - "id": "0x38df240", + "id": "0x7f0da6b75058", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 }, "end": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 } @@ -56267,16 +56968,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38de500", + "id": "0x7f0da6b73e68", "kind": "StringLiteral", "range": { "begin": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 }, "end": { - "offset": 32622, + "offset": 33735, "col": 14, "tokLen": 15 } @@ -56292,33 +56993,33 @@ ] }, { - "id": "0x38df330", + "id": "0x7f0da6b75148", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32647, - "line": 1066, + "offset": 33760, + "line": 1109, "col": 9, "tokLen": 6 }, "end": { - "offset": 32660, + "offset": 33773, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38df300", + "id": "0x7f0da6b75118", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32654, + "offset": 33767, "col": 16, "tokLen": 4 }, "end": { - "offset": 32660, + "offset": 33773, "col": 22, "tokLen": 15 } @@ -56328,7 +57029,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c520", + "id": "0x2cdc2560", "kind": "EnumConstantDecl", "name": "FORCE_SWITCH_G1", "type": { @@ -56341,35 +57042,35 @@ ] }, { - "id": "0x38e01c0", + "id": "0x7f0da6b76488", "kind": "IfStmt", "range": { "begin": { - "offset": 32681, - "line": 1067, + "offset": 33794, + "line": 1110, "col": 5, "tokLen": 2 }, "end": { - "offset": 32728, - "line": 1068, + "offset": 33841, + "line": 1111, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38e0110", + "id": "0x7f0da6b763d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32685, - "line": 1067, + "offset": 33798, + "line": 1110, "col": 9, "tokLen": 1 }, "end": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 } @@ -56381,67 +57082,67 @@ "adl": true, "inner": [ { - "id": "0x38e00f8", + "id": "0x7f0da6b763c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 }, "end": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e00d8", + "id": "0x7f0da6b763a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 }, "end": { - "offset": 32687, + "offset": 33800, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38df360", + "id": "0x7f0da6b75178", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32685, + "offset": 33798, "col": 9, "tokLen": 1 }, "end": { - "offset": 32685, + "offset": 33798, "col": 9, "tokLen": 1 } @@ -56449,11 +57150,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56462,16 +57163,16 @@ } }, { - "id": "0x38e00c0", + "id": "0x7f0da6b76388", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 }, "end": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 } @@ -56483,16 +57184,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38df380", + "id": "0x7f0da6b75198", "kind": "StringLiteral", "range": { "begin": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 }, "end": { - "offset": 32690, + "offset": 33803, "col": 14, "tokLen": 15 } @@ -56508,33 +57209,33 @@ ] }, { - "id": "0x38e01b0", + "id": "0x7f0da6b76478", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32715, - "line": 1068, + "offset": 33828, + "line": 1111, "col": 9, "tokLen": 6 }, "end": { - "offset": 32728, + "offset": 33841, "col": 22, "tokLen": 15 } }, "inner": [ { - "id": "0x38e0180", + "id": "0x7f0da6b76448", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32722, + "offset": 33835, "col": 16, "tokLen": 4 }, "end": { - "offset": 32728, + "offset": 33841, "col": 22, "tokLen": 15 } @@ -56544,7 +57245,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c570", + "id": "0x2cdc25b0", "kind": "EnumConstantDecl", "name": "FORCE_SWITCH_G2", "type": { @@ -56557,35 +57258,35 @@ ] }, { - "id": "0x38e1030", + "id": "0x7f0da6b777b8", "kind": "IfStmt", "range": { "begin": { - "offset": 32749, - "line": 1069, + "offset": 33862, + "line": 1112, "col": 5, "tokLen": 2 }, "end": { - "offset": 32788, - "line": 1070, + "offset": 33901, + "line": 1113, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e0f80", + "id": "0x7f0da6b77708", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32753, - "line": 1069, + "offset": 33866, + "line": 1112, "col": 9, "tokLen": 1 }, "end": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 } @@ -56597,67 +57298,67 @@ "adl": true, "inner": [ { - "id": "0x38e0f68", + "id": "0x7f0da6b776f0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 }, "end": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e0f48", + "id": "0x7f0da6b776d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 }, "end": { - "offset": 32755, + "offset": 33868, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e01e0", + "id": "0x7f0da6b764a8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32753, + "offset": 33866, "col": 9, "tokLen": 1 }, "end": { - "offset": 32753, + "offset": 33866, "col": 9, "tokLen": 1 } @@ -56665,11 +57366,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56678,16 +57379,16 @@ } }, { - "id": "0x38e0f30", + "id": "0x7f0da6b776b8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 }, "end": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 } @@ -56699,16 +57400,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e0200", + "id": "0x7f0da6b764c8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 }, "end": { - "offset": 32758, + "offset": 33871, "col": 14, "tokLen": 7 } @@ -56724,33 +57425,33 @@ ] }, { - "id": "0x38e1020", + "id": "0x7f0da6b777a8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32775, - "line": 1070, + "offset": 33888, + "line": 1113, "col": 9, "tokLen": 6 }, "end": { - "offset": 32788, + "offset": 33901, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e0ff0", + "id": "0x7f0da6b77778", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32782, + "offset": 33895, "col": 16, "tokLen": 4 }, "end": { - "offset": 32788, + "offset": 33901, "col": 22, "tokLen": 6 } @@ -56760,7 +57461,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c5c0", + "id": "0x2cdc2600", "kind": "EnumConstantDecl", "name": "FIX_G1", "type": { @@ -56773,35 +57474,35 @@ ] }, { - "id": "0x38e1ea0", + "id": "0x7f0da6b78ae8", "kind": "IfStmt", "range": { "begin": { - "offset": 32800, - "line": 1071, + "offset": 33913, + "line": 1114, "col": 5, "tokLen": 2 }, "end": { - "offset": 32839, - "line": 1072, + "offset": 33952, + "line": 1115, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e1df0", + "id": "0x7f0da6b78a38", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32804, - "line": 1071, + "offset": 33917, + "line": 1114, "col": 9, "tokLen": 1 }, "end": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 } @@ -56813,67 +57514,67 @@ "adl": true, "inner": [ { - "id": "0x38e1dd8", + "id": "0x7f0da6b78a20", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 }, "end": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e1db8", + "id": "0x7f0da6b78a00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 }, "end": { - "offset": 32806, + "offset": 33919, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e1050", + "id": "0x7f0da6b777d8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32804, + "offset": 33917, "col": 9, "tokLen": 1 }, "end": { - "offset": 32804, + "offset": 33917, "col": 9, "tokLen": 1 } @@ -56881,11 +57582,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -56894,16 +57595,16 @@ } }, { - "id": "0x38e1da0", + "id": "0x7f0da6b789e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 }, "end": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 } @@ -56915,16 +57616,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e1070", + "id": "0x7f0da6b777f8", "kind": "StringLiteral", "range": { "begin": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 }, "end": { - "offset": 32809, + "offset": 33922, "col": 14, "tokLen": 7 } @@ -56940,33 +57641,33 @@ ] }, { - "id": "0x38e1e90", + "id": "0x7f0da6b78ad8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32826, - "line": 1072, + "offset": 33939, + "line": 1115, "col": 9, "tokLen": 6 }, "end": { - "offset": 32839, + "offset": 33952, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e1e60", + "id": "0x7f0da6b78aa8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32833, + "offset": 33946, "col": 16, "tokLen": 4 }, "end": { - "offset": 32839, + "offset": 33952, "col": 22, "tokLen": 6 } @@ -56976,7 +57677,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c610", + "id": "0x2cdc2650", "kind": "EnumConstantDecl", "name": "FIX_G2", "type": { @@ -56989,35 +57690,35 @@ ] }, { - "id": "0x38e2d10", + "id": "0x7f0da6b79e18", "kind": "IfStmt", "range": { "begin": { - "offset": 32851, - "line": 1073, + "offset": 33964, + "line": 1116, "col": 5, "tokLen": 2 }, "end": { - "offset": 32890, - "line": 1074, + "offset": 34003, + "line": 1117, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e2c60", + "id": "0x7f0da6b79d68", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32855, - "line": 1073, + "offset": 33968, + "line": 1116, "col": 9, "tokLen": 1 }, "end": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 } @@ -57029,67 +57730,67 @@ "adl": true, "inner": [ { - "id": "0x38e2c48", + "id": "0x7f0da6b79d50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 }, "end": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e2c28", + "id": "0x7f0da6b79d30", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 }, "end": { - "offset": 32857, + "offset": 33970, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e1ec0", + "id": "0x7f0da6b78b08", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32855, + "offset": 33968, "col": 9, "tokLen": 1 }, "end": { - "offset": 32855, + "offset": 33968, "col": 9, "tokLen": 1 } @@ -57097,11 +57798,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -57110,16 +57811,16 @@ } }, { - "id": "0x38e2c10", + "id": "0x7f0da6b79d18", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 }, "end": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 } @@ -57131,16 +57832,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e1ee0", + "id": "0x7f0da6b78b28", "kind": "StringLiteral", "range": { "begin": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 }, "end": { - "offset": 32860, + "offset": 33973, "col": 14, "tokLen": 7 } @@ -57156,33 +57857,33 @@ ] }, { - "id": "0x38e2d00", + "id": "0x7f0da6b79e08", "kind": "ReturnStmt", "range": { "begin": { - "offset": 32877, - "line": 1074, + "offset": 33990, + "line": 1117, "col": 9, "tokLen": 6 }, "end": { - "offset": 32890, + "offset": 34003, "col": 22, "tokLen": 6 } }, "inner": [ { - "id": "0x38e2cd0", + "id": "0x7f0da6b79dd8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32884, + "offset": 33997, "col": 16, "tokLen": 4 }, "end": { - "offset": 32890, + "offset": 34003, "col": 22, "tokLen": 6 } @@ -57192,7 +57893,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c660", + "id": "0x2cdc26a0", "kind": "EnumConstantDecl", "name": "FIX_G0", "type": { @@ -57205,17 +57906,17 @@ ] }, { - "id": "0x38e3320", + "id": "0x7f0da6b7a4a8", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 32902, - "line": 1075, + "offset": 34015, + "line": 1118, "col": 5, "tokLen": 5 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } @@ -57227,16 +57928,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38e3308", + "id": "0x7f0da6b7a490", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 32902, + "offset": 34015, "col": 5, "tokLen": 5 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } @@ -57247,74 +57948,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e32d8", + "id": "0x7f0da6b7a460", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38e32c0", + "id": "0x7f0da6b7a448", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38e3298", + "id": "0x7f0da6b7a420", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -57323,27 +58027,28 @@ }, "inner": [ { - "id": "0x38e3278", + "id": "0x7f0da6b7a400", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38e3270", + "temp": "0x7f0da6b7a3f8", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -57352,22 +58057,23 @@ }, "inner": [ { - "id": "0x38e3240", + "id": "0x7f0da6b7a3c8", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 32908, + "offset": 34021, "col": 11, "tokLen": 12 }, "end": { - "offset": 32945, + "offset": 34058, "col": 48, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -57377,73 +58083,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38e3228", + "id": "0x7f0da6b7a3b0", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38e3210", + "id": "0x7f0da6b7a398", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38e31f0", + "id": "0x7f0da6b7a378", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38e31e8", + "temp": "0x7f0da6b7a370", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -57452,89 +58158,89 @@ }, "inner": [ { - "id": "0x38e31b0", + "id": "0x7f0da6b7a338", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38e3198", + "id": "0x7f0da6b7a320", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 }, "end": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e3178", + "id": "0x7f0da6b7a300", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 }, "end": { - "offset": 32942, + "offset": 34055, "col": 45, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38e3160", + "id": "0x7f0da6b7a2e8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 } @@ -57546,16 +58252,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e2d40", + "id": "0x7f0da6b79e48", "kind": "StringLiteral", "range": { "begin": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 }, "end": { - "offset": 32921, + "offset": 34034, "col": 24, "tokLen": 20 } @@ -57569,16 +58275,16 @@ ] }, { - "id": "0x38e2d70", + "id": "0x7f0da6b79e78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 }, "end": { - "offset": 32944, + "offset": 34057, "col": 47, "tokLen": 1 } @@ -57586,11 +58292,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38dd3e8", + "id": "0x7f0da6b72860", "kind": "ParmVarDecl", "name": "s", "type": { @@ -57625,29 +58331,29 @@ ] }, { - "id": "0x38e34f8", + "id": "0x7f0da6b7a688", "kind": "FunctionDecl", "loc": { - "offset": 32978, + "offset": 34091, "file": "ToString.cpp", - "line": 1078, + "line": 1121, "col": 28, "tokLen": 8 }, "range": { "begin": { - "offset": 32951, + "offset": 34064, "col": 1, "tokLen": 8 }, "end": { - "offset": 33167, - "line": 1084, + "offset": 34280, + "line": 1127, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368df38", + "previousDecl": "0x2d37aee8", "name": "StringTo", "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs8polarityEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -57661,13 +58367,13 @@ }, "inner": [ { - "id": "0x2f5c750", + "id": "0x2cdc2790", "kind": "EnumType", "type": { "qualType": "slsDetectorDefs::polarity" }, "decl": { - "id": "0x2f5c6b0", + "id": "0x2cdc26f0", "kind": "EnumDecl", "name": "polarity" } @@ -57675,22 +58381,22 @@ ] }, { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "loc": { - "offset": 33006, - "line": 1078, + "offset": 34119, + "line": 1121, "col": 56, "tokLen": 1 }, "range": { "begin": { - "offset": 32987, + "offset": 34100, "col": 37, "tokLen": 5 }, "end": { - "offset": 33006, + "offset": 34119, "col": 56, "tokLen": 1 } @@ -57702,52 +58408,52 @@ } }, { - "id": "0x38e5998", + "id": "0x7f0da6b3c560", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33009, + "offset": 34122, "col": 59, "tokLen": 1 }, "end": { - "offset": 33167, - "line": 1084, + "offset": 34280, + "line": 1127, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e4500", + "id": "0x7f0da6b3ab88", "kind": "IfStmt", "range": { "begin": { - "offset": 33015, - "line": 1079, + "offset": 34128, + "line": 1122, "col": 5, "tokLen": 2 }, "end": { - "offset": 33052, - "line": 1080, + "offset": 34165, + "line": 1123, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e4450", + "id": "0x7f0da6b3aad8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 33019, - "line": 1079, + "offset": 34132, + "line": 1122, "col": 9, "tokLen": 1 }, "end": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 } @@ -57759,67 +58465,67 @@ "adl": true, "inner": [ { - "id": "0x38e4438", + "id": "0x7f0da6b3aac0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 }, "end": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e4418", + "id": "0x7f0da6b3aaa0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 }, "end": { - "offset": 33021, + "offset": 34134, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e36b0", + "id": "0x7f0da6b7a870", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33019, + "offset": 34132, "col": 9, "tokLen": 1 }, "end": { - "offset": 33019, + "offset": 34132, "col": 9, "tokLen": 1 } @@ -57827,11 +58533,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -57840,16 +58546,16 @@ } }, { - "id": "0x38e4400", + "id": "0x7f0da6b3aa88", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 }, "end": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 } @@ -57861,16 +58567,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e36d0", + "id": "0x7f0da6b7a890", "kind": "StringLiteral", "range": { "begin": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 }, "end": { - "offset": 33024, + "offset": 34137, "col": 14, "tokLen": 5 } @@ -57886,33 +58592,33 @@ ] }, { - "id": "0x38e44f0", + "id": "0x7f0da6b3ab78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33039, - "line": 1080, + "offset": 34152, + "line": 1123, "col": 9, "tokLen": 6 }, "end": { - "offset": 33052, + "offset": 34165, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e44c0", + "id": "0x7f0da6b3ab48", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33046, + "offset": 34159, "col": 16, "tokLen": 4 }, "end": { - "offset": 33052, + "offset": 34165, "col": 22, "tokLen": 8 } @@ -57922,7 +58628,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c770", + "id": "0x2cdc27b0", "kind": "EnumConstantDecl", "name": "POSITIVE", "type": { @@ -57935,35 +58641,35 @@ ] }, { - "id": "0x38e5370", + "id": "0x7f0da6b3beb8", "kind": "IfStmt", "range": { "begin": { - "offset": 33066, - "line": 1081, + "offset": 34179, + "line": 1124, "col": 5, "tokLen": 2 }, "end": { - "offset": 33103, - "line": 1082, + "offset": 34216, + "line": 1125, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e52c0", + "id": "0x7f0da6b3be08", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 33070, - "line": 1081, + "offset": 34183, + "line": 1124, "col": 9, "tokLen": 1 }, "end": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 } @@ -57975,67 +58681,67 @@ "adl": true, "inner": [ { - "id": "0x38e52a8", + "id": "0x7f0da6b3bdf0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 }, "end": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (*)(const basic_string, std::allocator> &, const char *)" + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e5288", + "id": "0x7f0da6b3bdd0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 }, "end": { - "offset": 33072, + "offset": 34185, "col": 11, "tokLen": 2 } }, "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x3605608", + "id": "0x2d2f20c8", "kind": "FunctionDecl", "name": "operator==", "type": { - "qualType": "bool (const basic_string, std::allocator> &, const char *)" + "qualType": "bool (const basic_string, allocator> &, const char *)" } } } ] }, { - "id": "0x38e4520", + "id": "0x7f0da6b3aba8", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33070, + "offset": 34183, "col": 9, "tokLen": 1 }, "end": { - "offset": 33070, + "offset": 34183, "col": 9, "tokLen": 1 } @@ -58043,11 +58749,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -58056,16 +58762,16 @@ } }, { - "id": "0x38e5270", + "id": "0x7f0da6b3bdb8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 }, "end": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 } @@ -58077,16 +58783,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e4540", + "id": "0x7f0da6b3abc8", "kind": "StringLiteral", "range": { "begin": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 }, "end": { - "offset": 33075, + "offset": 34188, "col": 14, "tokLen": 5 } @@ -58102,33 +58808,33 @@ ] }, { - "id": "0x38e5360", + "id": "0x7f0da6b3bea8", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33090, - "line": 1082, + "offset": 34203, + "line": 1125, "col": 9, "tokLen": 6 }, "end": { - "offset": 33103, + "offset": 34216, "col": 22, "tokLen": 8 } }, "inner": [ { - "id": "0x38e5330", + "id": "0x7f0da6b3be78", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33097, + "offset": 34210, "col": 16, "tokLen": 4 }, "end": { - "offset": 33103, + "offset": 34216, "col": 22, "tokLen": 8 } @@ -58138,7 +58844,7 @@ }, "valueCategory": "prvalue", "referencedDecl": { - "id": "0x2f5c7c0", + "id": "0x2cdc2800", "kind": "EnumConstantDecl", "name": "NEGATIVE", "type": { @@ -58151,17 +58857,17 @@ ] }, { - "id": "0x38e5980", + "id": "0x7f0da6b3c548", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 33117, - "line": 1083, + "offset": 34230, + "line": 1126, "col": 5, "tokLen": 5 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } @@ -58173,16 +58879,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38e5968", + "id": "0x7f0da6b3c530", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 33117, + "offset": 34230, "col": 5, "tokLen": 5 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } @@ -58193,74 +58899,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e5938", + "id": "0x7f0da6b3c500", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38e5920", + "id": "0x7f0da6b3c4e8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38e58f8", + "id": "0x7f0da6b3c4c0", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da8350", + "id": "0x2c9688e8", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -58269,27 +58978,28 @@ }, "inner": [ { - "id": "0x38e58d8", + "id": "0x7f0da6b3c4a0", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38e58d0", + "temp": "0x7f0da6b3c498", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -58298,22 +59008,23 @@ }, "inner": [ { - "id": "0x38e58a0", + "id": "0x7f0da6b3c468", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33123, + "offset": 34236, "col": 11, "tokLen": 12 }, "end": { - "offset": 33164, + "offset": 34277, "col": 52, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -58323,73 +59034,73 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38e5888", + "id": "0x7f0da6b3c450", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "lvalue", "storageDuration": "full expression", "boundToLValueRef": true, "inner": [ { - "id": "0x38e5870", + "id": "0x7f0da6b3c438", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "const std::basic_string", - "qualType": "const basic_string, std::allocator>" + "qualType": "const basic_string, allocator>" }, "valueCategory": "prvalue", "castKind": "NoOp", "inner": [ { - "id": "0x38e5850", + "id": "0x7f0da6b3c418", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", - "temp": "0x38e5848", + "temp": "0x7f0da6b3c410", "dtor": { - "id": "0x2c92d00", + "id": "0x2c8ba378", "kind": "CXXDestructorDecl", "name": "~basic_string", "type": { @@ -58398,89 +59109,89 @@ }, "inner": [ { - "id": "0x38e5810", + "id": "0x7f0da6b3c3d8", "kind": "CXXOperatorCallExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } }, "type": { "desugaredQualType": "std::basic_string", - "qualType": "basic_string, std::allocator>" + "qualType": "basic_string, allocator>" }, "valueCategory": "prvalue", "adl": true, "inner": [ { - "id": "0x38e57f8", + "id": "0x7f0da6b3c3c0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 }, "end": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (*)(const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e57d8", + "id": "0x7f0da6b3c3a0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 }, "end": { - "offset": 33161, + "offset": 34274, "col": 49, "tokLen": 1 } }, "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2faab58", + "id": "0x2ce13b68", "kind": "FunctionDecl", "name": "operator+", "type": { - "qualType": "basic_string, std::allocator> (const char *, const basic_string, std::allocator> &)" + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" } } } ] }, { - "id": "0x38e57c0", + "id": "0x7f0da6b3c388", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 } @@ -58492,16 +59203,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e53a0", + "id": "0x7f0da6b3bee8", "kind": "StringLiteral", "range": { "begin": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 }, "end": { - "offset": 33136, + "offset": 34249, "col": 24, "tokLen": 24 } @@ -58515,16 +59226,16 @@ ] }, { - "id": "0x38e53d0", + "id": "0x7f0da6b3bf18", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 }, "end": { - "offset": 33163, + "offset": 34276, "col": 51, "tokLen": 1 } @@ -58532,11 +59243,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e3428", + "id": "0x7f0da6b7a5b0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -58571,29 +59282,5561 @@ ] }, { - "id": "0x38e5ae8", + "id": "0x7f0da6b3c708", "kind": "FunctionDecl", "loc": { - "offset": 33191, + "offset": 34319, "file": "ToString.cpp", - "line": 1086, + "line": 1129, + "col": 37, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 34283, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 34518, + "line": 1135, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37b438", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs17timingInfoDecoderEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::timingInfoDecoder (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "inner": [ + { + "id": "0x2cdc28f0", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "decl": { + "id": "0x2cdc2850", + "kind": "EnumDecl", + "name": "timingInfoDecoder" + } + } + ] + }, + { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "loc": { + "offset": 34347, + "line": 1129, + "col": 65, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 34328, + "col": 46, + "tokLen": 5 + }, + "end": { + "offset": 34347, + "col": 65, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b3f608", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 34350, + "col": 68, + "tokLen": 1 + }, + "end": { + "offset": 34518, + "line": 1135, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b3dbf8", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34356, + "line": 1130, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34398, + "line": 1131, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b3db48", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34360, + "line": 1130, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34365, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b3db30", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34362, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34362, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3db10", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34362, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34362, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3c8f0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34360, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34360, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b3daf8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34365, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34365, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3c910", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34365, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34365, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char[9]" + }, + "valueCategory": "lvalue", + "value": "\"swissfel\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b3dbe8", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34385, + "line": 1131, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34398, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b3dbb8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34392, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34398, + "col": 22, + "tokLen": 8 + } + }, + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2910", + "kind": "EnumConstantDecl", + "name": "SWISSFEL", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b3ef28", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34412, + "line": 1132, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34451, + "line": 1133, + "col": 22, + "tokLen": 5 + } + }, + "inner": [ + { + "id": "0x7f0da6b3ee78", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34416, + "line": 1132, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34421, + "col": 14, + "tokLen": 7 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b3ee60", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34418, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34418, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3ee40", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34418, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34418, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3dc18", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34416, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34416, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b3ee28", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34421, + "col": 14, + "tokLen": 7 + }, + "end": { + "offset": 34421, + "col": 14, + "tokLen": 7 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3dc38", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34421, + "col": 14, + "tokLen": 7 + }, + "end": { + "offset": 34421, + "col": 14, + "tokLen": 7 + } + }, + "type": { + "qualType": "const char[6]" + }, + "valueCategory": "lvalue", + "value": "\"shine\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b3ef18", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34438, + "line": 1133, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34451, + "col": 22, + "tokLen": 5 + } + }, + "inner": [ + { + "id": "0x7f0da6b3eee8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34445, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34451, + "col": 22, + "tokLen": 5 + } + }, + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2960", + "kind": "EnumConstantDecl", + "name": "SHINE", + "type": { + "qualType": "slsDetectorDefs::timingInfoDecoder" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b3f5f0", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 34462, + "line": 1134, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b3f5d8", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 34462, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b3f5a8", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b3f590", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b3f568", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b3f548", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b3f540", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b3f510", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34468, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34515, + "col": 58, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b3f4f8", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b3f4e0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b3f4c0", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b3f4b8", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b3f480", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b3f468", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34512, + "col": 55, + "tokLen": 1 + }, + "end": { + "offset": 34512, + "col": 55, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3f448", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34512, + "col": 55, + "tokLen": 1 + }, + "end": { + "offset": 34512, + "col": 55, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3f430", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34481, + "col": 24, + "tokLen": 30 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3ef58", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34481, + "col": 24, + "tokLen": 30 + }, + "end": { + "offset": 34481, + "col": 24, + "tokLen": 30 + } + }, + "type": { + "qualType": "const char[29]" + }, + "valueCategory": "lvalue", + "value": "\"Unknown Timing Info Decoder \"" + } + ] + }, + { + "id": "0x7f0da6b3ef90", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34514, + "col": 57, + "tokLen": 1 + }, + "end": { + "offset": 34514, + "col": 57, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3c630", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +}, +{ + "id": "0x7f0da6b3f7a8", + "kind": "FunctionDecl", + "loc": { + "offset": 34554, + "file": "ToString.cpp", + "line": 1137, + "col": 34, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 34521, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 34747, + "line": 1143, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37b988", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIN15slsDetectorDefs14collectionModeEEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "defs::collectionMode (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "inner": [ + { + "id": "0x2cdc2a50", + "kind": "EnumType", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "decl": { + "id": "0x2cdc29b0", + "kind": "EnumDecl", + "name": "collectionMode" + } + } + ] + }, + { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "loc": { + "offset": 34582, + "line": 1137, + "col": 62, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 34563, + "col": 43, + "tokLen": 5 + }, + "end": { + "offset": 34582, + "col": 62, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b426a8", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 34585, + "col": 65, + "tokLen": 1 + }, + "end": { + "offset": 34747, + "line": 1143, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b40c98", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34591, + "line": 1138, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34629, + "line": 1139, + "col": 22, + "tokLen": 4 + } + }, + "inner": [ + { + "id": "0x7f0da6b40be8", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34595, + "line": 1138, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34600, + "col": 14, + "tokLen": 6 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b40bd0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34597, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34597, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b40bb0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34597, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34597, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b3f990", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34595, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34595, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b40b98", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34600, + "col": 14, + "tokLen": 6 + }, + "end": { + "offset": 34600, + "col": 14, + "tokLen": 6 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b3f9b0", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34600, + "col": 14, + "tokLen": 6 + }, + "end": { + "offset": 34600, + "col": 14, + "tokLen": 6 + } + }, + "type": { + "qualType": "const char[5]" + }, + "valueCategory": "lvalue", + "value": "\"hole\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b40c88", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34616, + "line": 1139, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34629, + "col": 22, + "tokLen": 4 + } + }, + "inner": [ + { + "id": "0x7f0da6b40c58", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34623, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34629, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2a70", + "kind": "EnumConstantDecl", + "name": "HOLE", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b41fc8", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34639, + "line": 1140, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 34681, + "line": 1141, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b41f18", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34643, + "line": 1140, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34648, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b41f00", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34645, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34645, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (*)(const basic_string, allocator> &, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b41ee0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34645, + "col": 11, + "tokLen": 2 + }, + "end": { + "offset": 34645, + "col": 11, + "tokLen": 2 + } + }, + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d2f20c8", + "kind": "FunctionDecl", + "name": "operator==", + "type": { + "qualType": "bool (const basic_string, allocator> &, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b40cb8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34643, + "col": 9, + "tokLen": 1 + }, + "end": { + "offset": 34643, + "col": 9, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b41ec8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34648, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34648, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b40cd8", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34648, + "col": 14, + "tokLen": 10 + }, + "end": { + "offset": 34648, + "col": 14, + "tokLen": 10 + } + }, + "type": { + "qualType": "const char[9]" + }, + "valueCategory": "lvalue", + "value": "\"electron\"" + } + ] + } + ] + }, + { + "id": "0x7f0da6b41fb8", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 34668, + "line": 1141, + "col": 9, + "tokLen": 6 + }, + "end": { + "offset": 34681, + "col": 22, + "tokLen": 8 + } + }, + "inner": [ + { + "id": "0x7f0da6b41f88", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34675, + "col": 16, + "tokLen": 4 + }, + "end": { + "offset": 34681, + "col": 22, + "tokLen": 8 + } + }, + "type": { + "qualType": "slsDetectorDefs::collectionMode" + }, + "valueCategory": "prvalue", + "referencedDecl": { + "id": "0x2cdc2ac0", + "kind": "EnumConstantDecl", + "name": "ELECTRON", + "type": { + "qualType": "slsDetectorDefs::collectionMode" + } + } + } + ] + } + ] + }, + { + "id": "0x7f0da6b42690", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 34695, + "line": 1142, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b42678", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 34695, + "col": 5, + "tokLen": 5 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42648", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b42630", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b42608", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b425e8", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b425e0", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b425b0", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 34701, + "col": 11, + "tokLen": 12 + }, + "end": { + "offset": 34744, + "col": 54, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b42598", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b42580", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b42560", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b42558", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b42520", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b42508", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34741, + "col": 51, + "tokLen": 1 + }, + "end": { + "offset": 34741, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b424e8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34741, + "col": 51, + "tokLen": 1 + }, + "end": { + "offset": 34741, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b424d0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34714, + "col": 24, + "tokLen": 26 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b41ff8", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34714, + "col": 24, + "tokLen": 26 + }, + "end": { + "offset": 34714, + "col": 24, + "tokLen": 26 + } + }, + "type": { + "qualType": "const char[25]" + }, + "valueCategory": "lvalue", + "value": "\"Unknown collection mode \"" + } + ] + }, + { + "id": "0x7f0da6b42028", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34743, + "col": 53, + "tokLen": 1 + }, + "end": { + "offset": 34743, + "col": 53, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b3f6d8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +}, +{ + "id": "0x7f0da6b427f8", + "kind": "FunctionDecl", + "loc": { + "offset": 34770, + "file": "ToString.cpp", + "line": 1145, + "col": 21, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 34750, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 35199, + "line": 1154, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37be88", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToIhEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint8_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned char" + }, + "inner": [ + { + "id": "0x2bf08d50", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned char" + } + } + ] + }, + { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "loc": { + "offset": 34798, + "line": 1145, + "col": 49, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 34779, + "col": 30, + "tokLen": 5 + }, + "end": { + "offset": 34798, + "col": 49, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b44c30", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 34801, + "col": 52, + "tokLen": 1 + }, + "end": { + "offset": 35199, + "line": 1154, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b42ce0", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 34807, + "line": 1146, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34861, + "col": 59, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b429c8", + "kind": "VarDecl", + "loc": { + "offset": 34811, + "col": 9, + "tokLen": 4 + }, + "range": { + "begin": { + "offset": 34807, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34859, + "col": 57, + "tokLen": 2 + } + }, + "isUsed": true, + "name": "base", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b42cb0", + "kind": "ConditionalOperator", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34859, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42c50", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34847, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "!=", + "inner": [ + { + "id": "0x7f0da6b42b10", + "kind": "CXXMemberCallExpr", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34829, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42ae0", + "kind": "MemberExpr", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34820, + "col": 18, + "tokLen": 4 + } + }, + "type": { + "qualType": "" + }, + "valueCategory": "prvalue", + "name": "find", + "isArrow": false, + "referencedMemberDecl": "0x2c8ca830", + "inner": [ + { + "id": "0x7f0da6b42a30", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34818, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 34818, + "col": 16, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + }, + { + "id": "0x7f0da6b42b40", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34825, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 34825, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b42ac0", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 34825, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 34825, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char[3]" + }, + "valueCategory": "lvalue", + "value": "\"0x\"" + } + ] + }, + { + "id": "0x7f0da6b42b70", + "kind": "CXXDefaultArgExpr", + "range": { + "begin": {}, + "end": {} + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b42c38", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34834, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 34847, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b42c08", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34834, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 34847, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d0eda20", + "kind": "VarDecl", + "name": "npos", + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + } + }, + "nonOdrUseReason": "constant" + } + ] + } + ] + }, + { + "id": "0x7f0da6b42c70", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 34854, + "col": 52, + "tokLen": 2 + }, + "end": { + "offset": 34854, + "col": 52, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "16" + }, + { + "id": "0x7f0da6b42c90", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 34859, + "col": 57, + "tokLen": 2 + }, + "end": { + "offset": 34859, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "10" + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b42f48", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 34867, + "line": 1147, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34906, + "col": 44, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "loc": { + "offset": 34871, + "col": 9, + "tokLen": 5 + }, + "range": { + "begin": { + "offset": 34867, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 34905, + "col": 43, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "value", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b42ee0", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 34879, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34905, + "col": 43, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b42ec8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34879, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34884, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (*)(const string &, size_t *, int)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b42e38", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34879, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34884, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (const string &, size_t *, int)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c88ede0", + "kind": "FunctionDecl", + "name": "stoi", + "type": { + "qualType": "int (const string &, size_t *, int)" + } + } + } + ] + }, + { + "id": "0x7f0da6b42de8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34889, + "col": 27, + "tokLen": 1 + }, + "end": { + "offset": 34889, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b42f18", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34892, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 34892, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "size_t *" + }, + "valueCategory": "prvalue", + "castKind": "NullToPointer", + "inner": [ + { + "id": "0x7f0da6b42e08", + "kind": "CXXNullPtrLiteralExpr", + "range": { + "begin": { + "offset": 34892, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 34892, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "std::nullptr_t" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b42f30", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34901, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 34901, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b42e18", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34901, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 34901, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b429c8", + "kind": "VarDecl", + "name": "base", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44b70", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 34912, + "line": 1148, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 35157, + "line": 1152, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b432f8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34916, + "line": 1148, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35013, + "line": 1149, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "||", + "inner": [ + { + "id": "0x7f0da6b43140", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34916, + "line": 1148, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34958, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "<", + "inner": [ + { + "id": "0x7f0da6b43110", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34916, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34916, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b42f60", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34916, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34916, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b43128", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34958, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b430f0", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34958, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned char" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b430d8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34954, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b430a8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34924, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 34954, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c0d55a8", + "kind": "CXXMethodDecl", + "name": "min", + "type": { + "qualType": "unsigned char () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b432d8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 34971, + "line": 1149, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35013, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": ">", + "inner": [ + { + "id": "0x7f0da6b432a8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34971, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34971, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b43160", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34971, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 34971, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b432c0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35013, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b43288", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35013, + "col": 51, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned char" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b43270", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35009, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b43240", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 34979, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35009, + "col": 47, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned char () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c0d5680", + "kind": "CXXMethodDecl", + "name": "max", + "type": { + "qualType": "unsigned char () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44b58", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 35016, + "col": 54, + "tokLen": 1 + }, + "end": { + "offset": 35157, + "line": 1152, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b44b40", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 35026, + "line": 1150, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b44b28", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 35026, + "line": 1150, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b44af8", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b44ae0", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b44ab8", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b44a98", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b44a90", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b44a60", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35032, + "line": 1150, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35150, + "line": 1151, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b44a48", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b44a30", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b44a10", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b44a08", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b449d0", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35045, + "line": 1150, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b449b8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35085, + "line": 1150, + "col": 68, + "tokLen": 1 + }, + "end": { + "offset": 35085, + "col": 68, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(basic_string, allocator> &&, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b44940", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35085, + "col": 68, + "tokLen": 1 + }, + "end": { + "offset": 35085, + "col": 68, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44798", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b44910", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b43920", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b43918", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b438e0", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b438c8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35081, + "col": 64, + "tokLen": 1 + }, + "end": { + "offset": 35081, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b438a8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35081, + "col": 64, + "tokLen": 1 + }, + "end": { + "offset": 35081, + "col": 64, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b43890", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35045, + "col": 28, + "tokLen": 35 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b433a8", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35045, + "col": 28, + "tokLen": 35 + }, + "end": { + "offset": 35045, + "col": 28, + "tokLen": 35 + } + }, + "type": { + "qualType": "const char[34]" + }, + "valueCategory": "lvalue", + "value": "\"Cannot scan uint8_t from string '\"" + } + ] + }, + { + "id": "0x7f0da6b433e8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35083, + "col": 66, + "tokLen": 1 + }, + "end": { + "offset": 35083, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42738", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44928", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35114, + "line": 1151, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35114, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b43940", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35114, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35114, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char[35]" + }, + "valueCategory": "lvalue", + "value": "\"'. Value must be in range 0 - 255.\"" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b44c20", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 35163, + "line": 1153, + "col": 5, + "tokLen": 6 + }, + "end": { + "offset": 35196, + "col": 38, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b44bf0", + "kind": "CXXStaticCastExpr", + "range": { + "begin": { + "offset": 35170, + "col": 12, + "tokLen": 11 + }, + "end": { + "offset": 35196, + "col": 38, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned char", + "qualType": "uint8_t", + "typeAliasDeclId": "0x2c0e6c18" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b44bd8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35191, + "col": 33, + "tokLen": 5 + }, + "end": { + "offset": 35191, + "col": 33, + "tokLen": 5 + } + }, + "type": { + "desugaredQualType": "unsigned char", + "qualType": "uint8_t", + "typeAliasDeclId": "0x2c0e6c18" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b44bc0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35191, + "col": 33, + "tokLen": 5 + }, + "end": { + "offset": 35191, + "col": 33, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b44b90", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35191, + "col": 33, + "tokLen": 5 + }, + "end": { + "offset": 35191, + "col": 33, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b42d10", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +}, +{ + "id": "0x7f0da6b44d88", + "kind": "FunctionDecl", + "loc": { + "offset": 35223, + "file": "ToString.cpp", + "line": 1156, "col": 22, "tokLen": 8 }, "range": { "begin": { - "offset": 33170, + "offset": 35202, "col": 1, "tokLen": 8 }, "end": { - "offset": 33325, - "line": 1089, + "offset": 35658, + "line": 1165, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368e408", + "previousDecl": "0x2d37c358", + "name": "StringTo", + "mangledName": "_ZN3sls8StringToItEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", + "type": { + "qualType": "uint16_t (const std::string &)" + }, + "inner": [ + { + "kind": "TemplateArgument", + "type": { + "qualType": "unsigned short" + }, + "inner": [ + { + "id": "0x2bf08d70", + "kind": "BuiltinType", + "type": { + "qualType": "unsigned short" + } + } + ] + }, + { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "loc": { + "offset": 35251, + "line": 1156, + "col": 50, + "tokLen": 1 + }, + "range": { + "begin": { + "offset": 35232, + "col": 31, + "tokLen": 5 + }, + "end": { + "offset": 35251, + "col": 50, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "s", + "type": { + "qualType": "const std::string &" + } + }, + { + "id": "0x7f0da6b46558", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 35254, + "col": 53, + "tokLen": 1 + }, + "end": { + "offset": 35658, + "line": 1165, + "col": 1, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b45258", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 35260, + "line": 1157, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35314, + "col": 59, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b44f58", + "kind": "VarDecl", + "loc": { + "offset": 35264, + "col": 9, + "tokLen": 4 + }, + "range": { + "begin": { + "offset": 35260, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35312, + "col": 57, + "tokLen": 2 + } + }, + "isUsed": true, + "name": "base", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b45228", + "kind": "ConditionalOperator", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35312, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b451c8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35300, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "!=", + "inner": [ + { + "id": "0x7f0da6b450a0", + "kind": "CXXMemberCallExpr", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35282, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b45070", + "kind": "MemberExpr", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35273, + "col": 18, + "tokLen": 4 + } + }, + "type": { + "qualType": "" + }, + "valueCategory": "prvalue", + "name": "find", + "isArrow": false, + "referencedMemberDecl": "0x2c8ca830", + "inner": [ + { + "id": "0x7f0da6b44fc0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35271, + "col": 16, + "tokLen": 1 + }, + "end": { + "offset": 35271, + "col": 16, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + }, + { + "id": "0x7f0da6b450d0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35278, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 35278, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45050", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35278, + "col": 23, + "tokLen": 4 + }, + "end": { + "offset": 35278, + "col": 23, + "tokLen": 4 + } + }, + "type": { + "qualType": "const char[3]" + }, + "valueCategory": "lvalue", + "value": "\"0x\"" + } + ] + }, + { + "id": "0x7f0da6b450e8", + "kind": "CXXDefaultArgExpr", + "range": { + "begin": {}, + "end": {} + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b451b0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35287, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 35300, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "unsigned long", + "qualType": "typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45180", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35287, + "col": 32, + "tokLen": 3 + }, + "end": { + "offset": 35300, + "col": 45, + "tokLen": 4 + } + }, + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2d0eda20", + "kind": "VarDecl", + "name": "npos", + "type": { + "desugaredQualType": "const unsigned long", + "qualType": "const typename basic_string, allocator>::size_type", + "typeAliasDeclId": "0x2c8ab7b0" + } + }, + "nonOdrUseReason": "constant" + } + ] + } + ] + }, + { + "id": "0x7f0da6b451e8", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 35307, + "col": 52, + "tokLen": 2 + }, + "end": { + "offset": 35307, + "col": 52, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "16" + }, + { + "id": "0x7f0da6b45208", + "kind": "IntegerLiteral", + "range": { + "begin": { + "offset": 35312, + "col": 57, + "tokLen": 2 + }, + "end": { + "offset": 35312, + "col": 57, + "tokLen": 2 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "value": "10" + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b45460", + "kind": "DeclStmt", + "range": { + "begin": { + "offset": 35320, + "line": 1158, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35359, + "col": 44, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "loc": { + "offset": 35324, + "col": 9, + "tokLen": 5 + }, + "range": { + "begin": { + "offset": 35320, + "col": 5, + "tokLen": 3 + }, + "end": { + "offset": 35358, + "col": 43, + "tokLen": 1 + } + }, + "isUsed": true, + "name": "value", + "type": { + "qualType": "int" + }, + "init": "c", + "inner": [ + { + "id": "0x7f0da6b453f8", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 35332, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35358, + "col": 43, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b453e0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35332, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35337, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (*)(const string &, size_t *, int)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b453b0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35332, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35337, + "col": 22, + "tokLen": 4 + } + }, + "type": { + "qualType": "int (const string &, size_t *, int)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c88ede0", + "kind": "FunctionDecl", + "name": "stoi", + "type": { + "qualType": "int (const string &, size_t *, int)" + } + } + } + ] + }, + { + "id": "0x7f0da6b45360", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35342, + "col": 27, + "tokLen": 1 + }, + "end": { + "offset": 35342, + "col": 27, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + }, + { + "id": "0x7f0da6b45430", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35345, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 35345, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "size_t *" + }, + "valueCategory": "prvalue", + "castKind": "NullToPointer", + "inner": [ + { + "id": "0x7f0da6b45380", + "kind": "CXXNullPtrLiteralExpr", + "range": { + "begin": { + "offset": 35345, + "col": 30, + "tokLen": 7 + }, + "end": { + "offset": 35345, + "col": 30, + "tokLen": 7 + } + }, + "type": { + "qualType": "std::nullptr_t" + }, + "valueCategory": "prvalue" + } + ] + }, + { + "id": "0x7f0da6b45448", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35354, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 35354, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45390", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35354, + "col": 39, + "tokLen": 4 + }, + "end": { + "offset": 35354, + "col": 39, + "tokLen": 4 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44f58", + "kind": "VarDecl", + "name": "base", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b46498", + "kind": "IfStmt", + "range": { + "begin": { + "offset": 35365, + "line": 1159, + "col": 5, + "tokLen": 2 + }, + "end": { + "offset": 35615, + "line": 1163, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b457f8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35369, + "line": 1159, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35468, + "line": 1160, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "||", + "inner": [ + { + "id": "0x7f0da6b45640", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35369, + "line": 1159, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35412, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": "<", + "inner": [ + { + "id": "0x7f0da6b45610", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35369, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35369, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45478", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35369, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35369, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b45628", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35412, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b455f0", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35412, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned short" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b455d8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35408, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b455a8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35377, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35408, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c179c48", + "kind": "CXXMethodDecl", + "name": "min", + "type": { + "qualType": "unsigned short () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b457d8", + "kind": "BinaryOperator", + "range": { + "begin": { + "offset": 35425, + "line": 1160, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35468, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "bool" + }, + "valueCategory": "prvalue", + "opcode": ">", + "inner": [ + { + "id": "0x7f0da6b457a8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35425, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35425, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "inner": [ + { + "id": "0x7f0da6b45660", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35425, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35425, + "col": 9, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + }, + { + "id": "0x7f0da6b457c0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35468, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "inner": [ + { + "id": "0x7f0da6b45788", + "kind": "CallExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35468, + "col": 52, + "tokLen": 1 + } + }, + "type": { + "qualType": "unsigned short" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b45770", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35464, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short (*)() noexcept" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45740", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35433, + "col": 17, + "tokLen": 3 + }, + "end": { + "offset": 35464, + "col": 48, + "tokLen": 3 + } + }, + "type": { + "qualType": "unsigned short () noexcept" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2c179d20", + "kind": "CXXMethodDecl", + "name": "max", + "type": { + "qualType": "unsigned short () noexcept" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b46480", + "kind": "CompoundStmt", + "range": { + "begin": { + "offset": 35471, + "col": 55, + "tokLen": 1 + }, + "end": { + "offset": 35615, + "line": 1163, + "col": 5, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b46468", + "kind": "ExprWithCleanups", + "range": { + "begin": { + "offset": 35481, + "line": 1161, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "cleanupsHaveSideEffects": true, + "inner": [ + { + "id": "0x7f0da6b46450", + "kind": "CXXThrowExpr", + "range": { + "begin": { + "offset": 35481, + "line": 1161, + "col": 9, + "tokLen": 5 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "qualType": "void" + }, + "valueCategory": "prvalue", + "inner": [ + { + "id": "0x7f0da6b46420", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (RuntimeError &&) noexcept" + }, + "elidable": true, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b46408", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b463e0", + "kind": "CXXFunctionalCastExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "castKind": "ConstructorConversion", + "conversionFunc": { + "id": "0x2c9688e8", + "kind": "CXXConstructorDecl", + "name": "RuntimeError", + "type": { + "qualType": "void (const std::string &)" + } + }, + "inner": [ + { + "id": "0x7f0da6b463c0", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b463b8", + "dtor": { + "id": "0x2c9692d0", + "kind": "CXXDestructorDecl", + "name": "~RuntimeError", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b46388", + "kind": "CXXConstructExpr", + "range": { + "begin": { + "offset": 35487, + "line": 1161, + "col": 15, + "tokLen": 12 + }, + "end": { + "offset": 35608, + "line": 1162, + "col": 66, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" + }, + "valueCategory": "prvalue", + "ctorType": { + "qualType": "void (const std::string &)" + }, + "hadMultipleCandidates": true, + "constructionKind": "complete", + "inner": [ + { + "id": "0x7f0da6b46370", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "lvalue", + "storageDuration": "full expression", + "boundToLValueRef": true, + "inner": [ + { + "id": "0x7f0da6b46358", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const basic_string, allocator>" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b46338", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b46330", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b462f8", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35500, + "line": 1161, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b462e0", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35541, + "line": 1161, + "col": 69, + "tokLen": 1 + }, + "end": { + "offset": 35541, + "col": 69, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(basic_string, allocator> &&, const char *)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b462c0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35541, + "col": 69, + "tokLen": 1 + }, + "end": { + "offset": 35541, + "col": 69, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44798", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (basic_string, allocator> &&, const char *)" + } + } + } + ] + }, + { + "id": "0x7f0da6b46290", + "kind": "MaterializeTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "xvalue", + "storageDuration": "full expression", + "inner": [ + { + "id": "0x7f0da6b45d68", + "kind": "CXXBindTemporaryExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "temp": "0x7f0da6b45d60", + "dtor": { + "id": "0x2c8ba378", + "kind": "CXXDestructorDecl", + "name": "~basic_string", + "type": { + "qualType": "void () noexcept" + } + }, + "inner": [ + { + "id": "0x7f0da6b45d28", + "kind": "CXXOperatorCallExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "std::basic_string", + "qualType": "basic_string, allocator>" + }, + "valueCategory": "prvalue", + "adl": true, + "inner": [ + { + "id": "0x7f0da6b45d10", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35537, + "col": 65, + "tokLen": 1 + }, + "end": { + "offset": 35537, + "col": 65, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (*)(const char *, const basic_string, allocator> &)" + }, + "valueCategory": "prvalue", + "castKind": "FunctionToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45cf0", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35537, + "col": 65, + "tokLen": 1 + }, + "end": { + "offset": 35537, + "col": 65, + "tokLen": 1 + } + }, + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x2ce13b68", + "kind": "FunctionDecl", + "name": "operator+", + "type": { + "qualType": "basic_string, allocator> (const char *, const basic_string, allocator> &)" + } + } + } + ] + }, + { + "id": "0x7f0da6b45cd8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35500, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45828", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35500, + "col": 28, + "tokLen": 36 + }, + "end": { + "offset": 35500, + "col": 28, + "tokLen": 36 + } + }, + "type": { + "qualType": "const char[35]" + }, + "valueCategory": "lvalue", + "value": "\"Cannot scan uint16_t from string '\"" + } + ] + }, + { + "id": "0x7f0da6b45868", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35539, + "col": 67, + "tokLen": 1 + }, + "end": { + "offset": 35539, + "col": 67, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "const std::basic_string", + "qualType": "const std::string", + "typeAliasDeclId": "0x2c6c0c90" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b44cc8", + "kind": "ParmVarDecl", + "name": "s", + "type": { + "qualType": "const std::string &" + } + } + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b462a8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35570, + "line": 1162, + "col": 28, + "tokLen": 38 + }, + "end": { + "offset": 35570, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "qualType": "const char *" + }, + "valueCategory": "prvalue", + "castKind": "ArrayToPointerDecay", + "inner": [ + { + "id": "0x7f0da6b45e08", + "kind": "StringLiteral", + "range": { + "begin": { + "offset": 35570, + "col": 28, + "tokLen": 38 + }, + "end": { + "offset": 35570, + "col": 28, + "tokLen": 38 + } + }, + "type": { + "qualType": "const char[37]" + }, + "valueCategory": "lvalue", + "value": "\"'. Value must be in range 0 - 65535.\"" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id": "0x7f0da6b46548", + "kind": "ReturnStmt", + "range": { + "begin": { + "offset": 35621, + "line": 1164, + "col": 5, + "tokLen": 6 + }, + "end": { + "offset": 35655, + "col": 39, + "tokLen": 1 + } + }, + "inner": [ + { + "id": "0x7f0da6b46518", + "kind": "CXXStaticCastExpr", + "range": { + "begin": { + "offset": 35628, + "col": 12, + "tokLen": 11 + }, + "end": { + "offset": 35655, + "col": 39, + "tokLen": 1 + } + }, + "type": { + "desugaredQualType": "unsigned short", + "qualType": "uint16_t", + "typeAliasDeclId": "0x2c0e6c80" + }, + "valueCategory": "prvalue", + "castKind": "NoOp", + "inner": [ + { + "id": "0x7f0da6b46500", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35650, + "col": 34, + "tokLen": 5 + }, + "end": { + "offset": 35650, + "col": 34, + "tokLen": 5 + } + }, + "type": { + "desugaredQualType": "unsigned short", + "qualType": "uint16_t", + "typeAliasDeclId": "0x2c0e6c80" + }, + "valueCategory": "prvalue", + "castKind": "IntegralCast", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b464e8", + "kind": "ImplicitCastExpr", + "range": { + "begin": { + "offset": 35650, + "col": 34, + "tokLen": 5 + }, + "end": { + "offset": 35650, + "col": 34, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "prvalue", + "castKind": "LValueToRValue", + "isPartOfExplicitCast": true, + "inner": [ + { + "id": "0x7f0da6b464b8", + "kind": "DeclRefExpr", + "range": { + "begin": { + "offset": 35650, + "col": 34, + "tokLen": 5 + }, + "end": { + "offset": 35650, + "col": 34, + "tokLen": 5 + } + }, + "type": { + "qualType": "int" + }, + "valueCategory": "lvalue", + "referencedDecl": { + "id": "0x7f0da6b45288", + "kind": "VarDecl", + "name": "value", + "type": { + "qualType": "int" + } + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +}, +{ + "id": "0x7f0da6b466b8", + "kind": "FunctionDecl", + "loc": { + "offset": 35682, + "file": "ToString.cpp", + "line": 1167, + "col": 22, + "tokLen": 8 + }, + "range": { + "begin": { + "offset": 35661, + "col": 1, + "tokLen": 8 + }, + "end": { + "offset": 35816, + "line": 1170, + "col": 1, + "tokLen": 1 + } + }, + "previousDecl": "0x2d37c828", "name": "StringTo", "mangledName": "_ZN3sls8StringToIjEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -58607,7 +64850,7 @@ }, "inner": [ { - "id": "0x230bbd0", + "id": "0x2bf08d90", "kind": "BuiltinType", "type": { "qualType": "unsigned int" @@ -58616,22 +64859,22 @@ ] }, { - "id": "0x38e5a28", + "id": "0x7f0da6b465f0", "kind": "ParmVarDecl", "loc": { - "offset": 33219, - "line": 1086, + "offset": 35710, + "line": 1167, "col": 50, "tokLen": 1 }, "range": { "begin": { - "offset": 33200, + "offset": 35691, "col": 31, "tokLen": 5 }, "end": { - "offset": 33219, + "offset": 35710, "col": 50, "tokLen": 1 } @@ -58643,55 +64886,55 @@ } }, { - "id": "0x38e61b0", + "id": "0x7f0da6b46d90", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33222, + "offset": 35713, "col": 53, "tokLen": 1 }, "end": { - "offset": 33325, - "line": 1089, + "offset": 35816, + "line": 1170, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e5fa0", + "id": "0x7f0da6b46b88", "kind": "DeclStmt", "range": { "begin": { - "offset": 33228, - "line": 1087, + "offset": 35719, + "line": 1168, "col": 5, "tokLen": 3 }, "end": { - "offset": 33282, + "offset": 35773, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e5c88", + "id": "0x7f0da6b46888", "kind": "VarDecl", "loc": { - "offset": 33232, + "offset": 35723, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33228, + "offset": 35719, "col": 5, "tokLen": 3 }, "end": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 } @@ -58704,16 +64947,16 @@ "init": "c", "inner": [ { - "id": "0x38e5f70", + "id": "0x7f0da6b46b58", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 } @@ -58724,16 +64967,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e5f10", + "id": "0x7f0da6b46af8", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33268, + "offset": 35759, "col": 45, "tokLen": 4 } @@ -58745,38 +64988,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e5dd0", + "id": "0x7f0da6b469d0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33250, + "offset": 35741, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e5da0", + "id": "0x7f0da6b469a0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33241, + "offset": 35732, "col": 18, "tokLen": 4 } @@ -58787,19 +65030,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e5cf0", + "id": "0x7f0da6b468f0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 }, "end": { - "offset": 33239, + "offset": 35730, "col": 16, "tokLen": 1 } @@ -58807,11 +65050,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e5a28", + "id": "0x7f0da6b465f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -58822,16 +65065,16 @@ ] }, { - "id": "0x38e5e00", + "id": "0x7f0da6b46a00", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 }, "end": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 } @@ -58843,16 +65086,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e5d80", + "id": "0x7f0da6b46980", "kind": "StringLiteral", "range": { "begin": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 }, "end": { - "offset": 33246, + "offset": 35737, "col": 23, "tokLen": 4 } @@ -58866,7 +65109,7 @@ ] }, { - "id": "0x38e5e30", + "id": "0x7f0da6b46a18", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -58874,24 +65117,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e5ef8", + "id": "0x7f0da6b46ae0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33255, + "offset": 35746, "col": 32, "tokLen": 3 }, "end": { - "offset": 33268, + "offset": 35759, "col": 45, "tokLen": 4 } @@ -58899,22 +65142,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e5ec8", + "id": "0x7f0da6b46ab0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33255, + "offset": 35746, "col": 32, "tokLen": 3 }, "end": { - "offset": 33268, + "offset": 35759, "col": 45, "tokLen": 4 } @@ -58922,17 +65165,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -58942,16 +65185,16 @@ ] }, { - "id": "0x38e5f30", + "id": "0x7f0da6b46b18", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33275, + "offset": 35766, "col": 52, "tokLen": 2 }, "end": { - "offset": 33275, + "offset": 35766, "col": 52, "tokLen": 2 } @@ -58963,16 +65206,16 @@ "value": "16" }, { - "id": "0x38e5f50", + "id": "0x7f0da6b46b38", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 }, "end": { - "offset": 33280, + "offset": 35771, "col": 57, "tokLen": 2 } @@ -58990,33 +65233,33 @@ ] }, { - "id": "0x38e61a0", + "id": "0x7f0da6b46d80", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33288, - "line": 1088, + "offset": 35779, + "line": 1169, "col": 5, "tokLen": 6 }, "end": { - "offset": 33322, + "offset": 35813, "col": 39, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6188", + "id": "0x7f0da6b46d68", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33322, + "offset": 35813, "col": 39, "tokLen": 1 } @@ -59024,22 +65267,22 @@ "type": { "desugaredQualType": "unsigned int", "qualType": "uint32_t", - "typeAliasDeclId": "0x23ae7f8" + "typeAliasDeclId": "0x2c0e6ce8" }, "valueCategory": "prvalue", "castKind": "IntegralCast", "inner": [ { - "id": "0x38e6120", + "id": "0x7f0da6b46d00", "kind": "CallExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33322, + "offset": 35813, "col": 39, "tokLen": 1 } @@ -59050,67 +65293,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6108", + "id": "0x7f0da6b46ce8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33300, + "offset": 35791, "col": 17, "tokLen": 5 } }, "type": { - "qualType": "unsigned long (*)(const std::string &, std::size_t *, int)" + "qualType": "unsigned long (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e6078", + "id": "0x7f0da6b46c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33295, + "offset": 35786, "col": 12, "tokLen": 3 }, "end": { - "offset": 33300, + "offset": 35791, "col": 17, "tokLen": 5 } }, "type": { - "qualType": "unsigned long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2ca8d40", + "id": "0x2c8d3880", "kind": "FunctionDecl", "name": "stoul", "type": { - "qualType": "unsigned long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e6028", + "id": "0x7f0da6b46c10", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33306, + "offset": 35797, "col": 23, "tokLen": 1 }, "end": { - "offset": 33306, + "offset": 35797, "col": 23, "tokLen": 1 } @@ -59118,11 +65361,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e5a28", + "id": "0x7f0da6b465f0", "kind": "ParmVarDecl", "name": "s", "type": { @@ -59131,37 +65374,37 @@ } }, { - "id": "0x38e6158", + "id": "0x7f0da6b46d38", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 }, "end": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e6048", + "id": "0x7f0da6b46c30", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 }, "end": { - "offset": 33309, + "offset": 35800, "col": 26, "tokLen": 7 } @@ -59174,16 +65417,16 @@ ] }, { - "id": "0x38e6170", + "id": "0x7f0da6b46d50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 }, "end": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 } @@ -59195,16 +65438,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e6058", + "id": "0x7f0da6b46c40", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 }, "end": { - "offset": 33318, + "offset": 35809, "col": 35, "tokLen": 4 } @@ -59214,7 +65457,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e5c88", + "id": "0x7f0da6b46888", "kind": "VarDecl", "name": "base", "type": { @@ -59235,29 +65478,29 @@ ] }, { - "id": "0x38e62f8", + "id": "0x7f0da6b46ed8", "kind": "FunctionDecl", "loc": { - "offset": 33349, + "offset": 35840, "file": "ToString.cpp", - "line": 1091, + "line": 1172, "col": 22, "tokLen": 8 }, "range": { "begin": { - "offset": 33328, + "offset": 35819, "col": 1, "tokLen": 8 }, "end": { - "offset": 33484, - "line": 1094, + "offset": 35975, + "line": 1175, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368e8a8", + "previousDecl": "0x2d37ccc8", "name": "StringTo", "mangledName": "_ZN3sls8StringToImEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -59271,7 +65514,7 @@ }, "inner": [ { - "id": "0x230bbf0", + "id": "0x2bf08db0", "kind": "BuiltinType", "type": { "qualType": "unsigned long" @@ -59280,22 +65523,22 @@ ] }, { - "id": "0x38e6238", + "id": "0x7f0da6b46e18", "kind": "ParmVarDecl", "loc": { - "offset": 33377, - "line": 1091, + "offset": 35868, + "line": 1172, "col": 50, "tokLen": 1 }, "range": { "begin": { - "offset": 33358, + "offset": 35849, "col": 31, "tokLen": 5 }, "end": { - "offset": 33377, + "offset": 35868, "col": 50, "tokLen": 1 } @@ -59307,55 +65550,55 @@ } }, { - "id": "0x38e69a0", + "id": "0x7f0da6b475b0", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33380, + "offset": 35871, "col": 53, "tokLen": 1 }, "end": { - "offset": 33484, - "line": 1094, + "offset": 35975, + "line": 1175, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6798", + "id": "0x7f0da6b473a8", "kind": "DeclStmt", "range": { "begin": { - "offset": 33386, - "line": 1092, + "offset": 35877, + "line": 1173, "col": 5, "tokLen": 3 }, "end": { - "offset": 33440, + "offset": 35931, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6498", + "id": "0x7f0da6b470a8", "kind": "VarDecl", "loc": { - "offset": 33390, + "offset": 35881, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33386, + "offset": 35877, "col": 5, "tokLen": 3 }, "end": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 } @@ -59368,16 +65611,16 @@ "init": "c", "inner": [ { - "id": "0x38e6768", + "id": "0x7f0da6b47378", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 } @@ -59388,16 +65631,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6708", + "id": "0x7f0da6b47318", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33426, + "offset": 35917, "col": 45, "tokLen": 4 } @@ -59409,38 +65652,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e65e0", + "id": "0x7f0da6b471f0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33408, + "offset": 35899, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e65b0", + "id": "0x7f0da6b471c0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33399, + "offset": 35890, "col": 18, "tokLen": 4 } @@ -59451,19 +65694,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e6500", + "id": "0x7f0da6b47110", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 }, "end": { - "offset": 33397, + "offset": 35888, "col": 16, "tokLen": 1 } @@ -59471,11 +65714,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6238", + "id": "0x7f0da6b46e18", "kind": "ParmVarDecl", "name": "s", "type": { @@ -59486,16 +65729,16 @@ ] }, { - "id": "0x38e6610", + "id": "0x7f0da6b47220", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 }, "end": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 } @@ -59507,16 +65750,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e6590", + "id": "0x7f0da6b471a0", "kind": "StringLiteral", "range": { "begin": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 }, "end": { - "offset": 33404, + "offset": 35895, "col": 23, "tokLen": 4 } @@ -59530,7 +65773,7 @@ ] }, { - "id": "0x38e6628", + "id": "0x7f0da6b47238", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -59538,24 +65781,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e66f0", + "id": "0x7f0da6b47300", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33413, + "offset": 35904, "col": 32, "tokLen": 3 }, "end": { - "offset": 33426, + "offset": 35917, "col": 45, "tokLen": 4 } @@ -59563,22 +65806,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e66c0", + "id": "0x7f0da6b472d0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33413, + "offset": 35904, "col": 32, "tokLen": 3 }, "end": { - "offset": 33426, + "offset": 35917, "col": 45, "tokLen": 4 } @@ -59586,17 +65829,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -59606,16 +65849,16 @@ ] }, { - "id": "0x38e6728", + "id": "0x7f0da6b47338", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33433, + "offset": 35924, "col": 52, "tokLen": 2 }, "end": { - "offset": 33433, + "offset": 35924, "col": 52, "tokLen": 2 } @@ -59627,16 +65870,16 @@ "value": "16" }, { - "id": "0x38e6748", + "id": "0x7f0da6b47358", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 }, "end": { - "offset": 33438, + "offset": 35929, "col": 57, "tokLen": 2 } @@ -59654,33 +65897,33 @@ ] }, { - "id": "0x38e6990", + "id": "0x7f0da6b475a0", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33446, - "line": 1093, + "offset": 35937, + "line": 1174, "col": 5, "tokLen": 6 }, "end": { - "offset": 33481, + "offset": 35972, "col": 40, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6978", + "id": "0x7f0da6b47588", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33481, + "offset": 35972, "col": 40, "tokLen": 1 } @@ -59688,22 +65931,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "uint64_t", - "typeAliasDeclId": "0x23ae860" + "typeAliasDeclId": "0x2c0e6d50" }, "valueCategory": "prvalue", "castKind": "IntegralCast", "inner": [ { - "id": "0x38e6910", + "id": "0x7f0da6b47520", "kind": "CallExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33481, + "offset": 35972, "col": 40, "tokLen": 1 } @@ -59714,67 +65957,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e68f8", + "id": "0x7f0da6b47508", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33458, + "offset": 35949, "col": 17, "tokLen": 6 } }, "type": { - "qualType": "unsigned long long (*)(const std::string &, std::size_t *, int)" + "qualType": "unsigned long long (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e6870", + "id": "0x7f0da6b47480", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33453, + "offset": 35944, "col": 12, "tokLen": 3 }, "end": { - "offset": 33458, + "offset": 35949, "col": 17, "tokLen": 6 } }, "type": { - "qualType": "unsigned long long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long long (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2caac00", + "id": "0x2c8d5880", "kind": "FunctionDecl", "name": "stoull", "type": { - "qualType": "unsigned long long (const std::string &, std::size_t *, int)" + "qualType": "unsigned long long (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e6820", + "id": "0x7f0da6b47430", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33465, + "offset": 35956, "col": 24, "tokLen": 1 }, "end": { - "offset": 33465, + "offset": 35956, "col": 24, "tokLen": 1 } @@ -59782,11 +66025,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6238", + "id": "0x7f0da6b46e18", "kind": "ParmVarDecl", "name": "s", "type": { @@ -59795,37 +66038,37 @@ } }, { - "id": "0x38e6948", + "id": "0x7f0da6b47558", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 }, "end": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e6840", + "id": "0x7f0da6b47450", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 }, "end": { - "offset": 33468, + "offset": 35959, "col": 27, "tokLen": 7 } @@ -59838,16 +66081,16 @@ ] }, { - "id": "0x38e6960", + "id": "0x7f0da6b47570", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 }, "end": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 } @@ -59859,16 +66102,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e6850", + "id": "0x7f0da6b47460", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 }, "end": { - "offset": 33477, + "offset": 35968, "col": 36, "tokLen": 4 } @@ -59878,7 +66121,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6498", + "id": "0x7f0da6b470a8", "kind": "VarDecl", "name": "base", "type": { @@ -59899,29 +66142,29 @@ ] }, { - "id": "0x38e6af0", + "id": "0x7f0da6b47700", "kind": "FunctionDecl", "loc": { - "offset": 33503, + "offset": 35994, "file": "ToString.cpp", - "line": 1096, + "line": 1177, "col": 17, "tokLen": 8 }, "range": { "begin": { - "offset": 33487, + "offset": 35978, "col": 1, "tokLen": 8 }, "end": { - "offset": 33636, - "line": 1099, + "offset": 36127, + "line": 1180, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368ed50", + "previousDecl": "0x2d37d1a0", "name": "StringTo", "mangledName": "_ZN3sls8StringToIiEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -59935,7 +66178,7 @@ }, "inner": [ { - "id": "0x230bb30", + "id": "0x2bf08cf0", "kind": "BuiltinType", "type": { "qualType": "int" @@ -59944,22 +66187,22 @@ ] }, { - "id": "0x38e6a28", + "id": "0x7f0da6b47638", "kind": "ParmVarDecl", "loc": { - "offset": 33531, - "line": 1096, + "offset": 36022, + "line": 1177, "col": 45, "tokLen": 1 }, "range": { "begin": { - "offset": 33512, + "offset": 36003, "col": 26, "tokLen": 5 }, "end": { - "offset": 33531, + "offset": 36022, "col": 45, "tokLen": 1 } @@ -59971,55 +66214,55 @@ } }, { - "id": "0x38e7188", + "id": "0x7f0da6b47d70", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33534, + "offset": 36025, "col": 48, "tokLen": 1 }, "end": { - "offset": 33636, - "line": 1099, + "offset": 36127, + "line": 1180, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6f98", + "id": "0x7f0da6b47bd8", "kind": "DeclStmt", "range": { "begin": { - "offset": 33540, - "line": 1097, + "offset": 36031, + "line": 1178, "col": 5, "tokLen": 3 }, "end": { - "offset": 33594, + "offset": 36085, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e6c98", + "id": "0x7f0da6b478d8", "kind": "VarDecl", "loc": { - "offset": 33544, + "offset": 36035, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33540, + "offset": 36031, "col": 5, "tokLen": 3 }, "end": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 } @@ -60032,16 +66275,16 @@ "init": "c", "inner": [ { - "id": "0x38e6f68", + "id": "0x7f0da6b47ba8", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 } @@ -60052,16 +66295,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6f08", + "id": "0x7f0da6b47b48", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33580, + "offset": 36071, "col": 45, "tokLen": 4 } @@ -60073,38 +66316,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e6de0", + "id": "0x7f0da6b47a20", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33562, + "offset": 36053, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e6db0", + "id": "0x7f0da6b479f0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33553, + "offset": 36044, "col": 18, "tokLen": 4 } @@ -60115,19 +66358,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e6d00", + "id": "0x7f0da6b47940", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 }, "end": { - "offset": 33551, + "offset": 36042, "col": 16, "tokLen": 1 } @@ -60135,11 +66378,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6a28", + "id": "0x7f0da6b47638", "kind": "ParmVarDecl", "name": "s", "type": { @@ -60150,16 +66393,16 @@ ] }, { - "id": "0x38e6e10", + "id": "0x7f0da6b47a50", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 }, "end": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 } @@ -60171,16 +66414,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e6d90", + "id": "0x7f0da6b479d0", "kind": "StringLiteral", "range": { "begin": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 }, "end": { - "offset": 33558, + "offset": 36049, "col": 23, "tokLen": 4 } @@ -60194,7 +66437,7 @@ ] }, { - "id": "0x38e6e28", + "id": "0x7f0da6b47a68", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -60202,24 +66445,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e6ef0", + "id": "0x7f0da6b47b30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33567, + "offset": 36058, "col": 32, "tokLen": 3 }, "end": { - "offset": 33580, + "offset": 36071, "col": 45, "tokLen": 4 } @@ -60227,22 +66470,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e6ec0", + "id": "0x7f0da6b47b00", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33567, + "offset": 36058, "col": 32, "tokLen": 3 }, "end": { - "offset": 33580, + "offset": 36071, "col": 45, "tokLen": 4 } @@ -60250,17 +66493,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -60270,16 +66513,16 @@ ] }, { - "id": "0x38e6f28", + "id": "0x7f0da6b47b68", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33587, + "offset": 36078, "col": 52, "tokLen": 2 }, "end": { - "offset": 33587, + "offset": 36078, "col": 52, "tokLen": 2 } @@ -60291,16 +66534,16 @@ "value": "16" }, { - "id": "0x38e6f48", + "id": "0x7f0da6b47b88", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 }, "end": { - "offset": 33592, + "offset": 36083, "col": 57, "tokLen": 2 } @@ -60318,33 +66561,33 @@ ] }, { - "id": "0x38e7178", + "id": "0x7f0da6b47d60", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33600, - "line": 1098, + "offset": 36091, + "line": 1179, "col": 5, "tokLen": 6 }, "end": { - "offset": 33633, + "offset": 36124, "col": 38, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7110", + "id": "0x7f0da6b47cf8", "kind": "CallExpr", "range": { "begin": { - "offset": 33607, + "offset": 36098, "col": 12, "tokLen": 3 }, "end": { - "offset": 33633, + "offset": 36124, "col": 38, "tokLen": 1 } @@ -60355,67 +66598,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e70f8", + "id": "0x7f0da6b47ce0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33607, + "offset": 36098, "col": 12, "tokLen": 3 }, "end": { - "offset": 33612, + "offset": 36103, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "int (*)(const std::string &, std::size_t *, int)" + "qualType": "int (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e7070", + "id": "0x7f0da6b47cb0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33607, + "offset": 36098, "col": 12, "tokLen": 3 }, "end": { - "offset": 33612, + "offset": 36103, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2c76400", + "id": "0x2c88ede0", "kind": "FunctionDecl", "name": "stoi", "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e7020", + "id": "0x7f0da6b47c60", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33617, + "offset": 36108, "col": 22, "tokLen": 1 }, "end": { - "offset": 33617, + "offset": 36108, "col": 22, "tokLen": 1 } @@ -60423,11 +66666,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6a28", + "id": "0x7f0da6b47638", "kind": "ParmVarDecl", "name": "s", "type": { @@ -60436,37 +66679,37 @@ } }, { - "id": "0x38e7148", + "id": "0x7f0da6b47d30", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 }, "end": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e7040", + "id": "0x7f0da6b47c80", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 }, "end": { - "offset": 33620, + "offset": 36111, "col": 25, "tokLen": 7 } @@ -60479,16 +66722,16 @@ ] }, { - "id": "0x38e7160", + "id": "0x7f0da6b47d48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 }, "end": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 } @@ -60500,16 +66743,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e7050", + "id": "0x7f0da6b47c90", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 }, "end": { - "offset": 33629, + "offset": 36120, "col": 34, "tokLen": 4 } @@ -60519,7 +66762,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e6c98", + "id": "0x7f0da6b478d8", "kind": "VarDecl", "name": "base", "type": { @@ -60538,29 +66781,29 @@ ] }, { - "id": "0x38e72d8", + "id": "0x7f0da6b47eb8", "kind": "FunctionDecl", "loc": { - "offset": 33656, + "offset": 36147, "file": "ToString.cpp", - "line": 1101, + "line": 1182, "col": 18, "tokLen": 8 }, "range": { "begin": { - "offset": 33639, + "offset": 36130, "col": 1, "tokLen": 8 }, "end": { - "offset": 33900, - "line": 1111, + "offset": 36391, + "line": 1192, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368f1c8", + "previousDecl": "0x2d37d648", "name": "StringTo", "mangledName": "_ZN3sls8StringToIbEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -60574,7 +66817,7 @@ }, "inner": [ { - "id": "0x230bab0", + "id": "0x2bf08c70", "kind": "BuiltinType", "type": { "qualType": "bool" @@ -60583,22 +66826,22 @@ ] }, { - "id": "0x38e7210", + "id": "0x7f0da6b47df8", "kind": "ParmVarDecl", "loc": { - "offset": 33684, - "line": 1101, + "offset": 36175, + "line": 1182, "col": 46, "tokLen": 1 }, "range": { "begin": { - "offset": 33665, + "offset": 36156, "col": 27, "tokLen": 5 }, "end": { - "offset": 33684, + "offset": 36175, "col": 46, "tokLen": 1 } @@ -60610,55 +66853,55 @@ } }, { - "id": "0x38e79e0", + "id": "0x7f0da6b48578", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33687, + "offset": 36178, "col": 49, "tokLen": 1 }, "end": { - "offset": 33900, - "line": 1111, + "offset": 36391, + "line": 1192, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7638", + "id": "0x7f0da6b48248", "kind": "DeclStmt", "range": { "begin": { - "offset": 33693, - "line": 1102, + "offset": 36184, + "line": 1183, "col": 5, "tokLen": 3 }, "end": { - "offset": 33726, + "offset": 36217, "col": 38, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7478", + "id": "0x7f0da6b48088", "kind": "VarDecl", "loc": { - "offset": 33697, + "offset": 36188, "col": 9, "tokLen": 1 }, "range": { "begin": { - "offset": 33693, + "offset": 36184, "col": 5, "tokLen": 3 }, "end": { - "offset": 33725, + "offset": 36216, "col": 37, "tokLen": 1 } @@ -60671,16 +66914,16 @@ "init": "c", "inner": [ { - "id": "0x38e75e8", + "id": "0x7f0da6b481f8", "kind": "CallExpr", "range": { "begin": { - "offset": 33701, + "offset": 36192, "col": 13, "tokLen": 3 }, "end": { - "offset": 33725, + "offset": 36216, "col": 37, "tokLen": 1 } @@ -60691,67 +66934,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e75d0", + "id": "0x7f0da6b481e0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33701, + "offset": 36192, "col": 13, "tokLen": 3 }, "end": { - "offset": 33706, + "offset": 36197, "col": 18, "tokLen": 4 } }, "type": { - "qualType": "int (*)(const std::string &, std::size_t *, int)" + "qualType": "int (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e75a0", + "id": "0x7f0da6b481b0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33701, + "offset": 36192, "col": 13, "tokLen": 3 }, "end": { - "offset": 33706, + "offset": 36197, "col": 18, "tokLen": 4 } }, "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2c76400", + "id": "0x2c88ede0", "kind": "FunctionDecl", "name": "stoi", "type": { - "qualType": "int (const std::string &, std::size_t *, int)" + "qualType": "int (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e7550", + "id": "0x7f0da6b48160", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33711, + "offset": 36202, "col": 23, "tokLen": 1 }, "end": { - "offset": 33711, + "offset": 36202, "col": 23, "tokLen": 1 } @@ -60759,11 +67002,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7210", + "id": "0x7f0da6b47df8", "kind": "ParmVarDecl", "name": "s", "type": { @@ -60772,37 +67015,37 @@ } }, { - "id": "0x38e7620", + "id": "0x7f0da6b48230", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 }, "end": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e7570", + "id": "0x7f0da6b48180", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 }, "end": { - "offset": 33714, + "offset": 36205, "col": 26, "tokLen": 7 } @@ -60815,16 +67058,16 @@ ] }, { - "id": "0x38e7580", + "id": "0x7f0da6b48190", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33723, + "offset": 36214, "col": 35, "tokLen": 2 }, "end": { - "offset": 33723, + "offset": 36214, "col": 35, "tokLen": 2 } @@ -60842,35 +67085,35 @@ ] }, { - "id": "0x38e7688", + "id": "0x7f0da6b48298", "kind": "SwitchStmt", "range": { "begin": { - "offset": 33732, - "line": 1103, + "offset": 36223, + "line": 1184, "col": 5, "tokLen": 6 }, "end": { - "offset": 33898, - "line": 1110, + "offset": 36389, + "line": 1191, "col": 5, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7670", + "id": "0x7f0da6b48280", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33740, - "line": 1103, + "offset": 36231, + "line": 1184, "col": 13, "tokLen": 1 }, "end": { - "offset": 33740, + "offset": 36231, "col": 13, "tokLen": 1 } @@ -60882,16 +67125,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e7650", + "id": "0x7f0da6b48260", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33740, + "offset": 36231, "col": 13, "tokLen": 1 }, "end": { - "offset": 33740, + "offset": 36231, "col": 13, "tokLen": 1 } @@ -60901,7 +67144,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7478", + "id": "0x7f0da6b48088", "kind": "VarDecl", "name": "i", "type": { @@ -60912,52 +67155,52 @@ ] }, { - "id": "0x38e79b8", + "id": "0x7f0da6b48550", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33743, + "offset": 36234, "col": 16, "tokLen": 1 }, "end": { - "offset": 33898, - "line": 1110, + "offset": 36389, + "line": 1191, "col": 5, "tokLen": 1 } }, "inner": [ { - "id": "0x38e76f0", + "id": "0x7f0da6b48300", "kind": "CaseStmt", "range": { "begin": { - "offset": 33749, - "line": 1104, + "offset": 36240, + "line": 1185, "col": 5, "tokLen": 4 }, "end": { - "offset": 33772, - "line": 1105, + "offset": 36263, + "line": 1186, "col": 16, "tokLen": 5 } }, "inner": [ { - "id": "0x38e76d0", + "id": "0x7f0da6b482e0", "kind": "ConstantExpr", "range": { "begin": { - "offset": 33754, - "line": 1104, + "offset": 36245, + "line": 1185, "col": 10, "tokLen": 1 }, "end": { - "offset": 33754, + "offset": 36245, "col": 10, "tokLen": 1 } @@ -60969,16 +67212,16 @@ "value": "0", "inner": [ { - "id": "0x38e76b0", + "id": "0x7f0da6b482c0", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33754, + "offset": 36245, "col": 10, "tokLen": 1 }, "end": { - "offset": 33754, + "offset": 36245, "col": 10, "tokLen": 1 } @@ -60992,33 +67235,33 @@ ] }, { - "id": "0x38e7728", + "id": "0x7f0da6b48338", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33765, - "line": 1105, + "offset": 36256, + "line": 1186, "col": 9, "tokLen": 6 }, "end": { - "offset": 33772, + "offset": 36263, "col": 16, "tokLen": 5 } }, "inner": [ { - "id": "0x38e7718", + "id": "0x7f0da6b48328", "kind": "CXXBoolLiteralExpr", "range": { "begin": { - "offset": 33772, + "offset": 36263, "col": 16, "tokLen": 5 }, "end": { - "offset": 33772, + "offset": 36263, "col": 16, "tokLen": 5 } @@ -61034,35 +67277,35 @@ ] }, { - "id": "0x38e7778", + "id": "0x7f0da6b48388", "kind": "CaseStmt", "range": { "begin": { - "offset": 33783, - "line": 1106, + "offset": 36274, + "line": 1187, "col": 5, "tokLen": 4 }, "end": { - "offset": 33806, - "line": 1107, + "offset": 36297, + "line": 1188, "col": 16, "tokLen": 4 } }, "inner": [ { - "id": "0x38e7758", + "id": "0x7f0da6b48368", "kind": "ConstantExpr", "range": { "begin": { - "offset": 33788, - "line": 1106, + "offset": 36279, + "line": 1187, "col": 10, "tokLen": 1 }, "end": { - "offset": 33788, + "offset": 36279, "col": 10, "tokLen": 1 } @@ -61074,16 +67317,16 @@ "value": "1", "inner": [ { - "id": "0x38e7738", + "id": "0x7f0da6b48348", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 33788, + "offset": 36279, "col": 10, "tokLen": 1 }, "end": { - "offset": 33788, + "offset": 36279, "col": 10, "tokLen": 1 } @@ -61097,33 +67340,33 @@ ] }, { - "id": "0x38e77b0", + "id": "0x7f0da6b483c0", "kind": "ReturnStmt", "range": { "begin": { - "offset": 33799, - "line": 1107, + "offset": 36290, + "line": 1188, "col": 9, "tokLen": 6 }, "end": { - "offset": 33806, + "offset": 36297, "col": 16, "tokLen": 4 } }, "inner": [ { - "id": "0x38e77a0", + "id": "0x7f0da6b483b0", "kind": "CXXBoolLiteralExpr", "range": { "begin": { - "offset": 33806, + "offset": 36297, "col": 16, "tokLen": 4 }, "end": { - "offset": 33806, + "offset": 36297, "col": 16, "tokLen": 4 } @@ -61139,34 +67382,34 @@ ] }, { - "id": "0x38e7998", + "id": "0x7f0da6b48530", "kind": "DefaultStmt", "range": { "begin": { - "offset": 33816, - "line": 1108, + "offset": 36307, + "line": 1189, "col": 5, "tokLen": 7 }, "end": { - "offset": 33891, - "line": 1109, + "offset": 36382, + "line": 1190, "col": 67, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7980", + "id": "0x7f0da6b48518", "kind": "ExprWithCleanups", "range": { "begin": { - "offset": 33833, + "offset": 36324, "col": 9, "tokLen": 5 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } @@ -61178,16 +67421,16 @@ "cleanupsHaveSideEffects": true, "inner": [ { - "id": "0x38e7968", + "id": "0x7f0da6b48500", "kind": "CXXThrowExpr", "range": { "begin": { - "offset": 33833, + "offset": 36324, "col": 9, "tokLen": 5 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } @@ -61198,74 +67441,77 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e7938", + "id": "0x7f0da6b484d0", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { - "qualType": "void (sls::RuntimeError &&) noexcept" + "qualType": "void (RuntimeError &&) noexcept" }, "elidable": true, "hadMultipleCandidates": true, "constructionKind": "complete", "inner": [ { - "id": "0x38e7920", + "id": "0x7f0da6b484b8", "kind": "MaterializeTemporaryExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "xvalue", "storageDuration": "full expression", "inner": [ { - "id": "0x38e78f8", + "id": "0x7f0da6b48490", "kind": "CXXFunctionalCastExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "castKind": "ConstructorConversion", "conversionFunc": { - "id": "0x2da84b8", + "id": "0x2c968a58", "kind": "CXXConstructorDecl", "name": "RuntimeError", "type": { @@ -61274,27 +67520,28 @@ }, "inner": [ { - "id": "0x38e78d8", + "id": "0x7f0da6b48470", "kind": "CXXBindTemporaryExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", - "temp": "0x38e78d0", + "temp": "0x7f0da6b48468", "dtor": { - "id": "0x2da8c50", + "id": "0x2c9692d0", "kind": "CXXDestructorDecl", "name": "~RuntimeError", "type": { @@ -61303,22 +67550,23 @@ }, "inner": [ { - "id": "0x38e78a0", + "id": "0x7f0da6b48438", "kind": "CXXConstructExpr", "range": { "begin": { - "offset": 33839, + "offset": 36330, "col": 15, "tokLen": 12 }, "end": { - "offset": 33891, + "offset": 36382, "col": 67, "tokLen": 1 } }, "type": { - "qualType": "sls::RuntimeError" + "desugaredQualType": "sls::RuntimeError", + "qualType": "RuntimeError" }, "valueCategory": "prvalue", "ctorType": { @@ -61328,16 +67576,16 @@ "constructionKind": "complete", "inner": [ { - "id": "0x38e7888", + "id": "0x7f0da6b48420", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 }, "end": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 } @@ -61349,16 +67597,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e7848", + "id": "0x7f0da6b483e0", "kind": "StringLiteral", "range": { "begin": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 }, "end": { - "offset": 33852, + "offset": 36343, "col": 28, "tokLen": 39 } @@ -61396,29 +67644,29 @@ ] }, { - "id": "0x38e7b28", + "id": "0x7f0da6b486c8", "kind": "FunctionDecl", "loc": { - "offset": 33923, + "offset": 36414, "file": "ToString.cpp", - "line": 1113, + "line": 1194, "col": 21, "tokLen": 8 }, "range": { "begin": { - "offset": 33903, + "offset": 36394, "col": 1, "tokLen": 8 }, "end": { - "offset": 34056, - "line": 1116, + "offset": 36547, + "line": 1197, "col": 1, "tokLen": 1 } }, - "previousDecl": "0x368f668", + "previousDecl": "0x2d37db18", "name": "StringTo", "mangledName": "_ZN3sls8StringToIlEET_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", "type": { @@ -61432,7 +67680,7 @@ }, "inner": [ { - "id": "0x230bb50", + "id": "0x2bf08d10", "kind": "BuiltinType", "type": { "qualType": "long" @@ -61441,22 +67689,22 @@ ] }, { - "id": "0x38e7a68", + "id": "0x7f0da6b48600", "kind": "ParmVarDecl", "loc": { - "offset": 33951, - "line": 1113, + "offset": 36442, + "line": 1194, "col": 49, "tokLen": 1 }, "range": { "begin": { - "offset": 33932, + "offset": 36423, "col": 30, "tokLen": 5 }, "end": { - "offset": 33951, + "offset": 36442, "col": 49, "tokLen": 1 } @@ -61468,55 +67716,55 @@ } }, { - "id": "0x38e81b8", + "id": "0x7f0da6b48d88", "kind": "CompoundStmt", "range": { "begin": { - "offset": 33954, + "offset": 36445, "col": 52, "tokLen": 1 }, "end": { - "offset": 34056, - "line": 1116, + "offset": 36547, + "line": 1197, "col": 1, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7fc8", + "id": "0x7f0da6b48b98", "kind": "DeclStmt", "range": { "begin": { - "offset": 33960, - "line": 1114, + "offset": 36451, + "line": 1195, "col": 5, "tokLen": 3 }, "end": { - "offset": 34014, + "offset": 36505, "col": 59, "tokLen": 1 } }, "inner": [ { - "id": "0x38e7cc8", + "id": "0x7f0da6b48898", "kind": "VarDecl", "loc": { - "offset": 33964, + "offset": 36455, "col": 9, "tokLen": 4 }, "range": { "begin": { - "offset": 33960, + "offset": 36451, "col": 5, "tokLen": 3 }, "end": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 } @@ -61529,16 +67777,16 @@ "init": "c", "inner": [ { - "id": "0x38e7f98", + "id": "0x7f0da6b48b68", "kind": "ConditionalOperator", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 } @@ -61549,16 +67797,16 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e7f38", + "id": "0x7f0da6b48b08", "kind": "BinaryOperator", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 34000, + "offset": 36491, "col": 45, "tokLen": 4 } @@ -61570,38 +67818,38 @@ "opcode": "!=", "inner": [ { - "id": "0x38e7e10", + "id": "0x7f0da6b489e0", "kind": "CXXMemberCallExpr", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 33982, + "offset": 36473, "col": 27, "tokLen": 1 } }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "inner": [ { - "id": "0x38e7de0", + "id": "0x7f0da6b489b0", "kind": "MemberExpr", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 33973, + "offset": 36464, "col": 18, "tokLen": 4 } @@ -61612,19 +67860,19 @@ "valueCategory": "prvalue", "name": "find", "isArrow": false, - "referencedMemberDecl": "0x2ca1d70", + "referencedMemberDecl": "0x2c8ca830", "inner": [ { - "id": "0x38e7d30", + "id": "0x7f0da6b48900", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 }, "end": { - "offset": 33971, + "offset": 36462, "col": 16, "tokLen": 1 } @@ -61632,11 +67880,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7a68", + "id": "0x7f0da6b48600", "kind": "ParmVarDecl", "name": "s", "type": { @@ -61647,16 +67895,16 @@ ] }, { - "id": "0x38e7e40", + "id": "0x7f0da6b48a10", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 }, "end": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 } @@ -61668,16 +67916,16 @@ "castKind": "ArrayToPointerDecay", "inner": [ { - "id": "0x38e7dc0", + "id": "0x7f0da6b48990", "kind": "StringLiteral", "range": { "begin": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 }, "end": { - "offset": 33978, + "offset": 36469, "col": 23, "tokLen": 4 } @@ -61691,7 +67939,7 @@ ] }, { - "id": "0x38e7e58", + "id": "0x7f0da6b48a28", "kind": "CXXDefaultArgExpr", "range": { "begin": {}, @@ -61699,24 +67947,24 @@ }, "type": { "desugaredQualType": "unsigned long", - "qualType": "std::basic_string::size_type", - "typeAliasDeclId": "0x2c82e40" + "qualType": "size_type", + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue" } ] }, { - "id": "0x38e7f20", + "id": "0x7f0da6b48af0", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 33987, + "offset": 36478, "col": 32, "tokLen": 3 }, "end": { - "offset": 34000, + "offset": 36491, "col": 45, "tokLen": 4 } @@ -61724,22 +67972,22 @@ "type": { "desugaredQualType": "unsigned long", "qualType": "typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "prvalue", "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e7ef0", + "id": "0x7f0da6b48ac0", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 33987, + "offset": 36478, "col": 32, "tokLen": 3 }, "end": { - "offset": 34000, + "offset": 36491, "col": 45, "tokLen": 4 } @@ -61747,17 +67995,17 @@ "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x31f4700", + "id": "0x2d0eda20", "kind": "VarDecl", "name": "npos", "type": { "desugaredQualType": "const unsigned long", "qualType": "const typename basic_string, allocator>::size_type", - "typeAliasDeclId": "0x2c82e40" + "typeAliasDeclId": "0x2c8ab7b0" } }, "nonOdrUseReason": "constant" @@ -61767,16 +68015,16 @@ ] }, { - "id": "0x38e7f58", + "id": "0x7f0da6b48b28", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 34007, + "offset": 36498, "col": 52, "tokLen": 2 }, "end": { - "offset": 34007, + "offset": 36498, "col": 52, "tokLen": 2 } @@ -61788,16 +68036,16 @@ "value": "16" }, { - "id": "0x38e7f78", + "id": "0x7f0da6b48b48", "kind": "IntegerLiteral", "range": { "begin": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 }, "end": { - "offset": 34012, + "offset": 36503, "col": 57, "tokLen": 2 } @@ -61815,33 +68063,33 @@ ] }, { - "id": "0x38e81a8", + "id": "0x7f0da6b48d78", "kind": "ReturnStmt", "range": { "begin": { - "offset": 34020, - "line": 1115, + "offset": 36511, + "line": 1196, "col": 5, "tokLen": 6 }, "end": { - "offset": 34053, + "offset": 36544, "col": 38, "tokLen": 1 } }, "inner": [ { - "id": "0x38e8140", + "id": "0x7f0da6b48d10", "kind": "CallExpr", "range": { "begin": { - "offset": 34027, + "offset": 36518, "col": 12, "tokLen": 3 }, "end": { - "offset": 34053, + "offset": 36544, "col": 38, "tokLen": 1 } @@ -61852,67 +68100,67 @@ "valueCategory": "prvalue", "inner": [ { - "id": "0x38e8128", + "id": "0x7f0da6b48cf8", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 34027, + "offset": 36518, "col": 12, "tokLen": 3 }, "end": { - "offset": 34032, + "offset": 36523, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "long (*)(const std::string &, std::size_t *, int)" + "qualType": "long (*)(const string &, size_t *, int)" }, "valueCategory": "prvalue", "castKind": "FunctionToPointerDecay", "inner": [ { - "id": "0x38e80a0", + "id": "0x7f0da6b48c70", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 34027, + "offset": 36518, "col": 12, "tokLen": 3 }, "end": { - "offset": 34032, + "offset": 36523, "col": 17, "tokLen": 4 } }, "type": { - "qualType": "long (const std::string &, std::size_t *, int)" + "qualType": "long (const string &, size_t *, int)" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x2ca7f70", + "id": "0x2c8d05c0", "kind": "FunctionDecl", "name": "stol", "type": { - "qualType": "long (const std::string &, std::size_t *, int)" + "qualType": "long (const string &, size_t *, int)" } } } ] }, { - "id": "0x38e8050", + "id": "0x7f0da6b48c20", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 34037, + "offset": 36528, "col": 22, "tokLen": 1 }, "end": { - "offset": 34037, + "offset": 36528, "col": 22, "tokLen": 1 } @@ -61920,11 +68168,11 @@ "type": { "desugaredQualType": "const std::basic_string", "qualType": "const std::string", - "typeAliasDeclId": "0x2a12a80" + "typeAliasDeclId": "0x2c6c0c90" }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7a68", + "id": "0x7f0da6b48600", "kind": "ParmVarDecl", "name": "s", "type": { @@ -61933,37 +68181,37 @@ } }, { - "id": "0x38e8178", + "id": "0x7f0da6b48d48", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 }, "end": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 } }, "type": { - "qualType": "std::size_t *" + "qualType": "size_t *" }, "valueCategory": "prvalue", "castKind": "NullToPointer", "inner": [ { - "id": "0x38e8070", + "id": "0x7f0da6b48c40", "kind": "CXXNullPtrLiteralExpr", "range": { "begin": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 }, "end": { - "offset": 34040, + "offset": 36531, "col": 25, "tokLen": 7 } @@ -61976,16 +68224,16 @@ ] }, { - "id": "0x38e8190", + "id": "0x7f0da6b48d60", "kind": "ImplicitCastExpr", "range": { "begin": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 }, "end": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 } @@ -61997,16 +68245,16 @@ "castKind": "LValueToRValue", "inner": [ { - "id": "0x38e8080", + "id": "0x7f0da6b48c50", "kind": "DeclRefExpr", "range": { "begin": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 }, "end": { - "offset": 34049, + "offset": 36540, "col": 34, "tokLen": 4 } @@ -62016,7 +68264,7 @@ }, "valueCategory": "lvalue", "referencedDecl": { - "id": "0x38e7cc8", + "id": "0x7f0da6b48898", "kind": "VarDecl", "name": "base", "type": { diff --git a/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh b/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh index 30f0b032f..c4c36afe7 100644 --- a/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh +++ b/slsDetectorSoftware/generator/autocomplete/zsh_autocomplete.sh @@ -4,7 +4,7 @@ _sd() { -local SLS_COMMANDS=" acquire activate adcclk adcenable adcenable10g adcindex adcinvert adclist adcname adcphase adcpipeline adcreg adcvpp apulse asamples autocompdisable badchannels blockingtrigger burstmode burstperiod bursts burstsl bustest cdsgain chipversion clearbit clearbusy clearroi clientversion clkdiv clkfreq clkphase column compdisabletime confadc config configtransceiver counters currentsource dac dacindex daclist dacname dacvalues datastream dbitclk dbitphase dbitpipeline defaultdac defaultpattern delay delayl detectorserverversion detsize diodelay dpulse dr drlist dsamples execcommand exptime exptime1 exptime2 exptime3 exptimel extrastoragecells extsampling extsamplingsrc extsig fformat filtercells filterresistor findex firmwaretest firmwareversion fliprows flowcontrol10g fmaster fname foverwrite fpath framecounter frames framesl frametime free fwrite gaincaps gainmode gappixels gatedelay gatedelay1 gatedelay2 gatedelay3 gates getbit hardwareversion highvoltage hostname im_a im_b im_c im_d im_io imagetest initialchecks inj_ch interpolation interruptsubframe kernelversion lastclient led lock master maxadcphaseshift maxclkphaseshift maxdbitphaseshift measuredperiod measuredsubperiod moduleid nextframenumber nmod numinterfaces overflow packageversion parallel parameters partialreset patfname patioctrl patlimits patloop patloop0 patloop1 patloop2 patmask patnloop patnloop0 patnloop1 patnloop2 patsetbit patternX patternstart patwait patwait0 patwait1 patwait2 patwaittime patwaittime0 patwaittime1 patwaittime2 patword pedestalmode period periodl polarity port powerchip powerindex powerlist powername powervalues programfpga pulse pulsechip pulsenmove pumpprobe quad ratecorr readnrows readout readoutspeed readoutspeedlist rebootcontroller reg resetdacs resetfpga roi romode row runclk runtime rx_arping rx_clearroi rx_dbitlist rx_dbitoffset rx_discardpolicy rx_fifodepth rx_frameindex rx_framescaught rx_framesperfile rx_hostname rx_jsonaddheader rx_jsonpara rx_lastclient rx_lock rx_missingpackets rx_padding rx_printconfig rx_realudpsocksize rx_roi rx_silent rx_start rx_status rx_stop rx_tcpport rx_threads rx_udpsocksize rx_version rx_zmqfreq rx_zmqhwm rx_zmqip rx_zmqport rx_zmqstartfnum rx_zmqstream samples savepattern scan scanerrmsg selinterface serialnumber setbit settings settingslist settingspath signalindex signallist signalname slowadc slowadcindex slowadclist slowadcname slowadcvalues start status stop stopport storagecell_delay storagecell_start subdeadtime subexptime sync syncclk temp_10ge temp_adc temp_control temp_dcdc temp_event temp_fpga temp_fpgaext temp_fpgafl temp_fpgafr temp_slowadc temp_sodl temp_sodr temp_threshold templist tempvalues tengiga threshold thresholdnotb timing timinglist timingsource top transceiverenable trigger triggers triggersl trimbits trimen trimval tsamples txdelay txdelay_frame txdelay_left txdelay_right type udp_cleardst udp_dstip udp_dstip2 udp_dstlist udp_dstmac udp_dstmac2 udp_dstport udp_dstport2 udp_firstdst udp_numdst udp_reconfigure udp_srcip udp_srcip2 udp_srcmac udp_srcmac2 udp_validate update updatedetectorserver updatekernel updatemode user v_a v_b v_c v_chip v_d v_io v_limit vchip_comp_adc vchip_comp_fe vchip_cs vchip_opa_1st vchip_opa_fd vchip_ref_comp_fe versions veto vetoalg vetofile vetophoton vetoref vetostream virtual vm_a vm_b vm_c vm_d vm_io zmqhwm zmqip zmqport " +local SLS_COMMANDS=" acquire activate adcclk adcenable adcenable10g adcindex adcinvert adclist adcname adcphase adcpipeline adcreg adcvpp apulse asamples autocompdisable badchannels blockingtrigger burstmode burstperiod bursts burstsl bustest cdsgain chipversion clearbit clearbusy clearroi clientversion clkdiv clkfreq clkphase collectionmode column compdisabletime confadc config configtransceiver counters currentsource dac dacindex daclist dacname dacvalues datastream dbitclk dbitphase dbitpipeline defaultdac defaultpattern delay delayl detectorserverversion detsize diodelay dpulse dr drlist dsamples execcommand exptime exptime1 exptime2 exptime3 exptimel extrastoragecells extsampling extsamplingsrc extsig fformat filtercells filterresistor findex firmwaretest firmwareversion fliprows flowcontrol10g fmaster fname foverwrite fpath framecounter frames framesl frametime free fwrite gaincaps gainmode gappixels gatedelay gatedelay1 gatedelay2 gatedelay3 gates getbit hardwareversion highvoltage hostname im_a im_b im_c im_d im_io imagetest initialchecks inj_ch interpolation interruptsubframe kernelversion lastclient led lock master maxadcphaseshift maxclkphaseshift maxdbitphaseshift measuredperiod measuredsubperiod moduleid nextframenumber nmod numinterfaces overflow packageversion parallel parameters partialreset patfname patioctrl patlimits patloop patloop0 patloop1 patloop2 patmask patnloop patnloop0 patnloop1 patnloop2 patsetbit patternX patternstart patwait patwait0 patwait1 patwait2 patwaittime patwaittime0 patwaittime1 patwaittime2 patword pedestalmode period periodl polarity port powerchip powerindex powerlist powername powervalues programfpga pulse pulsechip pulsenmove pumpprobe quad ratecorr readnrows readout readoutspeed readoutspeedlist rebootcontroller reg resetdacs resetfpga roi romode row runclk runtime rx_arping rx_clearroi rx_dbitlist rx_dbitoffset rx_discardpolicy rx_fifodepth rx_frameindex rx_framescaught rx_framesperfile rx_hostname rx_jsonaddheader rx_jsonpara rx_lastclient rx_lock rx_missingpackets rx_padding rx_printconfig rx_realudpsocksize rx_roi rx_silent rx_start rx_status rx_stop rx_tcpport rx_threads rx_udpsocksize rx_version rx_zmqfreq rx_zmqhwm rx_zmqip rx_zmqport rx_zmqstartfnum rx_zmqstream samples savepattern scan scanerrmsg selinterface serialnumber setbit settings settingslist settingspath signalindex signallist signalname sleep slowadc slowadcindex slowadclist slowadcname slowadcvalues start status stop stopport storagecell_delay storagecell_start subdeadtime subexptime sync syncclk temp_10ge temp_adc temp_control temp_dcdc temp_event temp_fpga temp_fpgaext temp_fpgafl temp_fpgafr temp_slowadc temp_sodl temp_sodr temp_threshold templist tempvalues tengiga threshold thresholdnotb timing timing_info_decoder timinglist timingsource top transceiverenable trigger triggers triggersl trimbits trimen trimval tsamples txdelay txdelay_frame txdelay_left txdelay_right type udp_cleardst udp_dstip udp_dstip2 udp_dstlist udp_dstmac udp_dstmac2 udp_dstport udp_dstport2 udp_firstdst udp_numdst udp_reconfigure udp_srcip udp_srcip2 udp_srcmac udp_srcmac2 udp_validate update updatedetectorserver updatekernel updatemode user v_a v_b v_c v_chip v_d v_io v_limit vchip_comp_adc vchip_comp_fe vchip_cs vchip_opa_1st vchip_opa_fd vchip_ref_comp_fe versions veto vetoalg vetofile vetophoton vetoref vetostream virtual vm_a vm_b vm_c vm_d vm_io zmqhwm zmqip zmqport " __acquire() { FCN_RETURN="" return 0 @@ -254,6 +254,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -266,6 +269,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -331,6 +337,15 @@ fi fi return 0 } +__collectionmode() { +FCN_RETURN="" +if [[ ${IS_GET} -eq 0 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="electron hole" +fi +fi +return 0 +} __column() { FCN_RETURN="" if [[ ${IS_GET} -eq 0 ]]; then @@ -1738,6 +1753,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -1750,6 +1768,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi if [[ ${IS_GET} -eq 0 ]]; then if [[ "${cword}" == "2" ]]; then @@ -2035,11 +2056,6 @@ return 0 } __rx_zmqip() { FCN_RETURN="" -if [[ ${IS_GET} -eq 0 ]]; then -if [[ "${cword}" == "2" ]]; then -FCN_RETURN="" -fi -fi return 0 } __rx_zmqport() { @@ -2140,6 +2156,9 @@ fi if [[ "${cword}" == "3" ]]; then FCN_RETURN="" fi +if [[ "${cword}" == "4" ]]; then +FCN_RETURN="--validate" +fi fi return 0 } @@ -2201,6 +2220,26 @@ fi fi return 0 } +__sleep() { +FCN_RETURN="" +if [[ ${IS_GET} -eq 1 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="" +fi +if [[ "${cword}" == "3" ]]; then +FCN_RETURN="" +fi +fi +if [[ ${IS_GET} -eq 0 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="" +fi +if [[ "${cword}" == "3" ]]; then +FCN_RETURN="ms ns s us" +fi +fi +return 0 +} __slowadc() { FCN_RETURN="" if [[ ${IS_GET} -eq 1 ]]; then @@ -2477,6 +2516,15 @@ fi fi return 0 } +__timing_info_decoder() { +FCN_RETURN="" +if [[ ${IS_GET} -eq 0 ]]; then +if [[ "${cword}" == "2" ]]; then +FCN_RETURN="shine swissfel" +fi +fi +return 0 +} __timinglist() { FCN_RETURN="" return 0 diff --git a/slsDetectorSoftware/generator/commands.yaml b/slsDetectorSoftware/generator/commands.yaml index 19745ce46..2fd5b3ed5 100644 --- a/slsDetectorSoftware/generator/commands.yaml +++ b/slsDetectorSoftware/generator/commands.yaml @@ -556,7 +556,7 @@ settingspath: arg_types: [ special::path ] fpath: - help: "[path]\n\tDirectory where output data files are written in receiver. Default is '/'. \n\tIf path does not exist, it will try to create it." + help: "[path]\n\tDirectory where output data files are written in receiver. Default is '/'. \n\tIf path does not exist and fwrite enabled, it will try to create it at start of acquisition." inherit_actions: STRING_COMMAND actions: GET: @@ -764,7 +764,7 @@ readnrows: function: setReadNRows nextframenumber: - help: "[n_value]\n\t[Eiger][Jungfrau][Moench][Ctb][Xilinx Ctb] Next frame number. Stopping acquisition might result in different frame numbers for different modules." + help: "[n_value]\n\t[Eiger][Jungfrau][Moench][Ctb][Xilinx Ctb][Gotthard2] Next frame number. Stopping acquisition might result in different frame numbers for different modules. So, after stopping, next frame number (max + 1) is set for all the modules afterwards." inherit_actions: INTEGER_COMMAND_VEC_ID actions: GET: @@ -985,7 +985,7 @@ findex: input_types: [ uint64_t ] fwrite: - help: "[0, 1]\n\tEnable or disable receiver file write. Default is 1." + help: "[0, 1]\n\tEnable or disable receiver file write. Default is 0." inherit_actions: INTEGER_COMMAND_VEC_ID actions: GET: @@ -1041,18 +1041,6 @@ rx_zmqstartfnum: PUT: function: setRxZmqStartingFrame -rx_zmqip: - help: "[x.x.x.x]\n\tZmq Ip Address from which data is to be streamed out of the receiver. Also restarts receiver zmq streaming if enabled. Default is from rx_hostname. Modified only when using an intermediate process between receiver." - inherit_actions: INTEGER_COMMAND_VEC_ID - actions: - GET: - function: getRxZmqIP - PUT: - function: setRxZmqIP - input_types: [ IpAddr ] - input: [ 'IpAddr(args[0])' ] - cast_input: [ false ] - zmqip: help: "[x.x.x.x]\n\tIp Address to listen to zmq data streamed out from receiver or intermediate process. Default connects to receiver zmq Ip Address (from rx_hostname). Modified only when using an intermediate process between receiver and client(gui). Also restarts client zmq streaming if enabled." inherit_actions: INTEGER_COMMAND_VEC_ID @@ -1154,7 +1142,7 @@ storagecell_start: function: setStorageCellStart gainmode: - help: "[dynamicgain|forceswitchg1|forceswitchg2|fixg1|fixg2|fixg0]\n\t[Jungfrau] Gain mode.\n\tCAUTION: Do not use fixg0 without caution, you can damage the detector!!!" + help: "[dynamic|forceswitchg1|forceswitchg2|fixg1|fixg2|fixg0]\n\t[Jungfrau] Gain mode.\n\tCAUTION: Do not use fixg0 without caution, you can damage the detector!!!" inherit_actions: INTEGER_COMMAND_VEC_ID actions: GET: @@ -1221,6 +1209,26 @@ polarity: function: setPolarity input_types: [ defs::polarity ] +timing_info_decoder: + help: "[swissfel|shine]\n\t[Jungfrau] Advanced Command and only for Swissfel and Shine. Sets the bunch id or timing info decoder. Default is swissfel." + inherit_actions: INTEGER_COMMAND_VEC_ID + actions: + GET: + function: getTimingInfoDecoder + PUT: + function: setTimingInfoDecoder + input_types: [ defs::timingInfoDecoder ] + +collectionmode: + help: "[hole|electron]\n\t[Jungfrau] Sets collection mode to hole or electron. Default is hole." + inherit_actions: INTEGER_COMMAND_VEC_ID + actions: + GET: + function: getCollectionMode + PUT: + function: setCollectionMode + input_types: [ defs::collectionMode ] + interpolation: help: "[0, 1]\n\t[Mythen3] Enables or disables interpolation. Default is disabled. Interpolation mode enables all counters and disables vth3. Disabling sets back counter mask and vth3." inherit_actions: INTEGER_COMMAND_VEC_ID @@ -2578,6 +2586,14 @@ rx_hostname: PUT: argc: -1 +rx_zmqip: + is_description: true + actions: + GET: + argc: 0 + PUT: + argc: -1 + rx_roi: is_description: true actions: @@ -2694,6 +2710,17 @@ gaincaps: argc: -1 arg_types: [ defs::defs::M3_GainCaps ] +sleep: + is_description: true + actions: + PUT: + args: + - argc: 1 + arg_types: [ int ] + - argc: 2 + arg_types: [ int, special::time_unit ] + + ################# special commands ########################## virtual: @@ -2887,7 +2914,7 @@ exptime3: value: 2 readoutspeed: - help: "\n\t[0 or full_speed|1 or half_speed|2 or quarter_speed]\n\t[Eiger][Jungfrau][Moench] Readout speed of chip.\n\t[Eiger][Moench] Default speed is full_speed.\n\t[Jungfrau] Default speed is half_speed. full_speed option only available from v2.0 boards and is recommended to set number of interfaces to 2. Also overwrites adcphase to recommended default.\n\t [144|108]\n\t\t[Gotthard2] Readout speed of chip in MHz. Default is 108." + help: "\n\t[0 or full_speed|1 or half_speed|2 or quarter_speed]\n\t[Eiger][Jungfrau][Moench][Mythen3] Readout speed of chip.\n\t[Eiger][Moench] Default speed is full_speed.\n\t[Jungfrau][Mythen3] Default speed is half_speed. \n\t[Jungfrau] full_speed option only available from v2.0 boards and is recommended to set number of interfaces to 2. Also overwrites adcphase to recommended default.\n\t [144|108]\n\t\t[Gotthard2] Readout speed of chip in MHz. Default is 108." actions: GET: extra_variables: @@ -3027,7 +3054,7 @@ dbitphase: output: [ 'args[0]',"' '", 'args[1]' ] clkfreq: - help: "[n_clock (0-5)] [freq_in_Hz]\n\t[Gotthard2][Mythen3] Frequency of clock n_clock in Hz. Use clkdiv to set frequency." + help: "[n_clock] [freq_in_Hz]\n\t[Gotthard2][Mythen3] Frequency of clock n_clock in Hz. Use clkdiv to set frequency.\n\t[Gotthard2] Clock index range: 0-5\n\t[Mythen3] Clock index range: 0" actions: GET: extra_variables: @@ -3046,7 +3073,7 @@ clkfreq: output: [ OutString(t) ] clkphase: - help: "[n_clock (0-5)] [phase] [deg (optional)]\n\t[Gotthard2][Mythen3] Phase of clock n_clock. If deg, then phase shift in degrees, else absolute phase shift values." + help: "[n_clock] [phase] [deg (optional)]\n\t[Gotthard2][Mythen3] Phase of clock n_clock. If deg, then phase shift in degrees, else absolute phase shift values.n\t[Gotthard2] Clock index range: 0-5\n\t[Mythen3] Clock index range: 0" actions: GET: extra_variables: @@ -3101,7 +3128,7 @@ clkphase: output: [ 'args[1]', '" "', 'args[2]' ] maxclkphaseshift: - help: "[n_clock (0-5)]\n\t[Gotthard2][Mythen3] Absolute Maximum Phase shift of clock n_clock." + help: "[n_clock]\n\t[Gotthard2][Mythen3] Absolute Maximum Phase shift of clock n_clock.n\t[Gotthard2] Clock index range: 0-5\n\t[Mythen3] Clock index range: 0" actions: GET: extra_variables: @@ -3120,7 +3147,7 @@ maxclkphaseshift: function: getMaxClockPhaseShift clkdiv: - help: "[n_clock (0-5)] [n_divider]\n\t[Gotthard2][Mythen3] Clock Divider of clock n_clock. Must be greater than 1." + help: "[n_clock] [n_divider]\n\t[Gotthard2][Mythen3] Clock Divider of clock n_clock. Must be greater than 1.n\t[Gotthard2] Clock index range: 0-5\n\t[Mythen3] Clock index range: 0" actions: GET: extra_variables: @@ -3936,7 +3963,7 @@ patloop: output: [level,"' '" , "'['" , "ToStringHex(start, 4)" , '", "' , "ToStringHex(stop, 4)", "']'" ] patloop0: - help: "Depreciated command. Use patloop." + help: "Deprecated command. Use patloop." inherit_actions: patloop actions: GET: @@ -3983,7 +4010,7 @@ patnloop: output: [ level,"' '" , nloops ] patnloop0: - help: "Depreciated command. Use patnloop." + help: "Deprecated command. Use patnloop." inherit_actions: patnloop actions: GET: @@ -4029,7 +4056,7 @@ patwait: output: [level,"' '" , "ToStringHex(addr, 4)" ] patwait0: - help: "Depreciated command. Use patwait." + help: "Deprecated command. Use patwait." inherit_actions: patwait actions: GET: @@ -4075,7 +4102,7 @@ patwaittime: output: [level,"' '" , "waittime" ] patwaittime0: - help: "Depreciated command. Use patwaittime." + help: "Deprecated command. Use patwaittime." inherit_actions: patwaittime actions: GET: @@ -4177,7 +4204,7 @@ update: output: [ '"successful"' ] reg: - help: "[address] [32 bit value]\n\t[Mythen3][Gotthard2] Reads/writes to a 32 bit register in hex. Advanced Function!\n\tGoes to stop server. Hence, can be called while calling blocking acquire().\n\t[Eiger] +0x100 for only left, +0x200 for only right." + help: "[address] [32 bit value][(optional)--validate]\n\t[Mythen3][Gotthard2] Reads/writes to a 32 bit register in hex. Advanced Function!\n\tGoes to stop server. Hence, can be called while calling blocking acquire().\n\t\t Use --validate to force validation when writing to it.\n\t[Eiger] +0x100 for only left, +0x200 for only right." actions: GET: argc: 1 @@ -4188,13 +4215,23 @@ reg: cast_input: [ true ] output: [ OutStringHex(t) ] PUT: - argc: 2 require_det_id: true function: writeRegister - input: [ 'args[0]', 'args[1]' ] - input_types: [ uint32_t, uint32_t ] - cast_input: [ true, true ] - output: [ ToString(args) ] + output: [ '"["', 'args[0]', '", "', 'args[1]', '"]"' ] + args: + - argc: 2 + input: [ 'args[0]', 'args[1]', '"0"' ] + input_types: [ uint32_t, uint32_t, bool ] + arg_types: [ uint32_t, uint32_t ] + cast_input: [ true, true, true ] + - argc: 3 + arg_types: [ uint32_t, uint32_t, special::validate ] + exceptions: + - condition: 'args[2] != "--validate"' + message: '"Could not scan third argument. Did you mean --validate?"' + input: [ 'args[0]', 'args[1]', '"1"' ] + input_types: [ uint32_t, uint32_t, bool ] + cast_input: [ true, true, true ] adcreg: help: "[address] [value]\n\t[Jungfrau][Moench][Ctb][Gotthard] Writes to an adc register in hex. Advanced user Function!" @@ -4227,27 +4264,40 @@ Setbit: template: true actions: PUT: - argc: 2 - exceptions: - - condition: 'StringTo(args[1]) < 0 || StringTo(args[1]) > 31' - message: '"Bit number out of range: " + args[1]' require_det_id: true function: setBit - input: [ 'args[0]', 'args[1]' ] - input_types: [ uint32_t, int ] - cast_input: [ true, true ] - output: [ ToString(args) ] + output: [ '"["', 'args[0]', '", "', 'args[1]', '"]"' ] + args: + - argc: 2 + exceptions: + - condition: 'StringTo(args[1]) < 0 || StringTo(args[1]) > 31' + message: '"Bit number out of range: " + args[1]' + input: [ 'args[0]', 'args[1]', '"0"' ] + input_types: [ uint32_t, int, bool ] + arg_types: [ uint32_t, int ] + cast_input: [ true, true, true ] + - argc: 3 + arg_types: [ uint32_t, int, special::validate ] + exceptions: + - condition: 'StringTo(args[1]) < 0 || StringTo(args[1]) > 31' + message: '"Bit number out of range: " + args[1]' + - condition: 'args[2] != "--validate"' + message: '"Could not scan third argument. Did you mean --validate?"' + input: [ 'args[0]', 'args[1]', '"1"' ] + input_types: [ uint32_t, int, bool ] + cast_input: [ true, true, true ] + setbit: inherit_actions: Setbit - help: "[reg address in hex] [bit index]\n\tSets bit in address." + help: "[reg address in hex] [bit index]\n\tSets bit in address.\n\tUse --validate to force validation." actions: PUT: function: setBit clearbit: inherit_actions: Setbit - help: "[reg address in hex] [bit index]\n\tClears bit in address." + help: "[reg address in hex] [bit index]\n\tClears bit in address.\n\tUse --validate to force validation." actions: PUT: function: clearBit diff --git a/slsDetectorSoftware/generator/extended_commands.yaml b/slsDetectorSoftware/generator/extended_commands.yaml index f3c0b3fc9..d60e205d2 100644 --- a/slsDetectorSoftware/generator/extended_commands.yaml +++ b/slsDetectorSoftware/generator/extended_commands.yaml @@ -1104,6 +1104,7 @@ clearbit: cast_input: - true - true + - true check_det_id: false convert_det_id: true exceptions: @@ -1113,16 +1114,56 @@ clearbit: input: - args[0] - args[1] + - '"0"' input_types: - uint32_t - int + - bool output: - - ToString(args) + - '"["' + - args[0] + - '", "' + - args[1] + - '"]"' + require_det_id: true + store_result_in_t: false + - arg_types: + - uint32_t + - int + - special::validate + argc: 3 + cast_input: + - true + - true + - true + check_det_id: false + convert_det_id: true + exceptions: + - condition: StringTo(args[1]) < 0 || StringTo(args[1]) > 31 + message: '"Bit number out of range: " + args[1]' + - condition: args[2] != "--validate" + message: '"Could not scan third argument. Did you mean --validate?"' + function: clearBit + input: + - args[0] + - args[1] + - '"1"' + input_types: + - uint32_t + - int + - bool + output: + - '"["' + - args[0] + - '", "' + - args[1] + - '"]"' require_det_id: true store_result_in_t: false command_name: clearbit function_alias: clearbit - help: "[reg address in hex] [bit index]\n\tClears bit in address." + help: "[reg address in hex] [bit index]\n\tClears bit in address.\n\tUse --validate\ + \ to force validation." infer_action: true template: true clearbusy: @@ -1251,8 +1292,9 @@ clkdiv: store_result_in_t: false command_name: clkdiv function_alias: clkdiv - help: "[n_clock (0-5)] [n_divider]\n\t[Gotthard2][Mythen3] Clock Divider of clock\ - \ n_clock. Must be greater than 1." + help: "[n_clock] [n_divider]\n\t[Gotthard2][Mythen3] Clock Divider of clock n_clock.\ + \ Must be greater than 1.n\t[Gotthard2] Clock index range: 0-5\n\t[Mythen3] Clock\ + \ index range: 0" infer_action: true clkfreq: actions: @@ -1283,8 +1325,9 @@ clkfreq: store_result_in_t: true command_name: clkfreq function_alias: clkfreq - help: "[n_clock (0-5)] [freq_in_Hz]\n\t[Gotthard2][Mythen3] Frequency of clock n_clock\ - \ in Hz. Use clkdiv to set frequency." + help: "[n_clock] [freq_in_Hz]\n\t[Gotthard2][Mythen3] Frequency of clock n_clock\ + \ in Hz. Use clkdiv to set frequency.\n\t[Gotthard2] Clock index range: 0-5\n\t\ + [Mythen3] Clock index range: 0" infer_action: true clkphase: actions: @@ -1403,10 +1446,50 @@ clkphase: store_result_in_t: false command_name: clkphase function_alias: clkphase - help: "[n_clock (0-5)] [phase] [deg (optional)]\n\t[Gotthard2][Mythen3] Phase of\ - \ clock n_clock. If deg, then phase shift in degrees, else absolute phase shift\ - \ values." + help: "[n_clock] [phase] [deg (optional)]\n\t[Gotthard2][Mythen3] Phase of clock\ + \ n_clock. If deg, then phase shift in degrees, else absolute phase shift values.n\t\ + [Gotthard2] Clock index range: 0-5\n\t[Mythen3] Clock index range: 0" infer_action: true +collectionmode: + actions: + GET: + args: + - arg_types: [] + argc: 0 + cast_input: [] + check_det_id: false + convert_det_id: true + function: getCollectionMode + input: [] + input_types: [] + output: + - OutString(t) + require_det_id: true + store_result_in_t: true + PUT: + args: + - arg_types: + - defs::collectionMode + argc: 1 + cast_input: + - true + check_det_id: false + convert_det_id: true + function: setCollectionMode + input: + - args[0] + input_types: + - defs::collectionMode + output: + - args.front() + require_det_id: true + store_result_in_t: false + command_name: collectionmode + function_alias: collectionmode + help: "[hole|electron]\n\t[Jungfrau] Sets collection mode to hole or electron. Default\ + \ is hole." + infer_action: true + template: true column: actions: GET: @@ -3908,7 +3991,8 @@ fpath: command_name: fpath function_alias: fpath help: "[path]\n\tDirectory where output data files are written in receiver. Default\ - \ is '/'. \n\tIf path does not exist, it will try to create it." + \ is '/'. \n\tIf path does not exist and fwrite enabled, it will try to create\ + \ it at start of acquisition." infer_action: true template: true framecounter: @@ -4101,7 +4185,7 @@ fwrite: store_result_in_t: false command_name: fwrite function_alias: fwrite - help: "[0, 1]\n\tEnable or disable receiver file write. Default is 1." + help: "[0, 1]\n\tEnable or disable receiver file write. Default is 0." infer_action: true template: true gaincaps: @@ -4174,9 +4258,8 @@ gainmode: store_result_in_t: false command_name: gainmode function_alias: gainmode - help: "[dynamicgain|forceswitchg1|forceswitchg2|fixg1|fixg2|fixg0]\n\t[Jungfrau]\ - \ Gain mode.\n\tCAUTION: Do not use fixg0 without caution, you can damage the\ - \ detector!!!" + help: "[dynamic|forceswitchg1|forceswitchg2|fixg1|fixg2|fixg0]\n\t[Jungfrau] Gain\ + \ mode.\n\tCAUTION: Do not use fixg0 without caution, you can damage the detector!!!" infer_action: true template: true gappixels: @@ -5343,8 +5426,8 @@ maxclkphaseshift: store_result_in_t: true command_name: maxclkphaseshift function_alias: maxclkphaseshift - help: "[n_clock (0-5)]\n\t[Gotthard2][Mythen3] Absolute Maximum Phase shift of clock\ - \ n_clock." + help: "[n_clock]\n\t[Gotthard2][Mythen3] Absolute Maximum Phase shift of clock n_clock.n\t\ + [Gotthard2] Clock index range: 0-5\n\t[Mythen3] Clock index range: 0" infer_action: true maxdbitphaseshift: actions: @@ -5497,8 +5580,10 @@ nextframenumber: store_result_in_t: false command_name: nextframenumber function_alias: nextframenumber - help: "[n_value]\n\t[Eiger][Jungfrau][Moench][Ctb][Xilinx Ctb] Next frame number.\ - \ Stopping acquisition might result in different frame numbers for different modules." + help: "[n_value]\n\t[Eiger][Jungfrau][Moench][Ctb][Xilinx Ctb][Gotthard2] Next frame\ + \ number. Stopping acquisition might result in different frame numbers for different\ + \ modules. So, after stopping, next frame number (max + 1) is set for all the\ + \ modules afterwards." infer_action: true template: true nmod: @@ -5993,7 +6078,7 @@ patloop0: store_result_in_t: false command_name: patloop0 function_alias: patloop0 - help: Depreciated command. Use patloop. + help: Deprecated command. Use patloop. infer_action: true patloop1: actions: @@ -6062,7 +6147,7 @@ patloop1: store_result_in_t: false command_name: patloop1 function_alias: patloop1 - help: Depreciated command. Use patloop. + help: Deprecated command. Use patloop. infer_action: true patloop2: actions: @@ -6131,7 +6216,7 @@ patloop2: store_result_in_t: false command_name: patloop2 function_alias: patloop2 - help: Depreciated command. Use patloop. + help: Deprecated command. Use patloop. infer_action: true patmask: actions: @@ -6292,7 +6377,7 @@ patnloop0: store_result_in_t: false command_name: patnloop0 function_alias: patnloop0 - help: Depreciated command. Use patnloop. + help: Deprecated command. Use patnloop. infer_action: true patnloop1: actions: @@ -6350,7 +6435,7 @@ patnloop1: store_result_in_t: false command_name: patnloop1 function_alias: patnloop1 - help: Depreciated command. Use patnloop. + help: Deprecated command. Use patnloop. infer_action: true patnloop2: actions: @@ -6408,7 +6493,7 @@ patnloop2: store_result_in_t: false command_name: patnloop2 function_alias: patnloop2 - help: Depreciated command. Use patnloop. + help: Deprecated command. Use patnloop. infer_action: true patsetbit: actions: @@ -6615,7 +6700,7 @@ patwait0: store_result_in_t: false command_name: patwait0 function_alias: patwait0 - help: Depreciated command. Use patwait. + help: Deprecated command. Use patwait. infer_action: true patwait1: actions: @@ -6673,7 +6758,7 @@ patwait1: store_result_in_t: false command_name: patwait1 function_alias: patwait1 - help: Depreciated command. Use patwait. + help: Deprecated command. Use patwait. infer_action: true patwait2: actions: @@ -6731,7 +6816,7 @@ patwait2: store_result_in_t: false command_name: patwait2 function_alias: patwait2 - help: Depreciated command. Use patwait. + help: Deprecated command. Use patwait. infer_action: true patwaittime: actions: @@ -6852,7 +6937,7 @@ patwaittime0: store_result_in_t: false command_name: patwaittime0 function_alias: patwaittime0 - help: Depreciated command. Use patwaittime. + help: Deprecated command. Use patwaittime. infer_action: true patwaittime1: actions: @@ -6910,7 +6995,7 @@ patwaittime1: store_result_in_t: false command_name: patwaittime1 function_alias: patwaittime1 - help: Depreciated command. Use patwaittime. + help: Deprecated command. Use patwaittime. infer_action: true patwaittime2: actions: @@ -6968,7 +7053,7 @@ patwaittime2: store_result_in_t: false command_name: patwaittime2 function_alias: patwaittime2 - help: Depreciated command. Use patwaittime. + help: Deprecated command. Use patwaittime. infer_action: true patword: actions: @@ -7893,12 +7978,12 @@ readoutspeed: store_result_in_t: false command_name: readoutspeed function_alias: readoutspeed - help: "\n\t[0 or full_speed|1 or half_speed|2 or quarter_speed]\n\t[Eiger][Jungfrau][Moench]\ - \ Readout speed of chip.\n\t[Eiger][Moench] Default speed is full_speed.\n\t[Jungfrau]\ - \ Default speed is half_speed. full_speed option only available from v2.0 boards\ - \ and is recommended to set number of interfaces to 2. Also overwrites adcphase\ - \ to recommended default.\n\t [144|108]\n\t\t[Gotthard2] Readout speed of chip\ - \ in MHz. Default is 108." + help: "\n\t[0 or full_speed|1 or half_speed|2 or quarter_speed]\n\t[Eiger][Jungfrau][Moench][Mythen3]\ + \ Readout speed of chip.\n\t[Eiger][Moench] Default speed is full_speed.\n\t[Jungfrau][Mythen3]\ + \ Default speed is half_speed. \n\t[Jungfrau] full_speed option only available\ + \ from v2.0 boards and is recommended to set number of interfaces to 2. Also overwrites\ + \ adcphase to recommended default.\n\t [144|108]\n\t\t[Gotthard2] Readout speed\ + \ of chip in MHz. Default is 108." infer_action: true readoutspeedlist: actions: @@ -7972,25 +8057,64 @@ reg: cast_input: - true - true + - true check_det_id: false convert_det_id: true function: writeRegister input: - args[0] - args[1] + - '"0"' input_types: - uint32_t - uint32_t + - bool output: - - ToString(args) + - '"["' + - args[0] + - '", "' + - args[1] + - '"]"' + require_det_id: true + store_result_in_t: false + - arg_types: + - uint32_t + - uint32_t + - special::validate + argc: 3 + cast_input: + - true + - true + - true + check_det_id: false + convert_det_id: true + exceptions: + - condition: args[2] != "--validate" + message: '"Could not scan third argument. Did you mean --validate?"' + function: writeRegister + input: + - args[0] + - args[1] + - '"1"' + input_types: + - uint32_t + - uint32_t + - bool + output: + - '"["' + - args[0] + - '", "' + - args[1] + - '"]"' require_det_id: true store_result_in_t: false command_name: reg function_alias: reg - help: "[address] [32 bit value]\n\t[Mythen3][Gotthard2] Reads/writes to a 32 bit\ - \ register in hex. Advanced Function!\n\tGoes to stop server. Hence, can be called\ - \ while calling blocking acquire().\n\t[Eiger] +0x100 for only left, +0x200 for\ - \ only right." + help: "[address] [32 bit value][(optional)--validate]\n\t[Mythen3][Gotthard2] Reads/writes\ + \ to a 32 bit register in hex. Advanced Function!\n\tGoes to stop server. Hence,\ + \ can be called while calling blocking acquire().\n\t\t Use --validate to force\ + \ validation when writing to it.\n\t[Eiger] +0x100 for only left, +0x200 for only\ + \ right." infer_action: true resetdacs: actions: @@ -9249,38 +9373,30 @@ rx_zmqip: cast_input: [] check_det_id: false convert_det_id: true - function: getRxZmqIP + function: '' input: [] input_types: [] - output: - - OutString(t) - require_det_id: true + output: [] + require_det_id: false store_result_in_t: true PUT: args: - - arg_types: - - IpAddr - argc: 1 - cast_input: - - false + - arg_types: [] + argc: -1 + cast_input: [] check_det_id: false convert_det_id: true - function: setRxZmqIP - input: - - IpAddr(args[0]) - input_types: - - IpAddr - output: - - args.front() - require_det_id: true + function: '' + input: [] + input_types: [] + output: [] + require_det_id: false store_result_in_t: false command_name: rx_zmqip function_alias: rx_zmqip - help: "[x.x.x.x]\n\tZmq Ip Address from which data is to be streamed out of the\ - \ receiver. Also restarts receiver zmq streaming if enabled. Default is from rx_hostname.\ - \ Modified only when using an intermediate process between receiver." + help: '' infer_action: true - template: true + is_description: true rx_zmqport: actions: GET: @@ -9653,6 +9769,7 @@ setbit: cast_input: - true - true + - true check_det_id: false convert_det_id: true exceptions: @@ -9662,16 +9779,56 @@ setbit: input: - args[0] - args[1] + - '"0"' input_types: - uint32_t - int + - bool output: - - ToString(args) + - '"["' + - args[0] + - '", "' + - args[1] + - '"]"' + require_det_id: true + store_result_in_t: false + - arg_types: + - uint32_t + - int + - special::validate + argc: 3 + cast_input: + - true + - true + - true + check_det_id: false + convert_det_id: true + exceptions: + - condition: StringTo(args[1]) < 0 || StringTo(args[1]) > 31 + message: '"Bit number out of range: " + args[1]' + - condition: args[2] != "--validate" + message: '"Could not scan third argument. Did you mean --validate?"' + function: setBit + input: + - args[0] + - args[1] + - '"1"' + input_types: + - uint32_t + - int + - bool + output: + - '"["' + - args[0] + - '", "' + - args[1] + - '"]"' require_det_id: true store_result_in_t: false command_name: setbit function_alias: setbit - help: "[reg address in hex] [bit index]\n\tSets bit in address." + help: "[reg address in hex] [bit index]\n\tSets bit in address.\n\tUse --validate\ + \ to force validation." infer_action: true template: true settings: @@ -9928,6 +10085,40 @@ signalname: \ to the given name." infer_action: true template: true +sleep: + actions: + PUT: + args: + - arg_types: + - int + argc: 1 + cast_input: [] + check_det_id: false + convert_det_id: true + function: '' + input: [] + input_types: [] + output: [] + require_det_id: false + store_result_in_t: false + - arg_types: + - int + - special::time_unit + argc: 2 + cast_input: [] + check_det_id: false + convert_det_id: true + function: '' + input: [] + input_types: [] + output: [] + require_det_id: false + store_result_in_t: false + command_name: sleep + function_alias: sleep + help: '' + infer_action: true + is_description: true slowadc: actions: GET: @@ -11260,6 +11451,46 @@ timing: \ [auto|trigger|gating|burst_trigger]" infer_action: true template: true +timing_info_decoder: + actions: + GET: + args: + - arg_types: [] + argc: 0 + cast_input: [] + check_det_id: false + convert_det_id: true + function: getTimingInfoDecoder + input: [] + input_types: [] + output: + - OutString(t) + require_det_id: true + store_result_in_t: true + PUT: + args: + - arg_types: + - defs::timingInfoDecoder + argc: 1 + cast_input: + - true + check_det_id: false + convert_det_id: true + function: setTimingInfoDecoder + input: + - args[0] + input_types: + - defs::timingInfoDecoder + output: + - args.front() + require_det_id: true + store_result_in_t: false + command_name: timing_info_decoder + function_alias: timing_info_decoder + help: "[swissfel|shine]\n\t[Jungfrau] Advanced Command and only for Swissfel and\ + \ Shine. Sets the bunch id or timing info decoder. Default is swissfel." + infer_action: true + template: true timinglist: actions: GET: diff --git a/slsDetectorSoftware/generator/readme.md b/slsDetectorSoftware/generator/readme.md index 6fb8d741b..106d50e2c 100644 --- a/slsDetectorSoftware/generator/readme.md +++ b/slsDetectorSoftware/generator/readme.md @@ -27,15 +27,15 @@ The dump.json is the AST of the file `slsDetectorPackage/slsSupportLib/src/ToStr ```sh # to generate the dump.json file -cd slsSupportLib/src/ToString.cpp -clang++ -Xclang -ast-dump=json -Xclang -ast-dump-filter -Xclang StringTo -c ToString.cpp -I ../include/ -std=gnu++11 +cd slsSupportLib/src +clang++ -Xclang -ast-dump=json -Xclang -ast-dump-filter -Xclang StringTo -c ToString.cpp -I ../include/ -std=gnu++11 > ../../slsDetectorSoftware/generator/autocomplete/dump.json # clang version used: 14.0.0-1ubuntu1.1 ``` the `dump.json` file produced by clang is not a correct json file because we used the `-ast-dump-filter`. autocomplete.py can be used to fix the format of `dump.json` and produce a new file called `fixed.json` that is json format. ``` # to convert dump.json into correct json format. -python autocomplete.py -f # produces the file fixed.json +python autocomplete.py -f # produces/updates the file fixed.json ``` ### Code components diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index a5a9e20af..a17b23a53 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -363,11 +363,11 @@ class Detector { /** list of possible timing modes for this detector */ std::vector getTimingModeList() const; - /** [Eiger][Jungfrau][Moench][Gotthard2] */ + /** [Eiger][Jungfrau][Moench][Gotthard2][Mythen3] */ Result getReadoutSpeed(Positions pos = {}) const; /** [Eiger][Jungfrau][Moench][Gotthard2] - * [Jungfrau] Options: FULL_SPEED, HALF_SPEED (Default), + * [Jungfrau][Mythen3] Options: FULL_SPEED, HALF_SPEED (Default), * QUARTER_SPEED \n [Moench] Options: FULL_SPEED (Default) \n [Eiger] * Options: FULL_SPEED (Default), HALF_SPEED, QUARTER_SPEED \n [Gotthard2] * Options: G2_108MHZ (Default), G2_144MHZ \n [Jungfrau][Moench] FULL_SPEED @@ -429,7 +429,8 @@ class Detector { /** [Mythen3][Gotthard2] */ Result getClockPhase(int clkIndex, Positions pos = {}); - /** [Mythen3][Gotthard2] absolute phase shift */ + /** [Mythen3][Gotthard2] absolute phase shift \n + * [Gotthard2] clkIndex: 0-5, [Mythen3] clkIndex 0 only */ void setClockPhase(int clkIndex, int value, Positions pos = {}); /** [Mythen3][Gotthard2] */ @@ -438,13 +439,15 @@ class Detector { /** [Mythen3][Gotthard2] */ Result getClockPhaseinDegrees(int clkIndex, Positions pos = {}); - /** [Mythen3][Gotthard2] */ + /** [Mythen3][Gotthard2] \n + * [Gotthard2] clkIndex: 0-5, [Mythen3] clkIndex 0 only */ void setClockPhaseinDegrees(int clkIndex, int value, Positions pos = {}); /** [Mythen3][Gotthard2] */ Result getClockDivider(int clkIndex, Positions pos = {}); - /** [Mythen3][Gotthard2] Must be greater than 1. */ + /** [Mythen3][Gotthard2] Must be greater than 1. \n + * [Gotthard2] clkIndex: 0-5, [Mythen3] clkIndex 0 only */ void setClockDivider(int clkIndex, int value, Positions pos = {}); Result getHighVoltage(Positions pos = {}) const; @@ -658,11 +661,13 @@ class Detector { Result> getRxCurrentFrameIndex(Positions pos = {}) const; - /** [Eiger][Jungfrau][Moench][CTB][Xilinx CTB] */ + /** [Eiger][Jungfrau][Moench][CTB][Xilinx CTB][Gotthard2] */ Result getNextFrameNumber(Positions pos = {}) const; - /** [Eiger][Jungfrau][Moench][CTB][Xilinx CTB] Stopping acquisition might - * result in different frame numbers for different modules.*/ + /** [Eiger][Jungfrau][Moench][CTB][Xilinx CTB][Gotthard2] Stopping + * acquisition might result in different frame numbers for different + * modules. So, after stopping, next frame number (max + 1) is set for all + * the modules afterwards.*/ void setNextFrameNumber(uint64_t value, Positions pos = {}); /** [Eiger][Mythen3][Jungfrau][Moench] Sends an internal software trigger to @@ -1004,7 +1009,8 @@ class Detector { Result getFilePath(Positions pos = {}) const; - /** Default is "/"If path does not exist, it will try to create it */ + /** Default is "/". If path does not exist and fwrite enabled, it will try + * to create it at start of acquisition. */ void setFilePath(const std::string &fpath, Positions pos = {}); Result getFileNamePrefix(Positions pos = {}) const; @@ -1025,7 +1031,7 @@ class Detector { Result getFileWrite(Positions pos = {}) const; - /** default enabled */ + /** default disabled */ void setFileWrite(bool value, Positions pos = {}); bool getMasterFileWrite() const; @@ -1103,14 +1109,6 @@ class Detector { */ void setRxZmqPort(uint16_t port, int module_id = -1); - Result getRxZmqIP(Positions pos = {}) const; - - /** Zmq Ip Address from which data is to be streamed out of the receiver. \n - * Also restarts receiver zmq streaming if enabled. \n Default is from - * rx_hostname. \n Modified only when using an intermediate process between - * receiver. */ - void setRxZmqIP(const IpAddr ip, Positions pos = {}); - Result getClientZmqPort(Positions pos = {}) const; /** Port number to listen to zmq data streamed out from receiver or @@ -1376,6 +1374,20 @@ class Detector { void setPedestalMode(const defs::pedestalParameters par, Positions pos = {}); + /** [Jungfrau] */ + Result + getTimingInfoDecoder(Positions pos = {}) const; + + /** [Jungfrau] Advanced Command! */ + void setTimingInfoDecoder(defs::timingInfoDecoder value, + Positions pos = {}); + + /** [Jungfrau] */ + Result getCollectionMode(Positions pos = {}) const; + + /** [Jungfrau] */ + void setCollectionMode(defs::collectionMode value, Positions pos = {}); + ///@} /** @name Gotthard Specific */ @@ -2041,13 +2053,16 @@ class Detector { * Goes to stop server. Hence, can be called while calling blocking * acquire(). \n [Eiger] Address is +0x100 for only left, +0x200 for only * right. */ - void writeRegister(uint32_t addr, uint32_t val, Positions pos = {}); + void writeRegister(uint32_t addr, uint32_t val, bool validate = false, + Positions pos = {}); /** Advanced user Function! */ - void setBit(uint32_t addr, int bitnr, Positions pos = {}); + void setBit(uint32_t addr, int bitnr, bool validate = false, + Positions pos = {}); /** Advanced user Function! */ - void clearBit(uint32_t addr, int bitnr, Positions pos = {}); + void clearBit(uint32_t addr, int bitnr, bool validate = false, + Positions pos = {}); /** Advanced user Function! */ Result getBit(uint32_t addr, int bitnr, Positions pos = {}); diff --git a/slsDetectorSoftware/src/Caller.cpp b/slsDetectorSoftware/src/Caller.cpp index 8cf88561e..a7913d2a2 100644 --- a/slsDetectorSoftware/src/Caller.cpp +++ b/slsDetectorSoftware/src/Caller.cpp @@ -1482,14 +1482,15 @@ std::string Caller::clearbit(int action) { if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: clearbit" << std::endl; os << R"V0G0N([reg address in hex] [bit index] - Clears bit in address. )V0G0N" + Clears bit in address. + Use --validate to force validation. )V0G0N" << std::endl; return os.str(); } // check if action and arguments are valid if (action == slsDetectorDefs::PUT_ACTION) { - if (1 && args.size() != 2) { + if (1 && args.size() != 2 && args.size() != 3) { throw RuntimeError("Wrong number of arguments for action PUT"); } @@ -1504,6 +1505,29 @@ std::string Caller::clearbit(int action) { } catch (...) { throw RuntimeError("Could not convert argument 1 to int"); } + try { + StringTo("0"); + } catch (...) { + throw RuntimeError("Could not convert argument 2 to bool"); + } + } + + if (args.size() == 3) { + try { + StringTo(args[0]); + } catch (...) { + throw RuntimeError("Could not convert argument 0 to uint32_t"); + } + try { + StringTo(args[1]); + } catch (...) { + throw RuntimeError("Could not convert argument 1 to int"); + } + try { + StringTo("1"); + } catch (...) { + throw RuntimeError("Could not convert argument 2 to bool"); + } } } @@ -1522,8 +1546,24 @@ std::string Caller::clearbit(int action) { } auto arg0 = StringTo(args[0]); auto arg1 = StringTo(args[1]); - det->clearBit(arg0, arg1, std::vector{det_id}); - os << ToString(args) << '\n'; + auto arg2 = StringTo("0"); + det->clearBit(arg0, arg1, arg2, std::vector{det_id}); + os << "[" << args[0] << ", " << args[1] << "]" << '\n'; + } + + if (args.size() == 3) { + if (StringTo(args[1]) < 0 || StringTo(args[1]) > 31) { + throw RuntimeError("Bit number out of range: " + args[1]); + } + if (args[2] != "--validate") { + throw RuntimeError( + "Could not scan third argument. Did you mean --validate?"); + } + auto arg0 = StringTo(args[0]); + auto arg1 = StringTo(args[1]); + auto arg2 = StringTo("1"); + det->clearBit(arg0, arg1, arg2, std::vector{det_id}); + os << "[" << args[0] << ", " << args[1] << "]" << '\n'; } } @@ -1658,8 +1698,9 @@ std::string Caller::clkdiv(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: clkdiv" << std::endl; - os << R"V0G0N([n_clock (0-5)] [n_divider] - [Gotthard2][Mythen3] Clock Divider of clock n_clock. Must be greater than 1. )V0G0N" + os << R"V0G0N([n_clock] [n_divider] + [Gotthard2][Mythen3] Clock Divider of clock n_clock. Must be greater than 1.n [Gotthard2] Clock index range: 0-5 + [Mythen3] Clock index range: 0 )V0G0N" << std::endl; return os.str(); } @@ -1751,8 +1792,10 @@ std::string Caller::clkfreq(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: clkfreq" << std::endl; - os << R"V0G0N([n_clock (0-5)] [freq_in_Hz] - [Gotthard2][Mythen3] Frequency of clock n_clock in Hz. Use clkdiv to set frequency. )V0G0N" + os << R"V0G0N([n_clock] [freq_in_Hz] + [Gotthard2][Mythen3] Frequency of clock n_clock in Hz. Use clkdiv to set frequency. + [Gotthard2] Clock index range: 0-5 + [Mythen3] Clock index range: 0 )V0G0N" << std::endl; return os.str(); } @@ -1807,8 +1850,9 @@ std::string Caller::clkphase(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: clkphase" << std::endl; - os << R"V0G0N([n_clock (0-5)] [phase] [deg (optional)] - [Gotthard2][Mythen3] Phase of clock n_clock. If deg, then phase shift in degrees, else absolute phase shift values. )V0G0N" + os << R"V0G0N([n_clock] [phase] [deg (optional)] + [Gotthard2][Mythen3] Phase of clock n_clock. If deg, then phase shift in degrees, else absolute phase shift values.n [Gotthard2] Clock index range: 0-5 + [Mythen3] Clock index range: 0 )V0G0N" << std::endl; return os.str(); } @@ -1959,6 +2003,70 @@ std::string Caller::clkphase(int action) { return os.str(); } +std::string Caller::collectionmode(int action) { + + std::ostringstream os; + // print help + if (action == slsDetectorDefs::HELP_ACTION) { + os << "Command: collectionmode" << std::endl; + os << R"V0G0N([hole|electron] + [Jungfrau] Sets collection mode to hole or electron. Default is hole. )V0G0N" + << std::endl; + return os.str(); + } + + // check if action and arguments are valid + if (action == slsDetectorDefs::GET_ACTION) { + if (1 && args.size() != 0) { + throw RuntimeError("Wrong number of arguments for action GET"); + } + + if (args.size() == 0) { + } + + } + + else if (action == slsDetectorDefs::PUT_ACTION) { + if (1 && args.size() != 1) { + throw RuntimeError("Wrong number of arguments for action PUT"); + } + + if (args.size() == 1) { + try { + StringTo(args[0]); + } catch (...) { + throw RuntimeError( + "Could not convert argument 0 to defs::collectionMode"); + } + } + + } + + else { + + throw RuntimeError("INTERNAL ERROR: Invalid action: supported actions " + "are ['GET', 'PUT']"); + } + + // generate code for each action + if (action == slsDetectorDefs::GET_ACTION) { + if (args.size() == 0) { + auto t = det->getCollectionMode(std::vector{det_id}); + os << OutString(t) << '\n'; + } + } + + if (action == slsDetectorDefs::PUT_ACTION) { + if (args.size() == 1) { + auto arg0 = StringTo(args[0]); + det->setCollectionMode(arg0, std::vector{det_id}); + os << args.front() << '\n'; + } + } + + return os.str(); +} + std::string Caller::column(int action) { std::ostringstream os; @@ -5115,7 +5223,7 @@ std::string Caller::fpath(int action) { os << "Command: fpath" << std::endl; os << R"V0G0N([path] Directory where output data files are written in receiver. Default is '/'. - If path does not exist, it will try to create it. )V0G0N" + If path does not exist and fwrite enabled, it will try to create it at start of acquisition. )V0G0N" << std::endl; return os.str(); } @@ -5372,7 +5480,7 @@ std::string Caller::fwrite(int action) { if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: fwrite" << std::endl; os << R"V0G0N([0, 1] - Enable or disable receiver file write. Default is 1. )V0G0N" + Enable or disable receiver file write. Default is 0. )V0G0N" << std::endl; return os.str(); } @@ -5434,7 +5542,7 @@ std::string Caller::gainmode(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: gainmode" << std::endl; - os << R"V0G0N([dynamicgain|forceswitchg1|forceswitchg2|fixg1|fixg2|fixg0] + os << R"V0G0N([dynamic|forceswitchg1|forceswitchg2|fixg1|fixg2|fixg0] [Jungfrau] Gain mode. CAUTION: Do not use fixg0 without caution, you can damage the detector!!! )V0G0N" << std::endl; @@ -7031,8 +7139,9 @@ std::string Caller::maxclkphaseshift(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: maxclkphaseshift" << std::endl; - os << R"V0G0N([n_clock (0-5)] - [Gotthard2][Mythen3] Absolute Maximum Phase shift of clock n_clock. )V0G0N" + os << R"V0G0N([n_clock] + [Gotthard2][Mythen3] Absolute Maximum Phase shift of clock n_clock.n [Gotthard2] Clock index range: 0-5 + [Mythen3] Clock index range: 0 )V0G0N" << std::endl; return os.str(); } @@ -7264,7 +7373,7 @@ std::string Caller::nextframenumber(int action) { if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: nextframenumber" << std::endl; os << R"V0G0N([n_value] - [Eiger][Jungfrau][Moench][Ctb][Xilinx Ctb] Next frame number. Stopping acquisition might result in different frame numbers for different modules. )V0G0N" + [Eiger][Jungfrau][Moench][Ctb][Xilinx Ctb][Gotthard2] Next frame number. Stopping acquisition might result in different frame numbers for different modules. So, after stopping, next frame number (max + 1) is set for all the modules afterwards. )V0G0N" << std::endl; return os.str(); } @@ -7921,7 +8030,7 @@ std::string Caller::patloop0(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patloop0" << std::endl; - os << R"V0G0N(Depreciated command. Use patloop. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patloop. )V0G0N" << std::endl; return os.str(); } @@ -7976,7 +8085,7 @@ std::string Caller::patloop1(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patloop1" << std::endl; - os << R"V0G0N(Depreciated command. Use patloop. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patloop. )V0G0N" << std::endl; return os.str(); } @@ -8031,7 +8140,7 @@ std::string Caller::patloop2(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patloop2" << std::endl; - os << R"V0G0N(Depreciated command. Use patloop. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patloop. )V0G0N" << std::endl; return os.str(); } @@ -8205,7 +8314,7 @@ std::string Caller::patnloop0(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patnloop0" << std::endl; - os << R"V0G0N(Depreciated command. Use patnloop. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patnloop. )V0G0N" << std::endl; return os.str(); } @@ -8258,7 +8367,7 @@ std::string Caller::patnloop1(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patnloop1" << std::endl; - os << R"V0G0N(Depreciated command. Use patnloop. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patnloop. )V0G0N" << std::endl; return os.str(); } @@ -8311,7 +8420,7 @@ std::string Caller::patnloop2(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patnloop2" << std::endl; - os << R"V0G0N(Depreciated command. Use patnloop. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patnloop. )V0G0N" << std::endl; return os.str(); } @@ -8562,7 +8671,7 @@ std::string Caller::patwait0(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patwait0" << std::endl; - os << R"V0G0N(Depreciated command. Use patwait. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patwait. )V0G0N" << std::endl; return os.str(); } @@ -8614,7 +8723,7 @@ std::string Caller::patwait1(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patwait1" << std::endl; - os << R"V0G0N(Depreciated command. Use patwait. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patwait. )V0G0N" << std::endl; return os.str(); } @@ -8666,7 +8775,7 @@ std::string Caller::patwait2(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patwait2" << std::endl; - os << R"V0G0N(Depreciated command. Use patwait. )V0G0N" << std::endl; + os << R"V0G0N(Deprecated command. Use patwait. )V0G0N" << std::endl; return os.str(); } @@ -8773,8 +8882,7 @@ std::string Caller::patwaittime0(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patwaittime0" << std::endl; - os << R"V0G0N(Depreciated command. Use patwaittime. )V0G0N" - << std::endl; + os << R"V0G0N(Deprecated command. Use patwaittime. )V0G0N" << std::endl; return os.str(); } @@ -8826,8 +8934,7 @@ std::string Caller::patwaittime1(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patwaittime1" << std::endl; - os << R"V0G0N(Depreciated command. Use patwaittime. )V0G0N" - << std::endl; + os << R"V0G0N(Deprecated command. Use patwaittime. )V0G0N" << std::endl; return os.str(); } @@ -8879,8 +8986,7 @@ std::string Caller::patwaittime2(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: patwaittime2" << std::endl; - os << R"V0G0N(Depreciated command. Use patwaittime. )V0G0N" - << std::endl; + os << R"V0G0N(Deprecated command. Use patwaittime. )V0G0N" << std::endl; return os.str(); } @@ -10145,9 +10251,10 @@ std::string Caller::readoutspeed(int action) { os << "Command: readoutspeed" << std::endl; os << R"V0G0N( [0 or full_speed|1 or half_speed|2 or quarter_speed] - [Eiger][Jungfrau][Moench] Readout speed of chip. + [Eiger][Jungfrau][Moench][Mythen3] Readout speed of chip. [Eiger][Moench] Default speed is full_speed. - [Jungfrau] Default speed is half_speed. full_speed option only available from v2.0 boards and is recommended to set number of interfaces to 2. Also overwrites adcphase to recommended default. + [Jungfrau][Mythen3] Default speed is half_speed. + [Jungfrau] full_speed option only available from v2.0 boards and is recommended to set number of interfaces to 2. Also overwrites adcphase to recommended default. [144|108] [Gotthard2] Readout speed of chip in MHz. Default is 108. )V0G0N" << std::endl; @@ -10310,9 +10417,10 @@ std::string Caller::reg(int action) { // print help if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: reg" << std::endl; - os << R"V0G0N([address] [32 bit value] + os << R"V0G0N([address] [32 bit value][(optional)--validate] [Mythen3][Gotthard2] Reads/writes to a 32 bit register in hex. Advanced Function! Goes to stop server. Hence, can be called while calling blocking acquire(). + Use --validate to force validation when writing to it. [Eiger] +0x100 for only left, +0x200 for only right. )V0G0N" << std::endl; return os.str(); @@ -10335,7 +10443,7 @@ std::string Caller::reg(int action) { } else if (action == slsDetectorDefs::PUT_ACTION) { - if (1 && args.size() != 2) { + if (1 && args.size() != 2 && args.size() != 3) { throw RuntimeError("Wrong number of arguments for action PUT"); } @@ -10350,6 +10458,29 @@ std::string Caller::reg(int action) { } catch (...) { throw RuntimeError("Could not convert argument 1 to uint32_t"); } + try { + StringTo("0"); + } catch (...) { + throw RuntimeError("Could not convert argument 2 to bool"); + } + } + + if (args.size() == 3) { + try { + StringTo(args[0]); + } catch (...) { + throw RuntimeError("Could not convert argument 0 to uint32_t"); + } + try { + StringTo(args[1]); + } catch (...) { + throw RuntimeError("Could not convert argument 1 to uint32_t"); + } + try { + StringTo("1"); + } catch (...) { + throw RuntimeError("Could not convert argument 2 to bool"); + } } } @@ -10373,8 +10504,21 @@ std::string Caller::reg(int action) { if (args.size() == 2) { auto arg0 = StringTo(args[0]); auto arg1 = StringTo(args[1]); - det->writeRegister(arg0, arg1, std::vector{det_id}); - os << ToString(args) << '\n'; + auto arg2 = StringTo("0"); + det->writeRegister(arg0, arg1, arg2, std::vector{det_id}); + os << "[" << args[0] << ", " << args[1] << "]" << '\n'; + } + + if (args.size() == 3) { + if (args[2] != "--validate") { + throw RuntimeError( + "Could not scan third argument. Did you mean --validate?"); + } + auto arg0 = StringTo(args[0]); + auto arg1 = StringTo(args[1]); + auto arg2 = StringTo("1"); + det->writeRegister(arg0, arg1, arg2, std::vector{det_id}); + os << "[" << args[0] << ", " << args[1] << "]" << '\n'; } } @@ -12114,63 +12258,6 @@ std::string Caller::rx_zmqhwm(int action) { return os.str(); } -std::string Caller::rx_zmqip(int action) { - - std::ostringstream os; - // print help - if (action == slsDetectorDefs::HELP_ACTION) { - os << "Command: rx_zmqip" << std::endl; - os << R"V0G0N([x.x.x.x] - Zmq Ip Address from which data is to be streamed out of the receiver. Also restarts receiver zmq streaming if enabled. Default is from rx_hostname. Modified only when using an intermediate process between receiver. )V0G0N" - << std::endl; - return os.str(); - } - - // check if action and arguments are valid - if (action == slsDetectorDefs::GET_ACTION) { - if (1 && args.size() != 0) { - throw RuntimeError("Wrong number of arguments for action GET"); - } - - if (args.size() == 0) { - } - - } - - else if (action == slsDetectorDefs::PUT_ACTION) { - if (1 && args.size() != 1) { - throw RuntimeError("Wrong number of arguments for action PUT"); - } - - if (args.size() == 1) { - } - - } - - else { - - throw RuntimeError("INTERNAL ERROR: Invalid action: supported actions " - "are ['GET', 'PUT']"); - } - - // generate code for each action - if (action == slsDetectorDefs::GET_ACTION) { - if (args.size() == 0) { - auto t = det->getRxZmqIP(std::vector{det_id}); - os << OutString(t) << '\n'; - } - } - - if (action == slsDetectorDefs::PUT_ACTION) { - if (args.size() == 1) { - det->setRxZmqIP(IpAddr(args[0]), std::vector{det_id}); - os << args.front() << '\n'; - } - } - - return os.str(); -} - std::string Caller::rx_zmqport(int action) { std::ostringstream os; @@ -12661,14 +12748,15 @@ std::string Caller::setbit(int action) { if (action == slsDetectorDefs::HELP_ACTION) { os << "Command: setbit" << std::endl; os << R"V0G0N([reg address in hex] [bit index] - Sets bit in address. )V0G0N" + Sets bit in address. + Use --validate to force validation. )V0G0N" << std::endl; return os.str(); } // check if action and arguments are valid if (action == slsDetectorDefs::PUT_ACTION) { - if (1 && args.size() != 2) { + if (1 && args.size() != 2 && args.size() != 3) { throw RuntimeError("Wrong number of arguments for action PUT"); } @@ -12683,6 +12771,29 @@ std::string Caller::setbit(int action) { } catch (...) { throw RuntimeError("Could not convert argument 1 to int"); } + try { + StringTo("0"); + } catch (...) { + throw RuntimeError("Could not convert argument 2 to bool"); + } + } + + if (args.size() == 3) { + try { + StringTo(args[0]); + } catch (...) { + throw RuntimeError("Could not convert argument 0 to uint32_t"); + } + try { + StringTo(args[1]); + } catch (...) { + throw RuntimeError("Could not convert argument 1 to int"); + } + try { + StringTo("1"); + } catch (...) { + throw RuntimeError("Could not convert argument 2 to bool"); + } } } @@ -12701,8 +12812,24 @@ std::string Caller::setbit(int action) { } auto arg0 = StringTo(args[0]); auto arg1 = StringTo(args[1]); - det->setBit(arg0, arg1, std::vector{det_id}); - os << ToString(args) << '\n'; + auto arg2 = StringTo("0"); + det->setBit(arg0, arg1, arg2, std::vector{det_id}); + os << "[" << args[0] << ", " << args[1] << "]" << '\n'; + } + + if (args.size() == 3) { + if (StringTo(args[1]) < 0 || StringTo(args[1]) > 31) { + throw RuntimeError("Bit number out of range: " + args[1]); + } + if (args[2] != "--validate") { + throw RuntimeError( + "Could not scan third argument. Did you mean --validate?"); + } + auto arg0 = StringTo(args[0]); + auto arg1 = StringTo(args[1]); + auto arg2 = StringTo("1"); + det->setBit(arg0, arg1, arg2, std::vector{det_id}); + os << "[" << args[0] << ", " << args[1] << "]" << '\n'; } } @@ -14827,6 +14954,70 @@ std::string Caller::timing(int action) { return os.str(); } +std::string Caller::timing_info_decoder(int action) { + + std::ostringstream os; + // print help + if (action == slsDetectorDefs::HELP_ACTION) { + os << "Command: timing_info_decoder" << std::endl; + os << R"V0G0N([swissfel|shine] + [Jungfrau] Advanced Command and only for Swissfel and Shine. Sets the bunch id or timing info decoder. Default is swissfel. )V0G0N" + << std::endl; + return os.str(); + } + + // check if action and arguments are valid + if (action == slsDetectorDefs::GET_ACTION) { + if (1 && args.size() != 0) { + throw RuntimeError("Wrong number of arguments for action GET"); + } + + if (args.size() == 0) { + } + + } + + else if (action == slsDetectorDefs::PUT_ACTION) { + if (1 && args.size() != 1) { + throw RuntimeError("Wrong number of arguments for action PUT"); + } + + if (args.size() == 1) { + try { + StringTo(args[0]); + } catch (...) { + throw RuntimeError( + "Could not convert argument 0 to defs::timingInfoDecoder"); + } + } + + } + + else { + + throw RuntimeError("INTERNAL ERROR: Invalid action: supported actions " + "are ['GET', 'PUT']"); + } + + // generate code for each action + if (action == slsDetectorDefs::GET_ACTION) { + if (args.size() == 0) { + auto t = det->getTimingInfoDecoder(std::vector{det_id}); + os << OutString(t) << '\n'; + } + } + + if (action == slsDetectorDefs::PUT_ACTION) { + if (args.size() == 1) { + auto arg0 = StringTo(args[0]); + det->setTimingInfoDecoder(arg0, std::vector{det_id}); + os << args.front() << '\n'; + } + } + + return os.str(); +} + std::string Caller::timinglist(int action) { std::ostringstream os; diff --git a/slsDetectorSoftware/src/Caller.h b/slsDetectorSoftware/src/Caller.h index b3ec879b4..d9c74800e 100644 --- a/slsDetectorSoftware/src/Caller.h +++ b/slsDetectorSoftware/src/Caller.h @@ -89,6 +89,7 @@ class Caller { std::string clkdiv(int action); std::string clkfreq(int action); std::string clkphase(int action); + std::string collectionmode(int action); std::string column(int action); std::string compdisabletime(int action); std::string confadc(int action); @@ -285,6 +286,7 @@ class Caller { std::string signalindex(int action); std::string signallist(int action); std::string signalname(int action); + std::string sleep(int action); std::string slowadc(int action); std::string slowadcindex(int action); std::string slowadclist(int action); @@ -318,6 +320,7 @@ class Caller { std::string tengiga(int action); std::string threshold(int action); std::string timing(int action); + std::string timing_info_decoder(int action); std::string timinglist(int action); std::string timingsource(int action); std::string top(int action); @@ -392,11 +395,14 @@ class Caller { int rx_id{-1}; private: - bool ReplaceIfDepreciated(std::string &command); + bool ReplaceIfDeprecated(std::string &command); using FunctionMap = std::map; using StringMap = std::map; Detector *ptr; // pointer to the detector that executes the command + static void EmptyDataCallBack(detectorData *data, uint64_t frameIndex, + uint32_t subFrameIndex, void *this_pointer); + FunctionMap functions{ {"list", &Caller::list}, @@ -432,6 +438,7 @@ class Caller { {"clkdiv", &Caller::clkdiv}, {"clkfreq", &Caller::clkfreq}, {"clkphase", &Caller::clkphase}, + {"collectionmode", &Caller::collectionmode}, {"column", &Caller::column}, {"compdisabletime", &Caller::compdisabletime}, {"confadc", &Caller::confadc}, @@ -628,6 +635,7 @@ class Caller { {"signalindex", &Caller::signalindex}, {"signallist", &Caller::signallist}, {"signalname", &Caller::signalname}, + {"sleep", &Caller::sleep}, {"slowadc", &Caller::slowadc}, {"slowadcindex", &Caller::slowadcindex}, {"slowadclist", &Caller::slowadclist}, @@ -662,6 +670,7 @@ class Caller { {"threshold", &Caller::threshold}, {"thresholdnotb", &Caller::threshold}, {"timing", &Caller::timing}, + {"timing_info_decoder", &Caller::timing_info_decoder}, {"timinglist", &Caller::timinglist}, {"timingsource", &Caller::timingsource}, {"top", &Caller::top}, @@ -731,7 +740,7 @@ class Caller { }; - StringMap depreciated_functions{ + StringMap deprecated_functions{ {"detectorversion", "firmwareversion"}, {"softwareversion", "detectorserverversion"}, diff --git a/slsDetectorSoftware/src/CallerSpecial.cpp b/slsDetectorSoftware/src/CallerSpecial.cpp index c760a9c4f..a5881a778 100644 --- a/slsDetectorSoftware/src/CallerSpecial.cpp +++ b/slsDetectorSoftware/src/CallerSpecial.cpp @@ -1,9 +1,11 @@ #include "Caller.h" +#include "sls/ZmqSocket.h" #include "sls/bit_utils.h" #include "sls/file_utils.h" #include "sls/logger.h" #include "sls/string_utils.h" #include +#include namespace sls { // some helper functions to print @@ -22,7 +24,7 @@ void Caller::call(const std::string &command, std::string temp; while (temp != cmd) { temp = cmd; - ReplaceIfDepreciated(cmd); + ReplaceIfDeprecated(cmd); } det_id = detector_id; @@ -37,9 +39,9 @@ void Caller::call(const std::string &command, } } -bool Caller::ReplaceIfDepreciated(std::string &command) { - auto d_it = depreciated_functions.find(command); - if (d_it != depreciated_functions.end()) { +bool Caller::ReplaceIfDeprecated(std::string &command) { + auto d_it = deprecated_functions.find(command); + if (d_it != deprecated_functions.end()) { // insert old command into arguments (for dacs) if (d_it->second == "dac") { @@ -212,6 +214,12 @@ std::string Caller::hostname(int action) { } return os.str(); } + +void Caller::EmptyDataCallBack(detectorData *data, uint64_t frameIndex, + uint32_t subFrameIndex, void *this_pointer) { + LOG(logDEBUG) << "EmptyDataCallBack to start up zmq sockets"; +} + std::string Caller::acquire(int action) { std::ostringstream os; if (action == defs::HELP_ACTION) { @@ -232,6 +240,9 @@ std::string Caller::acquire(int action) { if (det_id >= 0) { throw RuntimeError("Individual detectors not allowed for readout."); } + if (action == defs::READOUT_ZMQ_ACTION) { + det->registerDataCallback(&(EmptyDataCallBack), this); + } det->acquire(); if (det->getUseReceiverFlag().squash(false)) { @@ -249,39 +260,74 @@ std::string Caller::versions(int action) { if (!args.empty()) { WrongNumberOfParameters(0); } - bool eiger = (det->getDetectorType().squash() == defs::EIGER); - auto t = det->getFirmwareVersion(std::vector{det_id}); - os << "\nType : " << OutString(det->getDetectorType()) - << "\nRelease : " << det->getPackageVersion() << std::hex - << "\nClient : " << det->getClientVersion(); + std::string vType = "Unknown"; + std::string vFirmware = "Unknown"; + std::string vServer = "Unknown"; + std::string vKernel = "Unknown"; + std::string vHardware = "Unknown"; + bool eiger = false; + std::string vBebFirmware = "Unknown"; + std::string vFeblFirmware = "Unknown"; + std::string vFebrFirmware = "Unknown"; + bool receiver = false; + std::string vReceiver = "Unknown"; + + std::string vRelease = det->getPackageVersion(); + std::string vClient = det->getClientVersion(); + + if (det->size() != 0) { + // shared memory has detectors + vType = OutString(det->getDetectorType()); + eiger = (det->getDetectorType().squash() == defs::EIGER); + receiver = det->getUseReceiverFlag().squash(false); + if (receiver) { + // cannot connect to receiver + try { + vReceiver = OutString( + det->getReceiverVersion(std::vector{det_id})); + } catch (const std::exception &e) { + } + } + // cannot connect to Detector + try { + auto firmwareVersion = + det->getFirmwareVersion(std::vector{det_id}); + vFirmware = OutStringHex(firmwareVersion); + vServer = OutString( + det->getDetectorServerVersion(std::vector{det_id})); + vKernel = OutString( + det->getKernelVersion({std::vector{det_id}})); + vHardware = OutString( + det->getHardwareVersion(std::vector{det_id})); + if (eiger) { + vBebFirmware = OutString(firmwareVersion); + vFeblFirmware = OutString(det->getFrontEndFirmwareVersion( + defs::FRONT_LEFT, std::vector{det_id})); + vFebrFirmware = OutString(det->getFrontEndFirmwareVersion( + defs::FRONT_RIGHT, std::vector{det_id})); + } + } catch (const std::exception &e) { + } + } + + os << "\nType : " << vType + << "\nRelease : " << vRelease + << "\nClient : " << vClient; if (eiger) { - os << "\nFirmware (Beb) : " - << OutString(det->getFirmwareVersion(std::vector{det_id})); - os << "\nFirmware (Febl) : " - << OutString(det->getFrontEndFirmwareVersion( - defs::FRONT_LEFT, std::vector{det_id})); - os << "\nFirmware (Febr) : " - << OutString(det->getFrontEndFirmwareVersion( - defs::FRONT_RIGHT, std::vector{det_id})); + os << "\nFirmware (Beb) : " << vBebFirmware + << "\nFirmware (Febl) : " << vFeblFirmware + << "\nFirmware (Febr) : " << vFebrFirmware; } else { - os << "\nFirmware : " - << OutStringHex( - det->getFirmwareVersion(std::vector{det_id})); - } - - os << "\nServer : " - << OutString(det->getDetectorServerVersion(std::vector{det_id})) - << "\nKernel : " - << OutString(det->getKernelVersion({std::vector{det_id}})) - << "\nHardware : " - << OutString(det->getHardwareVersion(std::vector{det_id})); - - if (det->getUseReceiverFlag().squash(true)) { - os << "\nReceiver : " - << OutString(det->getReceiverVersion(std::vector{det_id})); + os << "\nFirmware : " << vFirmware; } + os << "\nServer : " << vServer + << "\nKernel : " << vKernel + << "\nHardware : " << vHardware; + if (receiver) + os << "\nReceiver : " << vReceiver; os << std::dec << '\n'; + } else if (action == defs::PUT_ACTION) { throw RuntimeError("cannot put"); } else { @@ -639,6 +685,25 @@ std::string Caller::rx_hostname(int action) { } return os.str(); } +std::string Caller::rx_zmqip(int action) { + std::string helpMessage = + "\n\t[deprecated] The receiver zmq socket (publisher) will " + "listen to all interfaces ('tcp://0.0.0.0:[port]'to all interfaces " + "(from v9.0.0). This command does nothing and will be removed " + "(from v10.0.0). This change makes no difference to the user.\n"; + std::ostringstream os; + if (action == defs::HELP_ACTION) { + os << helpMessage << '\n'; + } else if (action == defs::GET_ACTION) { + os << ZMQ_PUBLISHER_IP << '\n'; + } else if (action == defs::PUT_ACTION) { + LOG(logWARNING) << helpMessage << '\n'; + os << ZMQ_PUBLISHER_IP << '\n'; + } else { + throw RuntimeError("Unknown action"); + } + return os.str(); +} std::string Caller::rx_roi(int action) { std::ostringstream os; if (action == defs::HELP_ACTION) { @@ -1150,4 +1215,37 @@ std::string Caller::gaincaps(int action) { } return os.str(); } +std::string Caller::sleep(int action) { + std::ostringstream os; + if (action == defs::HELP_ACTION) { + os << "[duration] [(optional unit) ns|us|ms|s]\n\tSleep for duration. " + "Mainly for config files for firmware developers." + "Default unit is s." + << '\n'; + } else if (action == defs::GET_ACTION) { + throw RuntimeError("Cannot get."); + } else if (action == defs::PUT_ACTION) { + if (args.size() != 1 && args.size() != 2) { + WrongNumberOfParameters(1); + } + time::ns converted_time{0}; + try { + if (args.size() == 1) { + std::string tmp_time(args[0]); + std::string unit = RemoveUnit(tmp_time); + converted_time = StringTo(tmp_time, unit); + } else { + converted_time = StringTo(args[0], args[1]); + } + } catch (...) { + throw RuntimeError("Could not convert argument to time::ns"); + } + std::this_thread::sleep_for(converted_time); + os << "for " << ToString(converted_time) << " completed" << '\n'; + } else { + throw RuntimeError("Unknown action"); + } + return os.str(); +} + } // namespace sls \ No newline at end of file diff --git a/slsDetectorSoftware/src/CmdApp.cpp b/slsDetectorSoftware/src/CmdApp.cpp index 9a616e19b..facb584a8 100644 --- a/slsDetectorSoftware/src/CmdApp.cpp +++ b/slsDetectorSoftware/src/CmdApp.cpp @@ -20,6 +20,10 @@ int main(int argc, char *argv[]) { int action = slsDetectorDefs::READOUT_ACTION; #endif +#ifdef READOUTZMQ + int action = slsDetectorDefs::READOUT_ZMQ_ACTION; +#endif + #ifdef HELP int action = slsDetectorDefs::HELP_ACTION; #endif @@ -38,7 +42,8 @@ int main(int argc, char *argv[]) { sls::CmdParser parser; parser.Parse(argc, argv); - if (action == slsDetectorDefs::READOUT_ACTION) + if (action == slsDetectorDefs::READOUT_ACTION || + action == slsDetectorDefs::READOUT_ZMQ_ACTION) parser.setCommand("acquire"); if (parser.isHelp()) diff --git a/slsDetectorSoftware/src/Detector.cpp b/slsDetectorSoftware/src/Detector.cpp index d344703c0..00ddf5b47 100644 --- a/slsDetectorSoftware/src/Detector.cpp +++ b/slsDetectorSoftware/src/Detector.cpp @@ -533,6 +533,7 @@ std::vector Detector::getReadoutSpeedList() const { case defs::EIGER: case defs::JUNGFRAU: case defs::MOENCH: + case defs::MYTHEN3: return std::vector{defs::FULL_SPEED, defs::HALF_SPEED, defs::QUARTER_SPEED}; case defs::GOTTHARD2: @@ -910,7 +911,8 @@ void Detector::stopDetector(Positions pos) { case defs::JUNGFRAU: case defs::MOENCH: case defs::CHIPTESTBOARD: - case defs::XILINX_CHIPTESTBOARD: { + case defs::XILINX_CHIPTESTBOARD: + case defs::GOTTHARD2: { auto res = getNextFrameNumber(pos); if (!res.equal()) { uint64_t maxVal = 0; @@ -1483,19 +1485,6 @@ void Detector::setRxZmqPort(uint16_t port, int module_id) { } } -Result Detector::getRxZmqIP(Positions pos) const { - return pimpl->Parallel(&Module::getReceiverStreamingIP, pos); -} - -void Detector::setRxZmqIP(const IpAddr ip, Positions pos) { - bool previouslyReceiverStreaming = getRxZmqDataStream(pos).squash(false); - pimpl->Parallel(&Module::setReceiverStreamingIP, pos, ip); - if (previouslyReceiverStreaming) { - setRxZmqDataStream(false, pos); - setRxZmqDataStream(true, pos); - } -} - Result Detector::getClientZmqPort(Positions pos) const { return pimpl->Parallel(&Module::getClientStreamingPort, pos); } @@ -1784,6 +1773,24 @@ void Detector::setPedestalMode(const defs::pedestalParameters par, pimpl->Parallel(&Module::setPedestalMode, pos, par); } +Result +Detector::getTimingInfoDecoder(Positions pos) const { + return pimpl->Parallel(&Module::getTimingInfoDecoder, pos); +} + +void Detector::setTimingInfoDecoder(defs::timingInfoDecoder value, + Positions pos) { + pimpl->Parallel(&Module::setTimingInfoDecoder, pos, value); +} + +Result Detector::getCollectionMode(Positions pos) const { + return pimpl->Parallel(&Module::getCollectionMode, pos); +} + +void Detector::setCollectionMode(defs::collectionMode value, Positions pos) { + pimpl->Parallel(&Module::setCollectionMode, pos, value); +} + // Gotthard Specific Result Detector::getROI(Positions pos) const { @@ -2686,16 +2693,18 @@ Result Detector::readRegister(uint32_t addr, Positions pos) const { return pimpl->Parallel(&Module::readRegister, pos, addr); } -void Detector::writeRegister(uint32_t addr, uint32_t val, Positions pos) { - pimpl->Parallel(&Module::writeRegister, pos, addr, val); +void Detector::writeRegister(uint32_t addr, uint32_t val, bool validate, + Positions pos) { + pimpl->Parallel(&Module::writeRegister, pos, addr, val, validate); } -void Detector::setBit(uint32_t addr, int bitnr, Positions pos) { - pimpl->Parallel(&Module::setBit, pos, addr, bitnr); +void Detector::setBit(uint32_t addr, int bitnr, bool validate, Positions pos) { + pimpl->Parallel(&Module::setBit, pos, addr, bitnr, validate); } -void Detector::clearBit(uint32_t addr, int bitnr, Positions pos) { - pimpl->Parallel(&Module::clearBit, pos, addr, bitnr); +void Detector::clearBit(uint32_t addr, int bitnr, bool validate, + Positions pos) { + pimpl->Parallel(&Module::clearBit, pos, addr, bitnr, validate); } Result Detector::getBit(uint32_t addr, int bitnr, Positions pos) { diff --git a/slsDetectorSoftware/src/DetectorImpl.cpp b/slsDetectorSoftware/src/DetectorImpl.cpp index 523c472f8..c9e078034 100644 --- a/slsDetectorSoftware/src/DetectorImpl.cpp +++ b/slsDetectorSoftware/src/DetectorImpl.cpp @@ -1223,10 +1223,14 @@ int DetectorImpl::acquire() { if (acquisition_finished != nullptr) { // status - runStatus status = IDLE; auto statusList = Parallel(&Module::getRunStatus, {}); - status = statusList.squash(ERROR); - // difference, but none error + // if any slave still waiting, wait up to 1s (gotthard) + for (int i = 0; i != 20 && statusList.any(WAITING); ++i) { + std::this_thread::sleep_for(std::chrono::milliseconds(50)); + statusList = Parallel(&Module::getRunStatus, {}); + } + runStatus status = statusList.squash(ERROR); + // inconsistent status (squash error), but none of them in error if (status == ERROR && (!statusList.any(ERROR))) { // handle jf sync issue (master idle, slaves stopped) if (statusList.contains_only(IDLE, STOPPED)) { @@ -1322,8 +1326,13 @@ void DetectorImpl::startAcquisition(const bool blocking, Positions pos) { Parallel(&Module::startAndReadAll, masters); // ensure all status normal (slaves not blocking) // to catch those slaves that are still 'waiting' - auto status = Parallel(&Module::getRunStatus, pos); - if (!status.contains_only(IDLE, STOPPED, RUN_FINISHED)) { + auto statusList = Parallel(&Module::getRunStatus, pos); + // if any slave still waiting, wait up to 1s (gotthard) + for (int i = 0; i != 20 && statusList.any(WAITING); ++i) { + std::this_thread::sleep_for(std::chrono::milliseconds(50)); + statusList = Parallel(&Module::getRunStatus, pos); + } + if (!statusList.contains_only(IDLE, STOPPED, RUN_FINISHED)) { throw RuntimeError("Acquisition not successful. " "Unexpected detector status"); } @@ -1981,7 +1990,7 @@ void DetectorImpl::setBadChannels(const std::vector list, Positions pos) { // update to multi values if multi modules if (isAllPositions(pos)) { - std::vector> badchannels; + std::vector> badchannels(modules.size()); int nchan = modules[0]->getNumberOfChannels().x; if (shm()->detType == MYTHEN3) { // assuming single counter @@ -2000,16 +2009,9 @@ void DetectorImpl::setBadChannels(const std::vector list, Positions pos) { std::to_string(badchannel) + " out of bounds."); } - if (badchannels.size() != imod + 1) { - badchannels.push_back(std::vector{}); - } badchannels[imod].push_back(ch); } for (size_t imod = 0; imod != modules.size(); ++imod) { - // add empty vector if no bad channels in this module - if (badchannels.size() != imod + 1) { - badchannels.push_back(std::vector{}); - } Parallel(&Module::setBadChannels, {static_cast(imod)}, badchannels[imod]); } diff --git a/slsDetectorSoftware/src/Module.cpp b/slsDetectorSoftware/src/Module.cpp index cdc753a6a..202209919 100644 --- a/slsDetectorSoftware/src/Module.cpp +++ b/slsDetectorSoftware/src/Module.cpp @@ -1429,8 +1429,8 @@ void Module::setReceiverHostname(const std::string &hostname, shm()->numUDPInterfaces = retval.udpInterfaces; - // to use rx_hostname if empty and also update client zmqip - updateReceiverStreamingIP(); + // to use rx_hostname if empty + updateClientStreamingIP(); } uint16_t Module::getReceiverPort() const { return shm()->rxTCPPort; } @@ -1656,21 +1656,6 @@ void Module::setReceiverStreamingPort(uint16_t port) { sendToReceiver(F_SET_RECEIVER_STREAMING_PORT, port, nullptr); } -IpAddr Module::getReceiverStreamingIP() const { - return sendToReceiver(F_GET_RECEIVER_STREAMING_SRC_IP); -} - -void Module::setReceiverStreamingIP(const IpAddr ip) { - if (ip == 0) { - throw RuntimeError("Invalid receiver zmq ip address"); - } - // if client zmqip is empty, update it - if (shm()->zmqip == 0) { - shm()->zmqip = ip; - } - sendToReceiver(F_SET_RECEIVER_STREAMING_SRC_IP, ip, nullptr); -} - uint16_t Module::getClientStreamingPort() const { return shm()->zmqport; } void Module::setClientStreamingPort(uint16_t port) { shm()->zmqport = port; } @@ -1955,6 +1940,22 @@ void Module::setPedestalMode(const defs::pedestalParameters par) { } } +defs::timingInfoDecoder Module::getTimingInfoDecoder() const { + return sendToDetector(F_GET_TIMING_INFO_DECODER); +} + +void Module::setTimingInfoDecoder(const defs::timingInfoDecoder value) { + sendToDetector(F_SET_TIMING_INFO_DECODER, static_cast(value), nullptr); +} + +defs::collectionMode Module::getCollectionMode() const { + return sendToDetector(F_GET_COLLECTION_MODE); +} + +void Module::setCollectionMode(const defs::collectionMode value) { + sendToDetector(F_SET_COLLECTION_MODE, static_cast(value), nullptr); +} + // Gotthard Specific slsDetectorDefs::ROI Module::getROI() const { @@ -2827,18 +2828,20 @@ uint32_t Module::readRegister(uint32_t addr) const { return sendToDetectorStop(F_READ_REGISTER, addr); } -uint32_t Module::writeRegister(uint32_t addr, uint32_t val) { - uint32_t args[]{addr, val}; - return sendToDetectorStop(F_WRITE_REGISTER, args); +void Module::writeRegister(uint32_t addr, uint32_t val, bool validate) { + uint32_t args[]{addr, val, static_cast(validate)}; + return sendToDetectorStop(F_WRITE_REGISTER, args, nullptr); } -void Module::setBit(uint32_t addr, int n) { - uint32_t args[2] = {addr, static_cast(n)}; +void Module::setBit(uint32_t addr, int n, bool validate) { + uint32_t args[] = {addr, static_cast(n), + static_cast(validate)}; sendToDetectorStop(F_SET_BIT, args, nullptr); } -void Module::clearBit(uint32_t addr, int n) { - uint32_t args[2] = {addr, static_cast(n)}; +void Module::clearBit(uint32_t addr, int n, bool validate) { + uint32_t args[] = {addr, static_cast(n), + static_cast(validate)}; sendToDetectorStop(F_CLEAR_BIT, args, nullptr); } @@ -3613,18 +3616,19 @@ void Module::receiveModule(sls_detector_module *myMod, ClientSocket &client) { LOG(level) << myMod->nchan << " chans received"; } -void Module::updateReceiverStreamingIP() { - auto ip = getReceiverStreamingIP(); +void Module::updateClientStreamingIP() { + auto ip = getClientStreamingIP(); if (ip == 0) { // Hostname could be ip try to decode otherwise look up the hostname ip = IpAddr{shm()->rxHostname}; if (ip == 0) { ip = HostnameToIp(shm()->rxHostname); } - LOG(logINFO) << "Setting default receiver " << moduleIndex - << " streaming zmq ip to " << ip; + LOG(logINFO) << "Setting default module " << moduleIndex + << " zmq ip to " << ip; + + setClientStreamingIP(ip); } - setReceiverStreamingIP(ip); } void Module::updateRateCorrection() { diff --git a/slsDetectorSoftware/src/Module.h b/slsDetectorSoftware/src/Module.h index b8b73e3f4..b9ccaf8bc 100644 --- a/slsDetectorSoftware/src/Module.h +++ b/slsDetectorSoftware/src/Module.h @@ -351,8 +351,6 @@ class Module : public virtual slsDetectorDefs { void setReceiverStreamingStartingFrame(int fnum); uint16_t getReceiverStreamingPort() const; void setReceiverStreamingPort(uint16_t port); - IpAddr getReceiverStreamingIP() const; - void setReceiverStreamingIP(const IpAddr ip); uint16_t getClientStreamingPort() const; void setClientStreamingPort(uint16_t port); IpAddr getClientStreamingIP() const; @@ -421,6 +419,10 @@ class Module : public virtual slsDetectorDefs { void setNumberOfFilterCells(int value); defs::pedestalParameters getPedestalMode() const; void setPedestalMode(defs::pedestalParameters par); + defs::timingInfoDecoder getTimingInfoDecoder() const; + void setTimingInfoDecoder(const defs::timingInfoDecoder enable); + defs::collectionMode getCollectionMode() const; + void setCollectionMode(const defs::collectionMode enable); /************************************************** * * @@ -591,9 +593,9 @@ class Module : public virtual slsDetectorDefs { bool getUpdateMode() const; void setUpdateMode(const bool updatemode); uint32_t readRegister(uint32_t addr) const; - uint32_t writeRegister(uint32_t addr, uint32_t val); - void setBit(uint32_t addr, int n); - void clearBit(uint32_t addr, int n); + void writeRegister(uint32_t addr, uint32_t val, bool validate); + void setBit(uint32_t addr, int n, bool validate); + void clearBit(uint32_t addr, int n, bool validate); int getBit(uint32_t addr, int n); void executeFirmwareTest(); void executeBusTest(); @@ -766,7 +768,7 @@ class Module : public virtual slsDetectorDefs { sls_detector_module getModule(); void sendModule(sls_detector_module *myMod, ClientSocket &client); void receiveModule(sls_detector_module *myMod, ClientSocket &client); - void updateReceiverStreamingIP(); + void updateClientStreamingIP(); void updateRateCorrection(); /** Template function to do linear interpolation between two points (Eiger diff --git a/slsDetectorSoftware/src/Pattern.cpp b/slsDetectorSoftware/src/Pattern.cpp index 67b6d120b..3b7049b60 100644 --- a/slsDetectorSoftware/src/Pattern.cpp +++ b/slsDetectorSoftware/src/Pattern.cpp @@ -149,7 +149,7 @@ void Pattern::load(const std::string &fname) { level = StringTo(args[iArg++]); } else { LOG(logWARNING) - << "Depreciated command. Please use patloop next time."; + << "Deprecated command. Please use patloop next time."; if (nargs != 2) { throw RuntimeError("Invalid arguments for " + ToString(args)); @@ -174,7 +174,7 @@ void Pattern::load(const std::string &fname) { } level = StringTo(args[iArg++]); } else { - LOG(logWARNING) << "Depreciated command. Please use " + LOG(logWARNING) << "Deprecated command. Please use " "patnloop next time."; if (nargs != 1) { throw RuntimeError("Invalid arguments for " + @@ -198,7 +198,7 @@ void Pattern::load(const std::string &fname) { level = StringTo(args[iArg++]); } else { LOG(logWARNING) - << "Depreciated command. Please use patwait next time."; + << "Deprecated command. Please use patwait next time."; if (nargs != 1) { throw RuntimeError("Invalid arguments for " + ToString(args)); @@ -220,7 +220,7 @@ void Pattern::load(const std::string &fname) { } level = StringTo(args[iArg++]); } else { - LOG(logWARNING) << "Depreciated command. Please use " + LOG(logWARNING) << "Deprecated command. Please use " "patwaittime next time."; if (nargs != 1) { throw RuntimeError("Invalid arguments for " + diff --git a/slsDetectorSoftware/src/inferAction.cpp b/slsDetectorSoftware/src/inferAction.cpp index cb0bdc28b..4b46f6bde 100644 --- a/slsDetectorSoftware/src/inferAction.cpp +++ b/slsDetectorSoftware/src/inferAction.cpp @@ -404,6 +404,10 @@ int InferAction::clearbit() { return slsDetectorDefs::PUT_ACTION; } + if (args.size() == 3) { + return slsDetectorDefs::PUT_ACTION; + } + else { throw RuntimeError("Could not infer action: Wrong number of arguments"); @@ -496,6 +500,22 @@ int InferAction::clkphase() { } } +int InferAction::collectionmode() { + + if (args.size() == 0) { + return slsDetectorDefs::GET_ACTION; + } + + if (args.size() == 1) { + return slsDetectorDefs::PUT_ACTION; + } + + else { + + throw RuntimeError("Could not infer action: Wrong number of arguments"); + } +} + int InferAction::column() { if (args.size() == 0) { @@ -2490,6 +2510,10 @@ int InferAction::reg() { return slsDetectorDefs::PUT_ACTION; } + if (args.size() == 3) { + return slsDetectorDefs::PUT_ACTION; + } + else { throw RuntimeError("Could not infer action: Wrong number of arguments"); @@ -2993,18 +3017,8 @@ int InferAction::rx_zmqhwm() { int InferAction::rx_zmqip() { - if (args.size() == 0) { - return slsDetectorDefs::GET_ACTION; - } - - if (args.size() == 1) { - return slsDetectorDefs::PUT_ACTION; - } - - else { - - throw RuntimeError("Could not infer action: Wrong number of arguments"); - } + throw RuntimeError("sls_detector is disabled for command: rx_zmqip. Use " + "sls_detector_get or sls_detector_put"); } int InferAction::rx_zmqport() { @@ -3153,6 +3167,10 @@ int InferAction::setbit() { return slsDetectorDefs::PUT_ACTION; } + if (args.size() == 3) { + return slsDetectorDefs::PUT_ACTION; + } + else { throw RuntimeError("Could not infer action: Wrong number of arguments"); @@ -3237,6 +3255,22 @@ int InferAction::signalname() { } } +int InferAction::sleep() { + + if (args.size() == 1) { + return slsDetectorDefs::PUT_ACTION; + } + + if (args.size() == 2) { + return slsDetectorDefs::PUT_ACTION; + } + + else { + + throw RuntimeError("Could not infer action: Wrong number of arguments"); + } +} + int InferAction::slowadc() { if (args.size() == 1) { @@ -3703,6 +3737,22 @@ int InferAction::timing() { } } +int InferAction::timing_info_decoder() { + + if (args.size() == 0) { + return slsDetectorDefs::GET_ACTION; + } + + if (args.size() == 1) { + return slsDetectorDefs::PUT_ACTION; + } + + else { + + throw RuntimeError("Could not infer action: Wrong number of arguments"); + } +} + int InferAction::timinglist() { if (args.size() == 0) { diff --git a/slsDetectorSoftware/src/inferAction.h b/slsDetectorSoftware/src/inferAction.h index 3b0538a3e..dc44bf83f 100644 --- a/slsDetectorSoftware/src/inferAction.h +++ b/slsDetectorSoftware/src/inferAction.h @@ -44,6 +44,7 @@ class InferAction { int clkdiv(); int clkfreq(); int clkphase(); + int collectionmode(); int column(); int compdisabletime(); int confadc(); @@ -240,6 +241,7 @@ class InferAction { int signalindex(); int signallist(); int signalname(); + int sleep(); int slowadc(); int slowadcindex(); int slowadclist(); @@ -273,6 +275,7 @@ class InferAction { int tengiga(); int threshold(); int timing(); + int timing_info_decoder(); int timinglist(); int timingsource(); int top(); @@ -378,6 +381,7 @@ class InferAction { {"clkdiv", &InferAction::clkdiv}, {"clkfreq", &InferAction::clkfreq}, {"clkphase", &InferAction::clkphase}, + {"collectionmode", &InferAction::collectionmode}, {"column", &InferAction::column}, {"compdisabletime", &InferAction::compdisabletime}, {"confadc", &InferAction::confadc}, @@ -574,6 +578,7 @@ class InferAction { {"signalindex", &InferAction::signalindex}, {"signallist", &InferAction::signallist}, {"signalname", &InferAction::signalname}, + {"sleep", &InferAction::sleep}, {"slowadc", &InferAction::slowadc}, {"slowadcindex", &InferAction::slowadcindex}, {"slowadclist", &InferAction::slowadclist}, @@ -608,6 +613,7 @@ class InferAction { {"threshold", &InferAction::threshold}, {"thresholdnotb", &InferAction::threshold}, {"timing", &InferAction::timing}, + {"timing_info_decoder", &InferAction::timing_info_decoder}, {"timinglist", &InferAction::timinglist}, {"timingsource", &InferAction::timingsource}, {"top", &InferAction::top}, diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp index 8ef02e85e..fbb11128d 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-chiptestboard.cpp @@ -19,7 +19,7 @@ using test::PUT; /* dacs */ -TEST_CASE("CALLER::dacname", "[.cmdcall]") { +TEST_CASE("dacname", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -54,7 +54,7 @@ TEST_CASE("CALLER::dacname", "[.cmdcall]") { } } -TEST_CASE("CALLER::dacindex", "[.cmdcall]") { +TEST_CASE("dacindex", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -80,7 +80,7 @@ TEST_CASE("CALLER::dacindex", "[.cmdcall]") { } } -TEST_CASE("CALLER::adclist", "[.cmdcall]") { +TEST_CASE("adclist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -113,7 +113,7 @@ TEST_CASE("CALLER::adclist", "[.cmdcall]") { } } -TEST_CASE("CALLER::adcname", "[.cmdcall]") { +TEST_CASE("adcname", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -148,7 +148,7 @@ TEST_CASE("CALLER::adcname", "[.cmdcall]") { } } -TEST_CASE("CALLER::adcindex", "[.cmdcall]") { +TEST_CASE("adcindex", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -174,7 +174,7 @@ TEST_CASE("CALLER::adcindex", "[.cmdcall]") { } } -TEST_CASE("CALLER::signallist", "[.cmdcall]") { +TEST_CASE("signallist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -207,7 +207,7 @@ TEST_CASE("CALLER::signallist", "[.cmdcall]") { } } -TEST_CASE("CALLER::signalname", "[.cmdcall]") { +TEST_CASE("signalname", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -242,7 +242,7 @@ TEST_CASE("CALLER::signalname", "[.cmdcall]") { } } -TEST_CASE("CALLER::signalindex", "[.cmdcall]") { +TEST_CASE("signalindex", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -269,7 +269,7 @@ TEST_CASE("CALLER::signalindex", "[.cmdcall]") { } } -TEST_CASE("CALLER::powerlist", "[.cmdcall]") { +TEST_CASE("powerlist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -302,7 +302,7 @@ TEST_CASE("CALLER::powerlist", "[.cmdcall]") { } } -TEST_CASE("CALLER::powername", "[.cmdcall]") { +TEST_CASE("powername", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -337,7 +337,7 @@ TEST_CASE("CALLER::powername", "[.cmdcall]") { } } -TEST_CASE("CALLER::powerindex", "[.cmdcall]") { +TEST_CASE("powerindex", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -364,7 +364,7 @@ TEST_CASE("CALLER::powerindex", "[.cmdcall]") { } } -TEST_CASE("CALLER::powervalues", "[.cmdcall]") { +TEST_CASE("powervalues", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -377,7 +377,7 @@ TEST_CASE("CALLER::powervalues", "[.cmdcall]") { } } -TEST_CASE("CALLER::slowadcvalues", "[.cmdcall]") { +TEST_CASE("slowadcvalues", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -390,7 +390,7 @@ TEST_CASE("CALLER::slowadcvalues", "[.cmdcall]") { } } -TEST_CASE("CALLER::slowadclist", "[.cmdcall]") { +TEST_CASE("slowadclist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -423,7 +423,7 @@ TEST_CASE("CALLER::slowadclist", "[.cmdcall]") { } } -TEST_CASE("CALLER::slowadcname", "[.cmdcall]") { +TEST_CASE("slowadcname", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -459,7 +459,7 @@ TEST_CASE("CALLER::slowadcname", "[.cmdcall]") { } } -TEST_CASE("CALLER::slowadcindex", "[.cmdcall]") { +TEST_CASE("slowadcindex", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -488,7 +488,7 @@ TEST_CASE("CALLER::slowadcindex", "[.cmdcall]") { /* dacs */ -TEST_CASE("CALLER::dac", "[.cmdcall][.dacs]") { +TEST_CASE("dac", "[.cmdcall][.dacs]") { // dac 0 to dac 17 Detector det; @@ -573,7 +573,7 @@ TEST_CASE("CALLER::dac", "[.cmdcall][.dacs]") { } } -TEST_CASE("CALLER::adcvpp", "[.cmdcall]") { +TEST_CASE("adcvpp", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -605,7 +605,7 @@ TEST_CASE("CALLER::adcvpp", "[.cmdcall]") { /* CTB Specific */ -TEST_CASE("CALLER::samples", "[.cmdcall]") { +TEST_CASE("samples", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -649,7 +649,7 @@ TEST_CASE("CALLER::samples", "[.cmdcall]") { } } -TEST_CASE("CALLER::asamples", "[.cmdcall]") { +TEST_CASE("asamples", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -680,7 +680,7 @@ TEST_CASE("CALLER::asamples", "[.cmdcall]") { } } -TEST_CASE("CALLER::adcclk", "[.cmdcall]") { +TEST_CASE("adcclk", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -711,7 +711,7 @@ TEST_CASE("CALLER::adcclk", "[.cmdcall]") { } } -TEST_CASE("CALLER::runclk", "[.cmdcall]") { +TEST_CASE("runclk", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -742,7 +742,7 @@ TEST_CASE("CALLER::runclk", "[.cmdcall]") { } } -TEST_CASE("CALLER::syncclk", "[.cmdcall]") { +TEST_CASE("syncclk", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -754,7 +754,7 @@ TEST_CASE("CALLER::syncclk", "[.cmdcall]") { } } -TEST_CASE("CALLER::v_limit", "[.cmdcall]") { +TEST_CASE("v_limit", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -793,7 +793,7 @@ TEST_CASE("CALLER::v_limit", "[.cmdcall]") { } } -TEST_CASE("CALLER::adcenable", "[.cmdcall]") { +TEST_CASE("adcenable", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -823,7 +823,7 @@ TEST_CASE("CALLER::adcenable", "[.cmdcall]") { } } -TEST_CASE("CALLER::adcenable10g", "[.cmdcall]") { +TEST_CASE("adcenable10g", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -854,7 +854,7 @@ TEST_CASE("CALLER::adcenable10g", "[.cmdcall]") { } } -TEST_CASE("CALLER::transceiverenable", "[.cmdcall]") { +TEST_CASE("transceiverenable", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -887,7 +887,7 @@ TEST_CASE("CALLER::transceiverenable", "[.cmdcall]") { /* CTB Specific */ -TEST_CASE("CALLER::dsamples", "[.cmdcall]") { +TEST_CASE("dsamples", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -918,7 +918,7 @@ TEST_CASE("CALLER::dsamples", "[.cmdcall]") { } } -TEST_CASE("CALLER::tsamples", "[.cmdcall]") { +TEST_CASE("tsamples", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -949,7 +949,7 @@ TEST_CASE("CALLER::tsamples", "[.cmdcall]") { } } -TEST_CASE("CALLER::romode", "[.cmdcall]") { +TEST_CASE("romode", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1003,7 +1003,7 @@ TEST_CASE("CALLER::romode", "[.cmdcall]") { } } -TEST_CASE("CALLER::dbitclk", "[.cmdcall]") { +TEST_CASE("dbitclk", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1034,7 +1034,7 @@ TEST_CASE("CALLER::dbitclk", "[.cmdcall]") { } } -TEST_CASE("CALLER::v_a", "[.cmdcall]") { +TEST_CASE("v_a", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1043,10 +1043,10 @@ TEST_CASE("CALLER::v_a", "[.cmdcall]") { auto prev_val = det.getPower(defs::V_POWER_A); { std::ostringstream oss1, oss2; - caller.call("v_a", {"700"}, -1, PUT, oss1); - REQUIRE(oss1.str() == "v_a 700\n"); + caller.call("v_a", {"1200"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "v_a 1200\n"); caller.call("v_a", {}, -1, GET, oss2); - REQUIRE(oss2.str() == "v_a 700\n"); + REQUIRE(oss2.str() == "v_a 1200\n"); } for (int i = 0; i != det.size(); ++i) { det.setPower(defs::V_POWER_A, prev_val[i], {i}); @@ -1056,7 +1056,7 @@ TEST_CASE("CALLER::v_a", "[.cmdcall]") { } } -TEST_CASE("CALLER::v_b", "[.cmdcall]") { +TEST_CASE("v_b", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1065,10 +1065,10 @@ TEST_CASE("CALLER::v_b", "[.cmdcall]") { auto prev_val = det.getPower(defs::V_POWER_B); { std::ostringstream oss1, oss2; - caller.call("v_b", {"700"}, -1, PUT, oss1); - REQUIRE(oss1.str() == "v_b 700\n"); + caller.call("v_b", {"1200"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "v_b 1200\n"); caller.call("v_b", {}, -1, GET, oss2); - REQUIRE(oss2.str() == "v_b 700\n"); + REQUIRE(oss2.str() == "v_b 1200\n"); } for (int i = 0; i != det.size(); ++i) { det.setPower(defs::V_POWER_B, prev_val[i], {i}); @@ -1078,7 +1078,7 @@ TEST_CASE("CALLER::v_b", "[.cmdcall]") { } } -TEST_CASE("CALLER::v_c", "[.cmdcall]") { +TEST_CASE("v_c", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1087,10 +1087,10 @@ TEST_CASE("CALLER::v_c", "[.cmdcall]") { auto prev_val = det.getPower(defs::V_POWER_C); { std::ostringstream oss1, oss2; - caller.call("v_c", {"700"}, -1, PUT, oss1); - REQUIRE(oss1.str() == "v_c 700\n"); + caller.call("v_c", {"1200"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "v_c 1200\n"); caller.call("v_c", {}, -1, GET, oss2); - REQUIRE(oss2.str() == "v_c 700\n"); + REQUIRE(oss2.str() == "v_c 1200\n"); } for (int i = 0; i != det.size(); ++i) { det.setPower(defs::V_POWER_C, prev_val[i], {i}); @@ -1100,7 +1100,7 @@ TEST_CASE("CALLER::v_c", "[.cmdcall]") { } } -TEST_CASE("CALLER::v_d", "[.cmdcall]") { +TEST_CASE("v_d", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1109,10 +1109,10 @@ TEST_CASE("CALLER::v_d", "[.cmdcall]") { auto prev_val = det.getPower(defs::V_POWER_D); { std::ostringstream oss1, oss2; - caller.call("v_d", {"700"}, -1, PUT, oss1); - REQUIRE(oss1.str() == "v_d 700\n"); + caller.call("v_d", {"1200"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "v_d 1200\n"); caller.call("v_d", {}, -1, GET, oss2); - REQUIRE(oss2.str() == "v_d 700\n"); + REQUIRE(oss2.str() == "v_d 1200\n"); } for (int i = 0; i != det.size(); ++i) { det.setPower(defs::V_POWER_D, prev_val[i], {i}); @@ -1122,7 +1122,7 @@ TEST_CASE("CALLER::v_d", "[.cmdcall]") { } } -TEST_CASE("CALLER::v_io", "[.cmdcall]") { +TEST_CASE("v_io", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1135,7 +1135,7 @@ TEST_CASE("CALLER::v_io", "[.cmdcall]") { } } -TEST_CASE("CALLER::v_chip", "[.cmdcall]") { +TEST_CASE("v_chip", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1147,7 +1147,7 @@ TEST_CASE("CALLER::v_chip", "[.cmdcall]") { } } -TEST_CASE("CALLER::vm_a", "[.cmdcall]") { +TEST_CASE("vm_a", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1158,7 +1158,7 @@ TEST_CASE("CALLER::vm_a", "[.cmdcall]") { } } -TEST_CASE("CALLER::vm_b", "[.cmdcall]") { +TEST_CASE("vm_b", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1169,7 +1169,7 @@ TEST_CASE("CALLER::vm_b", "[.cmdcall]") { } } -TEST_CASE("CALLER::vm_c", "[.cmdcall]") { +TEST_CASE("vm_c", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1180,7 +1180,7 @@ TEST_CASE("CALLER::vm_c", "[.cmdcall]") { } } -TEST_CASE("CALLER::vm_d", "[.cmdcall]") { +TEST_CASE("vm_d", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1191,7 +1191,7 @@ TEST_CASE("CALLER::vm_d", "[.cmdcall]") { } } -TEST_CASE("CALLER::vm_io", "[.cmdcall]") { +TEST_CASE("vm_io", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1202,7 +1202,7 @@ TEST_CASE("CALLER::vm_io", "[.cmdcall]") { } } -TEST_CASE("CALLER::im_a", "[.cmdcall]") { +TEST_CASE("im_a", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1213,7 +1213,7 @@ TEST_CASE("CALLER::im_a", "[.cmdcall]") { } } -TEST_CASE("CALLER::im_b", "[.cmdcall]") { +TEST_CASE("im_b", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1224,7 +1224,7 @@ TEST_CASE("CALLER::im_b", "[.cmdcall]") { } } -TEST_CASE("CALLER::im_c", "[.cmdcall]") { +TEST_CASE("im_c", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1235,7 +1235,7 @@ TEST_CASE("CALLER::im_c", "[.cmdcall]") { } } -TEST_CASE("CALLER::im_d", "[.cmdcall]") { +TEST_CASE("im_d", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1246,7 +1246,7 @@ TEST_CASE("CALLER::im_d", "[.cmdcall]") { } } -TEST_CASE("CALLER::im_io", "[.cmdcall]") { +TEST_CASE("im_io", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1257,7 +1257,7 @@ TEST_CASE("CALLER::im_io", "[.cmdcall]") { } } -TEST_CASE("CALLER::slowadc", "[.cmdcall]") { +TEST_CASE("slowadc", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1273,7 +1273,7 @@ TEST_CASE("CALLER::slowadc", "[.cmdcall]") { } } -TEST_CASE("CALLER::extsampling", "[.cmdcall]") { +TEST_CASE("extsampling", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1303,7 +1303,7 @@ TEST_CASE("CALLER::extsampling", "[.cmdcall]") { } } -TEST_CASE("CALLER::extsamplingsrc", "[.cmdcall]") { +TEST_CASE("extsamplingsrc", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1334,7 +1334,7 @@ TEST_CASE("CALLER::extsamplingsrc", "[.cmdcall]") { } } -TEST_CASE("CALLER::diodelay", "[.cmdcall]") { +TEST_CASE("diodelay", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1357,7 +1357,7 @@ TEST_CASE("CALLER::diodelay", "[.cmdcall]") { } } -TEST_CASE("CALLER::led", "[.cmdcall]") { +TEST_CASE("led", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp index 1df82c68f..70a9a8446 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-eiger.cpp @@ -19,7 +19,7 @@ using test::PUT; /** temperature */ -TEST_CASE("CALLER::temp_fpgaext", "[.cmdcall]") { +TEST_CASE("temp_fpgaext", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -34,7 +34,7 @@ TEST_CASE("CALLER::temp_fpgaext", "[.cmdcall]") { } } -TEST_CASE("CALLER::temp_10ge", "[.cmdcall]") { +TEST_CASE("temp_10ge", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -49,7 +49,7 @@ TEST_CASE("CALLER::temp_10ge", "[.cmdcall]") { } } -TEST_CASE("CALLER::temp_dcdc", "[.cmdcall]") { +TEST_CASE("temp_dcdc", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -64,7 +64,7 @@ TEST_CASE("CALLER::temp_dcdc", "[.cmdcall]") { } } -TEST_CASE("CALLER::temp_sodl", "[.cmdcall]") { +TEST_CASE("temp_sodl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -79,7 +79,7 @@ TEST_CASE("CALLER::temp_sodl", "[.cmdcall]") { } } -TEST_CASE("CALLER::temp_sodr", "[.cmdcall]") { +TEST_CASE("temp_sodr", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -94,7 +94,7 @@ TEST_CASE("CALLER::temp_sodr", "[.cmdcall]") { } } -TEST_CASE("CALLER::temp_fpgafl", "[.cmdcall]") { +TEST_CASE("temp_fpgafl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -109,7 +109,7 @@ TEST_CASE("CALLER::temp_fpgafl", "[.cmdcall]") { } } -TEST_CASE("CALLER::temp_fpgafr", "[.cmdcall]") { +TEST_CASE("temp_fpgafr", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -126,7 +126,7 @@ TEST_CASE("CALLER::temp_fpgafr", "[.cmdcall]") { /* dacs */ -TEST_CASE("CALLER::Setting and reading back EIGER dacs", "[.cmdcall][.dacs]") { +TEST_CASE("Setting and reading back EIGER dacs", "[.cmdcall][.dacs]") { // vsvp, vtr, vrf, vrs, vsvn, vtgstv, vcmp_ll, vcmp_lr, vcal, vcmp_rl, // rxb_rb, rxb_lb, vcmp_rr, vcp, vcn, vis, vthreshold Detector det; @@ -241,7 +241,7 @@ TEST_CASE("CALLER::Setting and reading back EIGER dacs", "[.cmdcall][.dacs]") { /* Network Configuration (Detector<->Receiver) */ -TEST_CASE("CALLER::txdelay_left", "[.cmdcall]") { +TEST_CASE("txdelay_left", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -262,7 +262,7 @@ TEST_CASE("CALLER::txdelay_left", "[.cmdcall]") { } } -TEST_CASE("CALLER::txdelay_right", "[.cmdcall]") { +TEST_CASE("txdelay_right", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -285,7 +285,7 @@ TEST_CASE("CALLER::txdelay_right", "[.cmdcall]") { /* Eiger Specific */ -TEST_CASE("CALLER::subexptime", "[.cmdcall]") { +TEST_CASE("subexptime", "[.cmdcall]") { Detector det; Caller caller(&det); @@ -306,7 +306,7 @@ TEST_CASE("CALLER::subexptime", "[.cmdcall]") { } } -TEST_CASE("CALLER::subdeadtime", "[.cmdcall]") { +TEST_CASE("subdeadtime", "[.cmdcall]") { Detector det; Caller caller(&det); @@ -327,7 +327,7 @@ TEST_CASE("CALLER::subdeadtime", "[.cmdcall]") { } } -TEST_CASE("CALLER::overflow", "[.cmdcall]") { +TEST_CASE("overflow", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -348,7 +348,7 @@ TEST_CASE("CALLER::overflow", "[.cmdcall]") { } } -TEST_CASE("CALLER::ratecorr", "[.cmdcall]") { +TEST_CASE("ratecorr", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -382,7 +382,7 @@ TEST_CASE("CALLER::ratecorr", "[.cmdcall]") { } } -TEST_CASE("CALLER::interruptsubframe", "[.cmdcall]") { +TEST_CASE("interruptsubframe", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -406,7 +406,7 @@ TEST_CASE("CALLER::interruptsubframe", "[.cmdcall]") { } } -TEST_CASE("CALLER::measuredperiod", "[.cmdcall]") { +TEST_CASE("measuredperiod", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -443,7 +443,7 @@ TEST_CASE("CALLER::measuredperiod", "[.cmdcall]") { } } -TEST_CASE("CALLER::measuredsubperiod", "[.cmdcall]") { +TEST_CASE("measuredsubperiod", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -483,7 +483,7 @@ TEST_CASE("CALLER::measuredsubperiod", "[.cmdcall]") { } } -TEST_CASE("CALLER::activate", "[.cmdcall]") { +TEST_CASE("activate", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -514,7 +514,7 @@ TEST_CASE("CALLER::activate", "[.cmdcall]") { } } -TEST_CASE("CALLER::partialreset", "[.cmdcall]") { +TEST_CASE("partialreset", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -536,7 +536,7 @@ TEST_CASE("CALLER::partialreset", "[.cmdcall]") { } } -TEST_CASE("CALLER::pulse", "[.cmdcall]") { +TEST_CASE("pulse", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -551,7 +551,7 @@ TEST_CASE("CALLER::pulse", "[.cmdcall]") { } } -TEST_CASE("CALLER::pulsenmove", "[.cmdcall]") { +TEST_CASE("pulsenmove", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -566,7 +566,7 @@ TEST_CASE("CALLER::pulsenmove", "[.cmdcall]") { } } -TEST_CASE("CALLER::pulsechip", "[.cmdcall]") { +TEST_CASE("pulsechip", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -581,7 +581,7 @@ TEST_CASE("CALLER::pulsechip", "[.cmdcall]") { } } -TEST_CASE("CALLER::quad", "[.cmdcall]") { +TEST_CASE("quad", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -597,7 +597,7 @@ TEST_CASE("CALLER::quad", "[.cmdcall]") { } } -TEST_CASE("CALLER::datastream", "[.cmdcall]") { +TEST_CASE("datastream", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -637,7 +637,7 @@ TEST_CASE("CALLER::datastream", "[.cmdcall]") { } } -TEST_CASE("CALLER::top", "[.cmdcall]") { +TEST_CASE("top", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-gotthard.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-gotthard.cpp index 67d2db2d8..9eaa5db73 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-gotthard.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-gotthard.cpp @@ -19,8 +19,7 @@ using test::PUT; /* dacs */ -TEST_CASE("Caller::Setting and reading back GOTTHARD dacs", - "[.cmdcall][.dacs]") { +TEST_CASE("Setting and reading back GOTTHARD dacs", "[.cmdcall][.dacs]") { // vref_ds, vcascn_pb, vcascp_pb, vout_cm, vcasc_out, vin_cm, vref_comp, // ib_test_c @@ -110,7 +109,7 @@ TEST_CASE("Caller::Setting and reading back GOTTHARD dacs", /* Gotthard Specific */ -TEST_CASE("Caller::roi", "[.cmdcall]") { +TEST_CASE("roi", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -141,7 +140,7 @@ TEST_CASE("Caller::roi", "[.cmdcall]") { } } -TEST_CASE("Caller::clearroi", "[.cmdcall]") { +TEST_CASE("clearroi", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -161,7 +160,7 @@ TEST_CASE("Caller::clearroi", "[.cmdcall]") { } } -TEST_CASE("Caller::exptimel", "[.cmdcall]") { +TEST_CASE("exptimel", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp index 518e519d7..54bba5ce2 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-gotthard2.cpp @@ -18,7 +18,7 @@ using test::GET; using test::PUT; // time specific measurements for gotthard2 -TEST_CASE("Caller::timegotthard2", "[.cmdcall]") { +TEST_CASE("timegotthard2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -86,7 +86,7 @@ TEST_CASE("Caller::timegotthard2", "[.cmdcall]") { det.setPeriod(prev_val[i], {i}); } // period in continuous mode - det.setBurstMode(defs::CONTINUOUS_INTERNAL, {}); + det.setBurstMode(defs::CONTINUOUS_EXTERNAL, {}); prev_val = det.getPeriod(); { std::ostringstream oss; @@ -106,8 +106,7 @@ TEST_CASE("Caller::timegotthard2", "[.cmdcall]") { } /* dacs */ -TEST_CASE("Caller::Setting and reading back GOTTHARD2 dacs", - "[.cmdcall][.dacs]") { +TEST_CASE("Setting and reading back GOTTHARD2 dacs", "[.cmdcall][.dacs]") { // vref_h_adc, vb_comp_fe, vb_comp_adc, vcom_cds, // vref_restore, vb_opa_1st, vref_comp_fe, vcom_adc1, // vref_prech, vref_l_adc, vref_cds, vb_cs, @@ -216,7 +215,7 @@ TEST_CASE("Caller::Setting and reading back GOTTHARD2 dacs", /* on chip dacs */ -TEST_CASE("Caller::vchip_comp_fe", "[.cmdcall][.onchipdacs]") { +TEST_CASE("vchip_comp_fe", "[.cmdcall][.onchipdacs]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -229,7 +228,7 @@ TEST_CASE("Caller::vchip_comp_fe", "[.cmdcall][.onchipdacs]") { } } -TEST_CASE("Caller::vchip_opa_1st", "[.cmdcall][.onchipdacs]") { +TEST_CASE("vchip_opa_1st", "[.cmdcall][.onchipdacs]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -242,7 +241,7 @@ TEST_CASE("Caller::vchip_opa_1st", "[.cmdcall][.onchipdacs]") { } } -TEST_CASE("Caller::vchip_opa_fd", "[.cmdcall][.onchipdacs]") { +TEST_CASE("vchip_opa_fd", "[.cmdcall][.onchipdacs]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -255,7 +254,7 @@ TEST_CASE("Caller::vchip_opa_fd", "[.cmdcall][.onchipdacs]") { } } -TEST_CASE("Caller::vchip_comp_adc", "[.cmdcall][.onchipdacs]") { +TEST_CASE("vchip_comp_adc", "[.cmdcall][.onchipdacs]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -268,7 +267,7 @@ TEST_CASE("Caller::vchip_comp_adc", "[.cmdcall][.onchipdacs]") { } } -TEST_CASE("Caller::vchip_ref_comp_fe", "[.cmdcall][.onchipdacs]") { +TEST_CASE("vchip_ref_comp_fe", "[.cmdcall][.onchipdacs]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -282,7 +281,7 @@ TEST_CASE("Caller::vchip_ref_comp_fe", "[.cmdcall][.onchipdacs]") { } } -TEST_CASE("Caller::vchip_cs", "[.cmdcall][.onchipdacs]") { +TEST_CASE("vchip_cs", "[.cmdcall][.onchipdacs]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -297,7 +296,7 @@ TEST_CASE("Caller::vchip_cs", "[.cmdcall][.onchipdacs]") { /* Gotthard2 Specific */ -TEST_CASE("Caller::bursts", "[.cmdcall]") { +TEST_CASE("bursts", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -339,7 +338,7 @@ TEST_CASE("Caller::bursts", "[.cmdcall]") { } // continuous mode: reg set to #frames, // but bursts should return same value - det.setBurstMode(defs::CONTINUOUS_INTERNAL); + det.setBurstMode(defs::CONTINUOUS_EXTERNAL); det.setNumberOfFrames(2); { std::ostringstream oss; @@ -371,7 +370,7 @@ TEST_CASE("Caller::bursts", "[.cmdcall]") { } } -TEST_CASE("Caller::burstperiod", "[.cmdcall]") { +TEST_CASE("burstperiod", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -393,7 +392,7 @@ TEST_CASE("Caller::burstperiod", "[.cmdcall]") { } } -TEST_CASE("Caller::burstsl", "[.cmdcall]") { +TEST_CASE("burstsl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -404,7 +403,7 @@ TEST_CASE("Caller::burstsl", "[.cmdcall]") { } } -TEST_CASE("Caller::inj_ch", "[.cmdcall]") { +TEST_CASE("inj_ch", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -429,7 +428,7 @@ TEST_CASE("Caller::inj_ch", "[.cmdcall]") { } } -TEST_CASE("Caller::vetophoton", "[.cmdcall]") { +TEST_CASE("vetophoton", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -451,7 +450,7 @@ TEST_CASE("Caller::vetophoton", "[.cmdcall]") { } } -TEST_CASE("Caller::vetoref", "[.cmdcall]") { +TEST_CASE("vetoref", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -466,7 +465,7 @@ TEST_CASE("Caller::vetoref", "[.cmdcall]") { } } -TEST_CASE("Caller::vetofile", "[.cmdcall]") { +TEST_CASE("vetofile", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -480,7 +479,7 @@ TEST_CASE("Caller::vetofile", "[.cmdcall]") { } } -TEST_CASE("Caller::burstmode", "[.cmdcall]") { +TEST_CASE("burstmode", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -495,13 +494,13 @@ TEST_CASE("Caller::burstmode", "[.cmdcall]") { } { std::ostringstream oss; - caller.call("burstmode", {"cw_internal"}, -1, PUT, oss); - REQUIRE(oss.str() == "burstmode cw_internal\n"); + caller.call("burstmode", {"cw_external"}, -1, PUT, oss); + REQUIRE(oss.str() == "burstmode cw_external\n"); } { std::ostringstream oss; caller.call("burstmode", {}, -1, GET, oss); - REQUIRE(oss.str() == "burstmode cw_internal\n"); + REQUIRE(oss.str() == "burstmode cw_external\n"); } for (int i = 0; i != det.size(); ++i) { det.setBurstMode(burst[i], {i}); @@ -511,7 +510,7 @@ TEST_CASE("Caller::burstmode", "[.cmdcall]") { } } -TEST_CASE("Caller::cdsgain", "[.cmdcall]") { +TEST_CASE("cdsgain", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -541,7 +540,7 @@ TEST_CASE("Caller::cdsgain", "[.cmdcall]") { } } -TEST_CASE("Caller::timingsource", "[.cmdcall]") { +TEST_CASE("timingsource", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -571,7 +570,7 @@ TEST_CASE("Caller::timingsource", "[.cmdcall]") { } } -TEST_CASE("Caller::veto", "[.cmdcall]") { +TEST_CASE("veto", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -601,7 +600,7 @@ TEST_CASE("Caller::veto", "[.cmdcall]") { } } -TEST_CASE("Caller::vetostream", "[.cmdcall]") { +TEST_CASE("vetostream", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -647,7 +646,7 @@ TEST_CASE("Caller::vetostream", "[.cmdcall]") { REQUIRE_THROWS(caller.call("vetostream", {"dfgd"}, -1, GET)); } -TEST_CASE("Caller::vetoalg", "[.cmdcall]") { +TEST_CASE("vetoalg", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -703,7 +702,7 @@ TEST_CASE("Caller::vetoalg", "[.cmdcall]") { REQUIRE_THROWS(caller.call("vetoalg", {"dfgd"}, -1, GET)); } -TEST_CASE("Caller::confadc", "[.cmdcall]") { +TEST_CASE("confadc", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp index 767d3d270..614404ad1 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-jungfrau.cpp @@ -17,8 +17,7 @@ using test::PUT; /* dacs */ -TEST_CASE("Caller::Setting and reading back Jungfrau dacs", - "[.cmdcall][.dacs]") { +TEST_CASE("Setting and reading back Jungfrau dacs", "[.cmdcall][.dacs]") { // vb_comp, vdd_prot, vin_com, vref_prech, vb_pixbuf, vb_ds, vref_ds, // vref_comp Detector det; @@ -105,7 +104,7 @@ TEST_CASE("Caller::Setting and reading back Jungfrau dacs", /* Network Configuration (Detector<->Receiver) */ -TEST_CASE("Caller::selinterface", "[.cmdcall]") { +TEST_CASE("selinterface", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -136,7 +135,7 @@ TEST_CASE("Caller::selinterface", "[.cmdcall]") { /* Jungfrau/moench Specific */ -TEST_CASE("Caller::temp_threshold", "[.cmdcall]") { +TEST_CASE("temp_threshold", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -166,7 +165,7 @@ TEST_CASE("Caller::temp_threshold", "[.cmdcall]") { } } -TEST_CASE("Caller::chipversion", "[.cmdcall]") { +TEST_CASE("chipversion", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -178,7 +177,7 @@ TEST_CASE("Caller::chipversion", "[.cmdcall]") { REQUIRE_THROWS(caller.call("chipversion", {"0"}, -1, PUT)); } -TEST_CASE("Caller::temp_control", "[.cmdcall]") { +TEST_CASE("temp_control", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -208,7 +207,7 @@ TEST_CASE("Caller::temp_control", "[.cmdcall]") { } } -TEST_CASE("Caller::temp_event", "[.cmdcall]") { +TEST_CASE("temp_event", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -229,7 +228,7 @@ TEST_CASE("Caller::temp_event", "[.cmdcall]") { } } -TEST_CASE("Caller::autocompdisable", "[.cmdcall]") { +TEST_CASE("autocompdisable", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -259,7 +258,7 @@ TEST_CASE("Caller::autocompdisable", "[.cmdcall]") { } } -TEST_CASE("Caller::compdisabletime", "[.cmdcall]") { +TEST_CASE("compdisabletime", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -290,7 +289,7 @@ TEST_CASE("Caller::compdisabletime", "[.cmdcall]") { } } -TEST_CASE("Caller::extrastoragecells", "[.cmdcall]") { +TEST_CASE("extrastoragecells", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -333,7 +332,7 @@ TEST_CASE("Caller::extrastoragecells", "[.cmdcall]") { } } -TEST_CASE("Caller::storagecell_start", "[.cmdcall]") { +TEST_CASE("storagecell_start", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -378,7 +377,7 @@ TEST_CASE("Caller::storagecell_start", "[.cmdcall]") { } } -TEST_CASE("Caller::storagecell_delay", "[.cmdcall]") { +TEST_CASE("storagecell_delay", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -419,7 +418,7 @@ TEST_CASE("Caller::storagecell_delay", "[.cmdcall]") { } } -TEST_CASE("Caller::gainmode", "[.cmdcall]") { +TEST_CASE("gainmode", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -468,7 +467,7 @@ TEST_CASE("Caller::gainmode", "[.cmdcall]") { } } -TEST_CASE("Caller::filtercells", "[.cmdcall]") { +TEST_CASE("filtercells", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -512,7 +511,7 @@ TEST_CASE("Caller::filtercells", "[.cmdcall]") { REQUIRE_THROWS(caller.call("filtercells", {"0"}, -1, PUT)); } } -TEST_CASE("Caller::pedestalmode", "[.cmdcall]") { +TEST_CASE("pedestalmode", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -667,7 +666,63 @@ TEST_CASE("Caller::pedestalmode", "[.cmdcall]") { } } -TEST_CASE("Caller::sync", "[.cmdcall]") { +TEST_CASE("timing_info_decoder", "[.cmdcall]") { + Detector det; + Caller caller(&det); + if (det.getDetectorType().squash() == defs::JUNGFRAU) { + auto prev_val = det.getTimingInfoDecoder(); + { + std::ostringstream oss; + caller.call("timing_info_decoder", {"shine"}, -1, PUT, oss); + REQUIRE(oss.str() == "timing_info_decoder shine\n"); + } + { + std::ostringstream oss; + caller.call("timing_info_decoder", {"swissfel"}, -1, PUT, oss); + REQUIRE(oss.str() == "timing_info_decoder swissfel\n"); + } + { + std::ostringstream oss; + caller.call("timing_info_decoder", {}, -1, GET, oss); + REQUIRE(oss.str() == "timing_info_decoder swissfel\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setTimingInfoDecoder(prev_val[i], {i}); + } + } else { + REQUIRE_THROWS(caller.call("timing_info_decoder", {}, -1, GET)); + } +} + +TEST_CASE("collectionmode", "[.cmdcall]") { + Detector det; + Caller caller(&det); + if (det.getDetectorType().squash() == defs::JUNGFRAU) { + auto prev_val = det.getCollectionMode(); + { + std::ostringstream oss; + caller.call("collectionmode", {"electron"}, -1, PUT, oss); + REQUIRE(oss.str() == "collectionmode electron\n"); + } + { + std::ostringstream oss; + caller.call("collectionmode", {"hole"}, -1, PUT, oss); + REQUIRE(oss.str() == "collectionmode hole\n"); + } + { + std::ostringstream oss; + caller.call("collectionmode", {}, -1, GET, oss); + REQUIRE(oss.str() == "collectionmode hole\n"); + } + for (int i = 0; i != det.size(); ++i) { + det.setCollectionMode(prev_val[i], {i}); + } + } else { + REQUIRE_THROWS(caller.call("collectionmode", {}, -1, GET)); + } +} + +TEST_CASE("sync", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp index 19ebaa435..4da61d2b5 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-moench.cpp @@ -17,7 +17,7 @@ using test::PUT; /* dacs */ -TEST_CASE("Caller::Setting and reading back moench dacs", "[.cmdcall][.dacs]") { +TEST_CASE("Setting and reading back moench dacs", "[.cmdcall][.dacs]") { // vbp_colbuf, vipre, vin_cm, vb_sda, vcasc_sfp, vout_cm, vipre_cds, // ibias_sfp Detector det; diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp index 13a678ec3..16295a3e1 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-mythen3.cpp @@ -19,8 +19,7 @@ using test::PUT; /* dacs */ -TEST_CASE("Caller::Setting and reading back MYTHEN3 dacs", - "[.cmdcall][.dacs]") { +TEST_CASE("Setting and reading back MYTHEN3 dacs", "[.cmdcall][.dacs]") { // vcassh, vth2, vshaper, vshaperneg, vipre_out, vth3, vth1, // vicin, vcas, vpreamp, vpl, vipre, viinsh, vph, vtrim, vdcsh, @@ -185,7 +184,7 @@ TEST_CASE("Caller::Setting and reading back MYTHEN3 dacs", /* acquisition */ -TEST_CASE("Caller::readout", "[.cmdcall]") { +TEST_CASE("readout", "[.cmdcall]") { Detector det; Caller caller(&det); // PUT only command @@ -202,7 +201,7 @@ TEST_CASE("Caller::readout", "[.cmdcall]") { /* Mythen3 Specific */ -TEST_CASE("Caller::counters", "[.cmdcall]") { +TEST_CASE("counters", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -234,7 +233,7 @@ TEST_CASE("Caller::counters", "[.cmdcall]") { } } -TEST_CASE("Caller::gates", "[.cmdcall]") { +TEST_CASE("gates", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -264,7 +263,7 @@ TEST_CASE("Caller::gates", "[.cmdcall]") { } } -TEST_CASE("Caller::exptime1", "[.cmdcall]") { +TEST_CASE("exptime1", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -293,7 +292,7 @@ TEST_CASE("Caller::exptime1", "[.cmdcall]") { } } -TEST_CASE("Caller::exptime2", "[.cmdcall]") { +TEST_CASE("exptime2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -322,7 +321,7 @@ TEST_CASE("Caller::exptime2", "[.cmdcall]") { } } -TEST_CASE("Caller::exptime3", "[.cmdcall]") { +TEST_CASE("exptime3", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -351,7 +350,7 @@ TEST_CASE("Caller::exptime3", "[.cmdcall]") { } } -TEST_CASE("Caller::gatedelay", "[.cmdcall]") { +TEST_CASE("gatedelay", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -387,7 +386,7 @@ TEST_CASE("Caller::gatedelay", "[.cmdcall]") { } } -TEST_CASE("Caller::gatedelay1", "[.cmdcall]") { +TEST_CASE("gatedelay1", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -416,7 +415,7 @@ TEST_CASE("Caller::gatedelay1", "[.cmdcall]") { } } -TEST_CASE("Caller::gatedelay2", "[.cmdcall]") { +TEST_CASE("gatedelay2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -445,7 +444,7 @@ TEST_CASE("Caller::gatedelay2", "[.cmdcall]") { } } -TEST_CASE("Caller::gatedelay3", "[.cmdcall]") { +TEST_CASE("gatedelay3", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -474,7 +473,7 @@ TEST_CASE("Caller::gatedelay3", "[.cmdcall]") { } } -TEST_CASE("Caller::polarity", "[.cmdcall]") { +TEST_CASE("polarity", "[.cmdcall]") { Detector det; Caller caller(&det); if (det.getDetectorType().squash() == defs::MYTHEN3) { @@ -502,7 +501,7 @@ TEST_CASE("Caller::polarity", "[.cmdcall]") { } } -TEST_CASE("Caller::interpolation", "[.cmdcall]") { +TEST_CASE("interpolation", "[.cmdcall]") { Detector det; Caller caller(&det); if (det.getDetectorType().squash() == defs::MYTHEN3) { @@ -556,7 +555,7 @@ TEST_CASE("Caller::interpolation", "[.cmdcall]") { } } -TEST_CASE("Caller::pumpprobe", "[.cmdcall]") { +TEST_CASE("pumpprobe", "[.cmdcall]") { Detector det; Caller caller(&det); if (det.getDetectorType().squash() == defs::MYTHEN3) { @@ -633,7 +632,7 @@ TEST_CASE("Caller::pumpprobe", "[.cmdcall]") { } } -TEST_CASE("Caller::apulse", "[.cmdcall]") { +TEST_CASE("apulse", "[.cmdcall]") { Detector det; Caller caller(&det); if (det.getDetectorType().squash() == defs::MYTHEN3) { @@ -661,7 +660,7 @@ TEST_CASE("Caller::apulse", "[.cmdcall]") { } } -TEST_CASE("Caller::dpulse", "[.cmdcall]") { +TEST_CASE("dpulse", "[.cmdcall]") { Detector det; Caller caller(&det); if (det.getDetectorType().squash() == defs::MYTHEN3) { diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-pattern.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-pattern.cpp index 20637cd16..60e1f460e 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-pattern.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-pattern.cpp @@ -19,7 +19,7 @@ using test::PUT; /* Pattern */ -TEST_CASE("Caller::patfname", "[.cmdcall]") { +TEST_CASE("patfname", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -32,7 +32,7 @@ TEST_CASE("Caller::patfname", "[.cmdcall]") { } } -TEST_CASE("Caller::pattern", "[.cmdcall]") { +TEST_CASE("pattern", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -45,7 +45,7 @@ TEST_CASE("Caller::pattern", "[.cmdcall]") { } } -TEST_CASE("Caller::savepattern", "[.cmdcall]") { +TEST_CASE("savepattern", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -63,7 +63,7 @@ TEST_CASE("Caller::savepattern", "[.cmdcall]") { } } -TEST_CASE("Caller::defaultpattern", "[.cmdcall]") { +TEST_CASE("defaultpattern", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -76,7 +76,7 @@ TEST_CASE("Caller::defaultpattern", "[.cmdcall]") { } } -TEST_CASE("Caller::patioctrl", "[.cmdcall]") { +TEST_CASE("patioctrl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -107,7 +107,7 @@ TEST_CASE("Caller::patioctrl", "[.cmdcall]") { } } -TEST_CASE("Caller::patword", "[.cmdcall]") { +TEST_CASE("patword", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -149,7 +149,7 @@ TEST_CASE("Caller::patword", "[.cmdcall]") { } } -TEST_CASE("Caller::patlimits", "[.cmdcall]") { +TEST_CASE("patlimits", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -176,7 +176,7 @@ TEST_CASE("Caller::patlimits", "[.cmdcall]") { } } -TEST_CASE("Caller::patloop", "[.cmdcall]") { +TEST_CASE("patloop", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -192,12 +192,12 @@ TEST_CASE("Caller::patloop", "[.cmdcall]") { std::string sLoop = ToString(iLoop); if (iLoop < 3) { std::string deprecatedCmd = "patloop" + sLoop; - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {"0x20", "0x5c"}, -1, PUT, oss); REQUIRE(oss.str() == deprecatedCmd + " [0x0020, 0x005c]\n"); } - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {}, -1, GET, oss); REQUIRE(oss.str() == deprecatedCmd + " [0x0020, 0x005c]\n"); @@ -225,7 +225,7 @@ TEST_CASE("Caller::patloop", "[.cmdcall]") { } } -TEST_CASE("Caller::patnloop", "[.cmdcall]") { +TEST_CASE("patnloop", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -241,12 +241,12 @@ TEST_CASE("Caller::patnloop", "[.cmdcall]") { std::string sLoop = ToString(iLoop); if (iLoop < 3) { std::string deprecatedCmd = "patnloop" + sLoop; - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {"5"}, -1, PUT, oss); REQUIRE(oss.str() == deprecatedCmd + " 5\n"); } - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {}, -1, GET, oss); REQUIRE(oss.str() == deprecatedCmd + " 5\n"); @@ -271,7 +271,7 @@ TEST_CASE("Caller::patnloop", "[.cmdcall]") { } } -TEST_CASE("Caller::patwait", "[.cmdcall]") { +TEST_CASE("patwait", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -287,12 +287,12 @@ TEST_CASE("Caller::patwait", "[.cmdcall]") { std::string sLoop = ToString(iLoop); if (iLoop < 3) { std::string deprecatedCmd = "patwait" + sLoop; - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {"0x5c"}, -1, PUT, oss); REQUIRE(oss.str() == deprecatedCmd + " 0x005c\n"); } - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {}, -1, GET, oss); REQUIRE(oss.str() == deprecatedCmd + " 0x005c\n"); @@ -317,7 +317,7 @@ TEST_CASE("Caller::patwait", "[.cmdcall]") { } } -TEST_CASE("Caller::patwaittime", "[.cmdcall]") { +TEST_CASE("patwaittime", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -333,12 +333,12 @@ TEST_CASE("Caller::patwaittime", "[.cmdcall]") { std::string sLoop = ToString(iLoop); if (iLoop < 3) { std::string deprecatedCmd = "patwaittime" + sLoop; - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {"8589936640"}, -1, PUT, oss); REQUIRE(oss.str() == deprecatedCmd + " 8589936640\n"); } - { // depreciated + { // deprecated std::ostringstream oss; caller.call(deprecatedCmd, {}, -1, GET, oss); REQUIRE(oss.str() == deprecatedCmd + " 8589936640\n"); @@ -363,7 +363,7 @@ TEST_CASE("Caller::patwaittime", "[.cmdcall]") { } } -TEST_CASE("Caller::patmask", "[.cmdcall]") { +TEST_CASE("patmask", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -389,7 +389,7 @@ TEST_CASE("Caller::patmask", "[.cmdcall]") { } } -TEST_CASE("Caller::patsetbit", "[.cmdcall]") { +TEST_CASE("patsetbit", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -415,7 +415,7 @@ TEST_CASE("Caller::patsetbit", "[.cmdcall]") { } } -TEST_CASE("Caller::patternstart", "[.cmdcall]") { +TEST_CASE("patternstart", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("patternstart", {}, -1, GET)); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp index b2c86bfaa..38fe14e86 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-rx.cpp @@ -24,7 +24,7 @@ python/scripts/list_tested_cmd.py to check if all commands are covered /* configuration */ -TEST_CASE("Caller::rx_version", "[.cmdcall][.rx]") { +TEST_CASE("rx_version", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); std::ostringstream oss; @@ -38,7 +38,7 @@ TEST_CASE("Caller::rx_version", "[.cmdcall][.rx]") { } /* acquisition */ -TEST_CASE("Caller::rx_start", "[.cmdcall][.rx]") { +TEST_CASE("rx_start", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); det.setFileWrite(false); // avoid writing or error on file creation @@ -56,7 +56,7 @@ TEST_CASE("Caller::rx_start", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_stop", "[.cmdcall][.rx]") { +TEST_CASE("rx_stop", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); // PUT only command @@ -73,7 +73,7 @@ TEST_CASE("Caller::rx_stop", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_status", "[.cmdcall][.rx]") { +TEST_CASE("rx_status", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); det.setFileWrite(false); // avoid writing or error on file creation @@ -91,7 +91,7 @@ TEST_CASE("Caller::rx_status", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_framescaught", "[.cmdcall][.rx]") { +TEST_CASE("rx_framescaught", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); // This ensures 0 caught frames @@ -125,7 +125,7 @@ TEST_CASE("Caller::rx_framescaught", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_missingpackets", "[.cmdcall][.rx]") { +TEST_CASE("rx_missingpackets", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getFileWrite(); @@ -170,7 +170,7 @@ TEST_CASE("Caller::rx_missingpackets", "[.cmdcall][.rx]") { det.setNumberOfFrames(prev_frames); } -TEST_CASE("Caller::rx_frameindex", "[.cmdcall][.rx]") { +TEST_CASE("rx_frameindex", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); caller.call("rx_frameindex", {}, -1, GET); @@ -181,7 +181,7 @@ TEST_CASE("Caller::rx_frameindex", "[.cmdcall][.rx]") { /* Network Configuration (Detector<->Receiver) */ -TEST_CASE("Caller::rx_printconfig", "[.cmdcall][.rx]") { +TEST_CASE("rx_printconfig", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("rx_printconfig", {}, -1, GET)); @@ -189,7 +189,7 @@ TEST_CASE("Caller::rx_printconfig", "[.cmdcall][.rx]") { /* Receiver Config */ -TEST_CASE("Caller::rx_hostname", "[.cmdcall][.rx]") { +TEST_CASE("rx_hostname", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxHostname(); @@ -221,7 +221,7 @@ TEST_CASE("Caller::rx_hostname", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_tcpport", "[.cmdcall][.rx]") { +TEST_CASE("rx_tcpport", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxPort(); @@ -260,7 +260,7 @@ TEST_CASE("Caller::rx_tcpport", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_fifodepth", "[.cmdcall][.rx]") { +TEST_CASE("rx_fifodepth", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxFifoDepth(); @@ -284,7 +284,7 @@ TEST_CASE("Caller::rx_fifodepth", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_silent", "[.cmdcall][.rx]") { +TEST_CASE("rx_silent", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxSilentMode(); @@ -308,7 +308,7 @@ TEST_CASE("Caller::rx_silent", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_discardpolicy", "[.cmdcall][.rx]") { +TEST_CASE("rx_discardpolicy", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxFrameDiscardPolicy(); @@ -337,7 +337,7 @@ TEST_CASE("Caller::rx_discardpolicy", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_padding", "[.cmdcall][.rx]") { +TEST_CASE("rx_padding", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getPartialFramesPadding(); @@ -361,7 +361,7 @@ TEST_CASE("Caller::rx_padding", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_udpsocksize", "[.cmdcall][.rx]") { +TEST_CASE("rx_udpsocksize", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); int64_t prev_val = det.getRxUDPSocketBufferSize().tsquash( @@ -381,7 +381,7 @@ TEST_CASE("Caller::rx_udpsocksize", "[.cmdcall][.rx]") { det.setRxUDPSocketBufferSize(prev_val); } -TEST_CASE("Caller::rx_realudpsocksize", "[.cmdcall][.rx]") { +TEST_CASE("rx_realudpsocksize", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); uint64_t val = 0; @@ -400,7 +400,7 @@ TEST_CASE("Caller::rx_realudpsocksize", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_lock", "[.cmdcall][.rx]") { +TEST_CASE("rx_lock", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxLock(); @@ -424,7 +424,7 @@ TEST_CASE("Caller::rx_lock", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_lastclient", "[.cmdcall][.rx]") { +TEST_CASE("rx_lastclient", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); std::ostringstream oss; @@ -434,14 +434,14 @@ TEST_CASE("Caller::rx_lastclient", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_threads", "[.cmdcall][.rx]") { +TEST_CASE("rx_threads", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); std::ostringstream oss; REQUIRE_NOTHROW(caller.call("rx_threads", {}, -1, GET, oss)); } -TEST_CASE("Caller::rx_arping", "[.cmdcall][.rx]") { +TEST_CASE("rx_arping", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxArping(); @@ -465,7 +465,7 @@ TEST_CASE("Caller::rx_arping", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_roi", "[.cmdcall]") { +TEST_CASE("rx_roi", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -527,7 +527,7 @@ TEST_CASE("Caller::rx_roi", "[.cmdcall]") { } } -TEST_CASE("Caller::rx_clearroi", "[.cmdcall]") { +TEST_CASE("rx_clearroi", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -549,7 +549,7 @@ TEST_CASE("Caller::rx_clearroi", "[.cmdcall]") { /* File */ -TEST_CASE("Caller::fformat", "[.cmdcall]") { +TEST_CASE("fformat", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getFileFormat(); @@ -568,7 +568,7 @@ TEST_CASE("Caller::fformat", "[.cmdcall]") { } } -TEST_CASE("Caller::fpath", "[.cmdcall]") { +TEST_CASE("fpath", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getFilePath(); @@ -587,7 +587,7 @@ TEST_CASE("Caller::fpath", "[.cmdcall]") { } } -TEST_CASE("Caller::fname", "[.cmdcall]") { +TEST_CASE("fname", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getFileNamePrefix(); @@ -614,7 +614,7 @@ TEST_CASE("Caller::fname", "[.cmdcall]") { } } -TEST_CASE("Caller::findex", "[.cmdcall]") { +TEST_CASE("findex", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getAcquisitionIndex(); @@ -638,7 +638,7 @@ TEST_CASE("Caller::findex", "[.cmdcall]") { } } -TEST_CASE("Caller::fwrite", "[.cmdcall]") { +TEST_CASE("fwrite", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getFileWrite(); @@ -662,7 +662,7 @@ TEST_CASE("Caller::fwrite", "[.cmdcall]") { } } -TEST_CASE("Caller::fmaster", "[.cmdcall]") { +TEST_CASE("fmaster", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getMasterFileWrite(); @@ -684,7 +684,7 @@ TEST_CASE("Caller::fmaster", "[.cmdcall]") { det.setMasterFileWrite(prev_val); } -TEST_CASE("Caller::foverwrite", "[.cmdcall]") { +TEST_CASE("foverwrite", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getFileOverWrite(); @@ -708,7 +708,7 @@ TEST_CASE("Caller::foverwrite", "[.cmdcall]") { } } -TEST_CASE("Caller::rx_framesperfile", "[.cmdcall][.rx]") { +TEST_CASE("rx_framesperfile", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getFramesPerFile(); @@ -739,7 +739,7 @@ TEST_CASE("Caller::rx_framesperfile", "[.cmdcall][.rx]") { /* ZMQ Streaming Parameters (Receiver<->Client) */ -TEST_CASE("Caller::rx_zmqstream", "[.cmdcall][.rx]") { +TEST_CASE("rx_zmqstream", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxZmqDataStream(); @@ -765,7 +765,7 @@ TEST_CASE("Caller::rx_zmqstream", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_zmqfreq", "[.cmdcall][.rx]") { +TEST_CASE("rx_zmqfreq", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxZmqFrequency(); @@ -789,7 +789,7 @@ TEST_CASE("Caller::rx_zmqfreq", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_zmqstartfnum", "[.cmdcall][.rx]") { +TEST_CASE("rx_zmqstartfnum", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getRxZmqStartingFrame(); @@ -813,7 +813,7 @@ TEST_CASE("Caller::rx_zmqstartfnum", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_zmqport", "[.cmdcall][.rx]") { +TEST_CASE("rx_zmqport", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val_zmqport = det.getRxZmqPort(); @@ -861,27 +861,7 @@ TEST_CASE("Caller::rx_zmqport", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_zmqip", "[.cmdcall][.rx]") { - Detector det; - Caller caller(&det); - auto prev_val = det.getRxZmqIP(); - { - std::ostringstream oss; - caller.call("rx_zmqip", {"127.0.0.1"}, 0, PUT, oss); - REQUIRE(oss.str() == "rx_zmqip 127.0.0.1\n"); - std::cout << "ZMQIP: " << det.getRxZmqIP() << '\n'; - } - { - std::ostringstream oss; - caller.call("rx_zmqip", {}, 0, GET, oss); - REQUIRE(oss.str() == "rx_zmqip 127.0.0.1\n"); - } - for (int i = 0; i != det.size(); ++i) { - det.setRxZmqIP(prev_val[i], {i}); - } -} - -TEST_CASE("Caller::rx_zmqhwm", "[.cmdcall]") { +TEST_CASE("rx_zmqhwm", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = @@ -911,7 +891,7 @@ TEST_CASE("Caller::rx_zmqhwm", "[.cmdcall]") { /* CTB Specific */ -TEST_CASE("Caller::rx_dbitlist", "[.cmdcall][.rx]") { +TEST_CASE("rx_dbitlist", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -941,7 +921,7 @@ TEST_CASE("Caller::rx_dbitlist", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_dbitoffset", "[.cmdcall][.rx]") { +TEST_CASE("rx_dbitoffset", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -976,7 +956,7 @@ TEST_CASE("Caller::rx_dbitoffset", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_jsonaddheader", "[.cmdcall][.rx]") { +TEST_CASE("rx_jsonaddheader", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getAdditionalJsonHeader(); @@ -1002,7 +982,7 @@ TEST_CASE("Caller::rx_jsonaddheader", "[.cmdcall][.rx]") { } } -TEST_CASE("Caller::rx_jsonpara", "[.cmdcall][.rx]") { +TEST_CASE("rx_jsonpara", "[.cmdcall][.rx]") { Detector det; Caller caller(&det); auto prev_val = det.getAdditionalJsonHeader(); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller-xilinx-chiptestboard.cpp b/slsDetectorSoftware/tests/Caller/test-Caller-xilinx-chiptestboard.cpp index 064bf263f..6133962f4 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller-xilinx-chiptestboard.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller-xilinx-chiptestboard.cpp @@ -19,7 +19,7 @@ using test::PUT; /* dacs */ -TEST_CASE("CALLER::configtransceiver", "[.cmdcall]") { +TEST_CASE("configtransceiver", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); diff --git a/slsDetectorSoftware/tests/Caller/test-Caller.cpp b/slsDetectorSoftware/tests/Caller/test-Caller.cpp index fb234912e..b9aa56e36 100644 --- a/slsDetectorSoftware/tests/Caller/test-Caller.cpp +++ b/slsDetectorSoftware/tests/Caller/test-Caller.cpp @@ -18,7 +18,7 @@ namespace sls { using test::GET; using test::PUT; -TEST_CASE("CALLER::Caller::Calling help doesn't throw or cause segfault") { +TEST_CASE("Calling help doesn't throw or cause segfault") { // Dont add [.cmdcall] tag this should run with normal tests Caller caller(nullptr); std::ostringstream os; @@ -27,7 +27,7 @@ TEST_CASE("CALLER::Caller::Calling help doesn't throw or cause segfault") { caller.call(cmd, {}, -1, slsDetectorDefs::HELP_ACTION, os)); } -TEST_CASE("CALLER::Unknown command", "[.cmdcall]") { +TEST_CASE("Unknown command", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("vsaevrreavv", {}, -1, PUT)); @@ -35,7 +35,7 @@ TEST_CASE("CALLER::Unknown command", "[.cmdcall]") { /* configuration */ -TEST_CASE("CALLER::config", "[.cmdcall]") { +TEST_CASE("config", "[.cmdcall]") { Detector det; Caller caller(&det); // put only @@ -44,7 +44,7 @@ TEST_CASE("CALLER::config", "[.cmdcall]") { // free: not testing -TEST_CASE("CALLER::parameters", "[.cmdcall]") { +TEST_CASE("parameters", "[.cmdcall]") { Detector det; Caller caller(&det); // put only @@ -70,13 +70,13 @@ TEST_CASE("CALLER::parameters", "[.cmdcall]") { */ } -TEST_CASE("CALLER::hostname", "[.cmdcall]") { +TEST_CASE("hostname", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("hostname", {}, -1, GET)); } -TEST_CASE("CALLER::virtual", "[.cmdcall]") { +TEST_CASE("virtual", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("virtual", {}, -1, GET)); @@ -84,56 +84,56 @@ TEST_CASE("CALLER::virtual", "[.cmdcall]") { REQUIRE_THROWS(caller.call("virtual", {"3", "65534"}, -1, PUT)); } -TEST_CASE("CALLER::versions", "[.cmdcall]") { +TEST_CASE("versions", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("versions", {}, -1, GET)); REQUIRE_THROWS(caller.call("versions", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::packageversion", "[.cmdcall]") { +TEST_CASE("packageversion", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("packageversion", {}, -1, GET)); REQUIRE_THROWS(caller.call("packageversion", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::clientversion", "[.cmdcall]") { +TEST_CASE("clientversion", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("clientversion", {}, -1, GET)); REQUIRE_THROWS(caller.call("clientversion", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::firmwareversion", "[.cmdcall]") { +TEST_CASE("firmwareversion", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("firmwareversion", {}, -1, GET)); REQUIRE_THROWS(caller.call("firmwareversion", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::detectorserverversion", "[.cmdcall]") { +TEST_CASE("detectorserverversion", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("detectorserverversion", {}, -1, GET)); REQUIRE_THROWS(caller.call("detectorserverversion", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::hardwareversion", "[.cmdcall]") { +TEST_CASE("hardwareversion", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("hardwareversion", {}, -1, GET)); REQUIRE_THROWS(caller.call("hardwareversion", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::kernelversion", "[.cmdcall]") { +TEST_CASE("kernelversion", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("kernelversion", {}, -1, GET)); REQUIRE_THROWS(caller.call("kernelversion", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::serialnumber", "[.cmdcall]") { +TEST_CASE("serialnumber", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -144,7 +144,7 @@ TEST_CASE("CALLER::serialnumber", "[.cmdcall]") { } } -TEST_CASE("CALLER::moduleid", "[.cmdcall]") { +TEST_CASE("moduleid", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -157,7 +157,7 @@ TEST_CASE("CALLER::moduleid", "[.cmdcall]") { } } -TEST_CASE("CALLER::type", "[.cmdcall]") { +TEST_CASE("type", "[.cmdcall]") { Detector det; Caller caller(&det); auto dt = det.getDetectorType().squash(); @@ -169,13 +169,13 @@ TEST_CASE("CALLER::type", "[.cmdcall]") { // REQUIRE(dt == test::type); } -TEST_CASE("CALLER::detsize", "[.cmdcall]") { +TEST_CASE("detsize", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("detsize", {}, -1, GET)); } -TEST_CASE("CALLER::settingslist", "[.cmdcall]") { +TEST_CASE("settingslist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -188,7 +188,7 @@ TEST_CASE("CALLER::settingslist", "[.cmdcall]") { } } -TEST_CASE("CALLER::settings", "[.cmdcall]") { +TEST_CASE("settings", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -286,7 +286,7 @@ TEST_CASE("CALLER::settings", "[.cmdcall]") { } } -TEST_CASE("CALLER::threshold", "[.cmdcall]") { +TEST_CASE("threshold", "[.cmdcall]") { Detector det; Caller caller(&det); @@ -365,7 +365,7 @@ TEST_CASE("CALLER::threshold", "[.cmdcall]") { } } -TEST_CASE("CALLER::thresholdnotb", "[.cmdcall]") { +TEST_CASE("thresholdnotb", "[.cmdcall]") { Detector det; Caller caller(&det); @@ -445,7 +445,7 @@ TEST_CASE("CALLER::thresholdnotb", "[.cmdcall]") { } } -TEST_CASE("CALLER::settingspath", "[.cmdcall]") { +TEST_CASE("settingspath", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getSettingsPath(); @@ -461,13 +461,13 @@ TEST_CASE("CALLER::settingspath", "[.cmdcall]") { } } -TEST_CASE("CALLER::trimbits", "[.cmdcall]") { +TEST_CASE("trimbits", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("trimbits", {}, -1, GET)); } -TEST_CASE("CALLER::trimval", "[.cmdcall]") { +TEST_CASE("trimval", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -501,7 +501,7 @@ TEST_CASE("CALLER::trimval", "[.cmdcall]") { } } -TEST_CASE("CALLER::trimen", "[.cmdcall][.this]") { +TEST_CASE("trimen", "[.cmdcall][.this]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -523,7 +523,7 @@ TEST_CASE("CALLER::trimen", "[.cmdcall][.this]") { } } -TEST_CASE("CALLER::gappixels", "[.cmdcall]") { +TEST_CASE("gappixels", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -573,7 +573,7 @@ TEST_CASE("CALLER::gappixels", "[.cmdcall]") { } } -TEST_CASE("CALLER::fliprows", "[.cmdcall]") { +TEST_CASE("fliprows", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -608,7 +608,7 @@ TEST_CASE("CALLER::fliprows", "[.cmdcall]") { } } -TEST_CASE("CALLER::master", "[.cmdcall]") { +TEST_CASE("master", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -653,7 +653,7 @@ TEST_CASE("CALLER::master", "[.cmdcall]") { } } -TEST_CASE("CALLER::badchannels", "[.cmdcall]") { +TEST_CASE("badchannels", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -723,7 +723,7 @@ TEST_CASE("CALLER::badchannels", "[.cmdcall]") { } } -TEST_CASE("CALLER::row", "[.cmdcall]") { +TEST_CASE("row", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getRow()[0]; @@ -746,7 +746,7 @@ TEST_CASE("CALLER::row", "[.cmdcall]") { det.setRow(prev_val, {0}); } -TEST_CASE("CALLER::column", "[.cmdcall]") { +TEST_CASE("column", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getColumn()[0]; @@ -773,7 +773,7 @@ TEST_CASE("CALLER::column", "[.cmdcall]") { // acquire: not testing -TEST_CASE("CALLER::frames", "[.cmdcall]") { +TEST_CASE("frames", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = @@ -797,7 +797,7 @@ TEST_CASE("CALLER::frames", "[.cmdcall]") { det.setNumberOfFrames(prev_val); } -TEST_CASE("CALLER::triggers", "[.cmdcall]") { +TEST_CASE("triggers", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = @@ -821,7 +821,7 @@ TEST_CASE("CALLER::triggers", "[.cmdcall]") { det.setNumberOfTriggers(prev_val); } -TEST_CASE("CALLER::exptime", "[.cmdcall][.time]") { +TEST_CASE("exptime", "[.cmdcall][.time]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -871,7 +871,7 @@ TEST_CASE("CALLER::exptime", "[.cmdcall][.time]") { det.setExptime(-1, prev_val); } -TEST_CASE("CALLER::period", "[.cmdcall]") { +TEST_CASE("period", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getPeriod(); @@ -895,7 +895,7 @@ TEST_CASE("CALLER::period", "[.cmdcall]") { } } -TEST_CASE("CALLER::delay", "[.cmdcall]") { +TEST_CASE("delay", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -928,7 +928,7 @@ TEST_CASE("CALLER::delay", "[.cmdcall]") { } } -TEST_CASE("CALLER::framesl", "[.cmdcall]") { +TEST_CASE("framesl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -939,7 +939,7 @@ TEST_CASE("CALLER::framesl", "[.cmdcall]") { } } -TEST_CASE("CALLER::triggersl", "[.cmdcall]") { +TEST_CASE("triggersl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -950,7 +950,7 @@ TEST_CASE("CALLER::triggersl", "[.cmdcall]") { } } -TEST_CASE("CALLER::delayl", "[.cmdcall]") { +TEST_CASE("delayl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -964,7 +964,7 @@ TEST_CASE("CALLER::delayl", "[.cmdcall]") { } } -TEST_CASE("CALLER::periodl", "[.cmdcall]") { +TEST_CASE("periodl", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -978,7 +978,7 @@ TEST_CASE("CALLER::periodl", "[.cmdcall]") { } } -TEST_CASE("CALLER::dr", "[.cmdcall]") { +TEST_CASE("dr", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1020,14 +1020,14 @@ TEST_CASE("CALLER::dr", "[.cmdcall]") { } } -TEST_CASE("CALLER::drlist", "[.cmdcall]") { +TEST_CASE("drlist", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("drlist", {}, -1, GET)); REQUIRE_THROWS(caller.call("drlist", {}, -1, PUT)); } -TEST_CASE("CALLER::timing", "[.cmdcall]") { +TEST_CASE("timing", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1089,26 +1089,28 @@ TEST_CASE("CALLER::timing", "[.cmdcall]") { } } -TEST_CASE("CALLER::timinglist", "[.cmdcall]") { +TEST_CASE("timinglist", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("timinglist", {}, -1, GET)); REQUIRE_THROWS(caller.call("timinglist", {}, -1, PUT)); } -TEST_CASE("CALLER::readoutspeed", "[.cmdcall]") { +TEST_CASE("readoutspeed", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::EIGER || det_type == defs::JUNGFRAU || - det_type == defs::MOENCH || det_type == defs::GOTTHARD2) { + det_type == defs::MOENCH || det_type == defs::GOTTHARD2 || + det_type == defs::MYTHEN3) { auto prev_val = det.getReadoutSpeed(); // full speed for jungfrau/moench only works for new boards (chipv1.1 is // with new board [hw1.0 and chipv1.0 not tested here]) if (((det_type == defs::JUNGFRAU) && det.getChipVersion().squash() * 10 == 11) || - (det_type == defs::EIGER) || (det_type == defs::MOENCH)) { + det_type == defs::EIGER || det_type == defs::MOENCH || + det_type == defs::MYTHEN3) { std::ostringstream oss1, oss2, oss3, oss4; caller.call("readoutspeed", {"0"}, -1, PUT, oss1); REQUIRE(oss1.str() == "readoutspeed full_speed\n"); @@ -1121,7 +1123,7 @@ TEST_CASE("CALLER::readoutspeed", "[.cmdcall]") { } if (det_type == defs::EIGER || det_type == defs::JUNGFRAU || - det_type == defs::MOENCH) { + det_type == defs::MOENCH || det_type == defs::MYTHEN3) { { std::ostringstream oss1, oss2, oss3, oss4; caller.call("readoutspeed", {"1"}, -1, PUT, oss1); @@ -1184,12 +1186,13 @@ TEST_CASE("CALLER::readoutspeed", "[.cmdcall]") { } } -TEST_CASE("CALLER::readoutspeedlist", "[.cmdcall]") { +TEST_CASE("readoutspeedlist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::GOTTHARD2 || det_type == defs::JUNGFRAU || - det_type == defs::MOENCH || det_type == defs::EIGER) { + det_type == defs::MOENCH || det_type == defs::EIGER || + det_type == defs::MYTHEN3) { REQUIRE_NOTHROW(caller.call("readoutspeedlist", {}, -1, GET)); REQUIRE_THROWS(caller.call("readoutspeedlist", {}, -1, PUT)); } else { @@ -1197,7 +1200,7 @@ TEST_CASE("CALLER::readoutspeedlist", "[.cmdcall]") { } } -TEST_CASE("CALLER::adcphase", "[.cmdcall]") { +TEST_CASE("adcphase", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1236,7 +1239,7 @@ TEST_CASE("CALLER::adcphase", "[.cmdcall]") { } } -TEST_CASE("CALLER::maxadcphaseshift", "[.cmdcall]") { +TEST_CASE("maxadcphaseshift", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1250,7 +1253,7 @@ TEST_CASE("CALLER::maxadcphaseshift", "[.cmdcall]") { } } -TEST_CASE("CALLER::dbitphase", "[.cmdcall]") { +TEST_CASE("dbitphase", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1279,7 +1282,7 @@ TEST_CASE("CALLER::dbitphase", "[.cmdcall]") { } } -TEST_CASE("CALLER::maxdbitphaseshift", "[.cmdcall]") { +TEST_CASE("maxdbitphaseshift", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1292,7 +1295,7 @@ TEST_CASE("CALLER::maxdbitphaseshift", "[.cmdcall]") { } } -TEST_CASE("CALLER::clkfreq", "[.cmdcall]") { +TEST_CASE("clkfreq", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1301,12 +1304,18 @@ TEST_CASE("CALLER::clkfreq", "[.cmdcall]") { REQUIRE_THROWS(caller.call("clkfreq", {}, -1, GET)); REQUIRE_THROWS(caller.call("clkfreq", {"7"}, -1, GET)); REQUIRE_NOTHROW(caller.call("clkfreq", {"0"}, -1, GET)); + // other clocks removed for m3 (setting not supported) + if (det_type == defs::MYTHEN3) { + REQUIRE_NOTHROW(caller.call("clkfreq", {"1"}, -1, GET)); + REQUIRE_NOTHROW(caller.call("clkfreq", {"2"}, -1, GET)); + REQUIRE_THROWS(caller.call("clkfreq", {"3"}, -1, GET)); + } } else { REQUIRE_THROWS(caller.call("clkfreq", {"0"}, -1, GET)); } } -TEST_CASE("CALLER::clkphase", "[.cmdcall]") { +TEST_CASE("clkphase", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1339,12 +1348,24 @@ TEST_CASE("CALLER::clkphase", "[.cmdcall]") { for (int i = 0; i != det.size(); ++i) { det.setClockPhase(0, prev_val[i], {i}); } + // other clocks removed for m3 (setting not supported) + if (det_type == defs::MYTHEN3) { + REQUIRE_THROWS( + caller.call("clkphase", {"1", s_deg_val, "deg"}, -1, PUT)); + REQUIRE_NOTHROW(caller.call("clkphase", {"1"}, -1, GET)); + REQUIRE_THROWS( + caller.call("clkphase", {"2", s_deg_val, "deg"}, -1, PUT)); + REQUIRE_NOTHROW(caller.call("clkphase", {"2"}, -1, GET)); + REQUIRE_THROWS( + caller.call("clkphase", {"3", s_deg_val, "deg"}, -1, PUT)); + REQUIRE_THROWS(caller.call("clkphase", {"3"}, -1, GET)); + } } else { REQUIRE_THROWS(caller.call("clkphase", {"0"}, -1, GET)); } } -TEST_CASE("CALLER::clkdiv", "[.cmdcall]") { +TEST_CASE("clkdiv", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1365,12 +1386,21 @@ TEST_CASE("CALLER::clkdiv", "[.cmdcall]") { for (int i = 0; i != det.size(); ++i) { det.setClockDivider(0, prev_val[i], {i}); } + // other clocks removed for m3 (setting not supported) + if (det_type == defs::MYTHEN3) { + REQUIRE_THROWS(caller.call("clkdiv", {"1", "2"}, -1, PUT)); + REQUIRE_NOTHROW(caller.call("clkdiv", {"1"}, -1, GET)); + REQUIRE_THROWS(caller.call("clkdiv", {"2", "2"}, -1, PUT)); + REQUIRE_NOTHROW(caller.call("clkdiv", {"2"}, -1, GET)); + REQUIRE_THROWS(caller.call("clkdiv", {"3", "2"}, -1, PUT)); + REQUIRE_THROWS(caller.call("clkdiv", {"3"}, -1, GET)); + } } else { REQUIRE_THROWS(caller.call("clkdiv", {"0"}, -1, GET)); } } -TEST_CASE("CALLER::maxclkphaseshift", "[.cmdcall]") { +TEST_CASE("maxclkphaseshift", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1379,12 +1409,18 @@ TEST_CASE("CALLER::maxclkphaseshift", "[.cmdcall]") { REQUIRE_THROWS(caller.call("maxclkphaseshift", {}, -1, GET)); REQUIRE_THROWS(caller.call("maxclkphaseshift", {"7"}, -1, GET)); REQUIRE_NOTHROW(caller.call("maxclkphaseshift", {"0"}, -1, GET)); + // other clocks removed for m3 (setting not supported) + if (det_type == defs::MYTHEN3) { + REQUIRE_NOTHROW(caller.call("maxclkphaseshift", {"1"}, -1, GET)); + REQUIRE_NOTHROW(caller.call("maxclkphaseshift", {"2"}, -1, GET)); + REQUIRE_THROWS(caller.call("maxclkphaseshift", {"3"}, -1, GET)); + } } else { REQUIRE_THROWS(caller.call("maxclkphaseshift", {"0"}, -1, GET)); } } -TEST_CASE("CALLER::highvoltage", "[.cmdcall]") { +TEST_CASE("highvoltage", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1487,7 +1523,7 @@ TEST_CASE("CALLER::highvoltage", "[.cmdcall]") { } } -TEST_CASE("CALLER::powerchip", "[.cmdcall]") { +TEST_CASE("powerchip", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1506,6 +1542,23 @@ TEST_CASE("CALLER::powerchip", "[.cmdcall]") { caller.call("powerchip", {"0"}, -1, PUT, oss); REQUIRE(oss.str() == "powerchip 0\n"); } + // powering off chip throws if hv on (only test virtualserver - safety + if (det_type == defs::GOTTHARD2 && + det.isVirtualDetectorServer().tsquash( + "Inconsistent virtual detector " + "server to test powerchip command")) { + det.setPowerChip(1); + int hv = det.getHighVoltage().tsquash( + "Inconsistent high voltage to test " + "powerchip command"); + + det.setHighVoltage(100); + REQUIRE_THROWS(caller.call("powerchip", {"0"}, -1, PUT)); + + // previous settings + det.setHighVoltage(hv); + det.setPowerChip(0); + } { std::ostringstream oss; caller.call("powerchip", {}, -1, GET, oss); @@ -1522,7 +1575,7 @@ TEST_CASE("CALLER::powerchip", "[.cmdcall]") { } } -TEST_CASE("CALLER::imagetest", "[.cmdcall]") { +TEST_CASE("imagetest", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1553,7 +1606,7 @@ TEST_CASE("CALLER::imagetest", "[.cmdcall]") { } } -TEST_CASE("CALLER::extsig", "[.cmdcall]") { +TEST_CASE("extsig", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1632,7 +1685,7 @@ TEST_CASE("CALLER::extsig", "[.cmdcall]") { } } -TEST_CASE("CALLER::parallel", "[.cmdcall]") { +TEST_CASE("parallel", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1663,7 +1716,7 @@ TEST_CASE("CALLER::parallel", "[.cmdcall]") { } } -TEST_CASE("CALLER::filterresistor", "[.cmdcall]") { +TEST_CASE("filterresistor", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1707,7 +1760,7 @@ TEST_CASE("CALLER::filterresistor", "[.cmdcall]") { } } -TEST_CASE("CALLER::dbitpipeline", "[.cmdcall]") { +TEST_CASE("dbitpipeline", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1757,7 +1810,7 @@ TEST_CASE("CALLER::dbitpipeline", "[.cmdcall]") { } } -TEST_CASE("CALLER::readnrows", "[.cmdcall]") { +TEST_CASE("readnrows", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1809,7 +1862,7 @@ TEST_CASE("CALLER::readnrows", "[.cmdcall]") { } } -TEST_CASE("CALLER::currentsource", "[.cmdcall]") { +TEST_CASE("currentsource", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1951,21 +2004,21 @@ TEST_CASE("CALLER::currentsource", "[.cmdcall]") { /** temperature */ -TEST_CASE("CALLER::templist", "[.cmdcall]") { +TEST_CASE("templist", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("templist", {}, -1, GET)); REQUIRE_THROWS(caller.call("templist", {}, -1, PUT)); } -TEST_CASE("CALLER::tempvalues", "[.cmdcall]") { +TEST_CASE("tempvalues", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("tempvalues", {}, -1, GET)); REQUIRE_THROWS(caller.call("tempvalues", {}, -1, PUT)); } -TEST_CASE("CALLER::temp_adc", "[.cmdcall]") { +TEST_CASE("temp_adc", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1981,7 +2034,7 @@ TEST_CASE("CALLER::temp_adc", "[.cmdcall]") { } } -TEST_CASE("CALLER::temp_fpga", "[.cmdcall]") { +TEST_CASE("temp_fpga", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -1998,7 +2051,7 @@ TEST_CASE("CALLER::temp_fpga", "[.cmdcall]") { /* list */ -TEST_CASE("CALLER::daclist", "[.cmdcall]") { +TEST_CASE("daclist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2034,14 +2087,14 @@ TEST_CASE("CALLER::daclist", "[.cmdcall]") { /* dacs */ -TEST_CASE("CALLER::dacvalues", "[.cmdcall]") { +TEST_CASE("dacvalues", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("dacvalues", {}, -1, GET)); REQUIRE_THROWS(caller.call("dacvalues", {}, -1, PUT)); } -TEST_CASE("CALLER::defaultdac", "[.cmdcall]") { +TEST_CASE("defaultdac", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2101,7 +2154,7 @@ TEST_CASE("CALLER::defaultdac", "[.cmdcall]") { } } -TEST_CASE("CALLER::resetdacs", "[.cmdcall]") { +TEST_CASE("resetdacs", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2126,7 +2179,7 @@ TEST_CASE("CALLER::resetdacs", "[.cmdcall]") { /* acquisition */ -TEST_CASE("CALLER::trigger", "[.cmdcall]") { +TEST_CASE("trigger", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("trigger", {}, -1, GET)); @@ -2169,7 +2222,7 @@ TEST_CASE("CALLER::trigger", "[.cmdcall]") { } } -TEST_CASE("CALLER::blockingtrigger", "[.cmdcall]") { +TEST_CASE("blockingtrigger", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("blockingtrigger", {}, -1, GET)); @@ -2213,7 +2266,7 @@ TEST_CASE("CALLER::blockingtrigger", "[.cmdcall]") { } } -TEST_CASE("CALLER::clearbusy", "[.cmdcall]") { +TEST_CASE("clearbusy", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("clearbusy", {}, -1, PUT)); @@ -2221,7 +2274,7 @@ TEST_CASE("CALLER::clearbusy", "[.cmdcall]") { REQUIRE_THROWS(caller.call("clearbusy", {}, -1, GET)); } -TEST_CASE("CALLER::start", "[.cmdcall]") { +TEST_CASE("start", "[.cmdcall]") { Detector det; Caller caller(&det); // PUT only command @@ -2260,7 +2313,7 @@ TEST_CASE("CALLER::start", "[.cmdcall]") { det.setNumberOfFrames(prev_frames); } -TEST_CASE("CALLER::stop", "[.cmdcall]") { +TEST_CASE("stop", "[.cmdcall]") { Detector det; Caller caller(&det); // PUT only command @@ -2305,7 +2358,7 @@ TEST_CASE("CALLER::stop", "[.cmdcall]") { det.setNumberOfFrames(prev_frames); } -TEST_CASE("CALLER::status", "[.cmdcall]") { +TEST_CASE("status", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2344,13 +2397,13 @@ TEST_CASE("CALLER::status", "[.cmdcall]") { det.setNumberOfFrames(prev_frames); } -TEST_CASE("CALLER::nextframenumber", "[.cmdcall]") { +TEST_CASE("nextframenumber", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); if (det_type == defs::EIGER || det_type == defs::JUNGFRAU || det_type == defs::MOENCH || det_type == defs::CHIPTESTBOARD || - det_type == defs::XILINX_CHIPTESTBOARD) { + det_type == defs::XILINX_CHIPTESTBOARD || det_type == defs::GOTTHARD2) { auto prev_sfnum = det.getNextFrameNumber(); REQUIRE_THROWS(caller.call("nextframenumber", {"0"}, -1, PUT)); { @@ -2369,40 +2422,80 @@ TEST_CASE("CALLER::nextframenumber", "[.cmdcall]") { REQUIRE(oss.str() == "nextframenumber 1\n"); } - auto prev_timing = - det.getTimingMode().tsquash("inconsistent timing mode in test"); - auto prev_frames = - det.getNumberOfFrames().tsquash("inconsistent #frames in test"); - auto prev_exptime = - det.getExptime().tsquash("inconsistent exptime in test"); - auto prev_period = - det.getPeriod().tsquash("inconsistent period in test"); - det.setTimingMode(defs::AUTO_TIMING); - det.setNumberOfFrames(1); - det.setExptime(std::chrono::microseconds(200)); - det.setPeriod(std::chrono::milliseconds(1)); - det.startDetector(); - std::this_thread::sleep_for(std::chrono::seconds(2)); - auto currentfnum = - det.getNextFrameNumber().tsquash("inconsistent frame nr in test"); - REQUIRE(currentfnum == 2); - if (det_type == defs::EIGER) { - auto prev_tengiga = - det.getTenGiga().tsquash("inconsistent ten giga enable"); - det.setTenGiga(true); - det.setNextFrameNumber(1); + if (det_type == defs::GOTTHARD2) { + auto prev_timing = + det.getTimingMode().tsquash("inconsistent timing mode in test"); + auto prev_frames = + det.getNumberOfFrames().tsquash("inconsistent #frames in test"); + auto prev_exptime = + det.getExptime().tsquash("inconsistent exptime in test"); + auto prev_period = + det.getPeriod().tsquash("inconsistent period in test"); + auto prev_burstmode = + det.getBurstMode().tsquash("inconsistent burst mode in test"); + auto prev_bursts = + det.getNumberOfBursts().tsquash("inconsistent #bursts in test"); + auto prev_burstperiod = det.getBurstPeriod().tsquash( + "inconsistent burst period in test"); + + det.setTimingMode(defs::AUTO_TIMING); + det.setNumberOfFrames(1); + det.setExptime(std::chrono::microseconds(200)); + det.setPeriod(std::chrono::milliseconds(1)); + det.setBurstMode(defs::CONTINUOUS_EXTERNAL); + det.setNumberOfBursts(1); + det.setBurstPeriod(std::chrono::milliseconds(0)); + det.startDetector(); std::this_thread::sleep_for(std::chrono::seconds(2)); auto currentfnum = det.getNextFrameNumber().tsquash( "inconsistent frame nr in test"); REQUIRE(currentfnum == 2); - det.setTenGiga(prev_tengiga); + + det.setTimingMode(prev_timing); + det.setNumberOfFrames(prev_frames); + det.setExptime(prev_exptime); + det.setPeriod(prev_period); + det.setBurstMode(prev_burstmode); + det.setNumberOfBursts(prev_bursts); + det.setBurstPeriod(prev_burstperiod); + } else { + auto prev_timing = + det.getTimingMode().tsquash("inconsistent timing mode in test"); + auto prev_frames = + det.getNumberOfFrames().tsquash("inconsistent #frames in test"); + auto prev_exptime = + det.getExptime().tsquash("inconsistent exptime in test"); + auto prev_period = + det.getPeriod().tsquash("inconsistent period in test"); + det.setTimingMode(defs::AUTO_TIMING); + det.setNumberOfFrames(1); + det.setExptime(std::chrono::microseconds(200)); + det.setPeriod(std::chrono::milliseconds(1)); + det.startDetector(); + std::this_thread::sleep_for(std::chrono::seconds(2)); + auto currentfnum = det.getNextFrameNumber().tsquash( + "inconsistent frame nr in test"); + REQUIRE(currentfnum == 2); + if (det_type == defs::EIGER) { + auto prev_tengiga = + det.getTenGiga().tsquash("inconsistent ten giga enable"); + det.setTenGiga(true); + det.setNextFrameNumber(1); + det.startDetector(); + std::this_thread::sleep_for(std::chrono::seconds(2)); + auto currentfnum = det.getNextFrameNumber().tsquash( + "inconsistent frame nr in test"); + REQUIRE(currentfnum == 2); + det.setTenGiga(prev_tengiga); + } + + det.setTimingMode(prev_timing); + det.setNumberOfFrames(prev_frames); + det.setExptime(prev_exptime); + det.setPeriod(prev_period); } - det.setTimingMode(prev_timing); - det.setNumberOfFrames(prev_frames); - det.setExptime(prev_exptime); - det.setPeriod(prev_period); for (int i = 0; i != det.size(); ++i) { det.setNextFrameNumber(prev_sfnum[i], {i}); } @@ -2411,7 +2504,7 @@ TEST_CASE("CALLER::nextframenumber", "[.cmdcall]") { } } -TEST_CASE("CALLER::scan", "[.cmdcall]") { +TEST_CASE("scan", "[.cmdcall]") { Detector det; Caller caller(&det); defs::dacIndex ind = defs::DAC_0; @@ -2541,7 +2634,7 @@ TEST_CASE("CALLER::scan", "[.cmdcall]") { } } -TEST_CASE("CALLER::scanerrmsg", "[.cmdcall]") { +TEST_CASE("scanerrmsg", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("scanerrmsg", {}, -1, GET)); @@ -2550,7 +2643,7 @@ TEST_CASE("CALLER::scanerrmsg", "[.cmdcall]") { /* Network Configuration (Detector<->Receiver) */ -TEST_CASE("CALLER::numinterfaces", "[.cmdcall]") { +TEST_CASE("numinterfaces", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2590,7 +2683,7 @@ TEST_CASE("CALLER::numinterfaces", "[.cmdcall]") { REQUIRE_THROWS(caller.call("numinterfaces", {"0"}, -1, PUT)); } -TEST_CASE("CALLER::udp_srcip", "[.cmdcall]") { +TEST_CASE("udp_srcip", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getSourceUDPIP(); @@ -2605,7 +2698,7 @@ TEST_CASE("CALLER::udp_srcip", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_dstlist", "[.cmdcall]") { +TEST_CASE("udp_dstlist", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2621,7 +2714,7 @@ TEST_CASE("CALLER::udp_dstlist", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_numdst", "[.cmdcall]") { +TEST_CASE("udp_numdst", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2634,7 +2727,7 @@ TEST_CASE("CALLER::udp_numdst", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_cleardst", "[.cmdcall]") { +TEST_CASE("udp_cleardst", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("udp_cleardst", {}, -1, GET)); @@ -2642,7 +2735,7 @@ TEST_CASE("CALLER::udp_cleardst", "[.cmdcall]") { /*REQUIRE_NOTHROW(caller.call("udp_cleardst", {}, -1, PUT));*/ } -TEST_CASE("CALLER::udp_firstdst", "[.cmdcall]") { +TEST_CASE("udp_firstdst", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2676,13 +2769,13 @@ TEST_CASE("CALLER::udp_firstdst", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_dstip", "[.cmdcall]") { +TEST_CASE("udp_dstip", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("udp_dstip", {"0.0.0.0"}, -1, PUT)); } -TEST_CASE("CALLER::udp_srcmac", "[.cmdcall]") { +TEST_CASE("udp_srcmac", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getSourceUDPMAC(); @@ -2699,13 +2792,13 @@ TEST_CASE("CALLER::udp_srcmac", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_dstmac", "[.cmdcall]") { +TEST_CASE("udp_dstmac", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("udp_dstmac", {"00:00:00:00:00:00"}, -1, PUT)); } -TEST_CASE("CALLER::udp_dstport", "[.cmdcall]") { +TEST_CASE("udp_dstport", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getDestinationUDPPort(); @@ -2726,7 +2819,7 @@ TEST_CASE("CALLER::udp_dstport", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_srcip2", "[.cmdcall]") { +TEST_CASE("udp_srcip2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2748,7 +2841,7 @@ TEST_CASE("CALLER::udp_srcip2", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_dstip2", "[.cmdcall]") { +TEST_CASE("udp_dstip2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2760,7 +2853,7 @@ TEST_CASE("CALLER::udp_dstip2", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_srcmac2", "[.cmdcall]") { +TEST_CASE("udp_srcmac2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2784,7 +2877,7 @@ TEST_CASE("CALLER::udp_srcmac2", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_dstmac2", "[.cmdcall]") { +TEST_CASE("udp_dstmac2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2797,7 +2890,7 @@ TEST_CASE("CALLER::udp_dstmac2", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_dstport2", "[.cmdcall]") { +TEST_CASE("udp_dstport2", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2826,21 +2919,21 @@ TEST_CASE("CALLER::udp_dstport2", "[.cmdcall]") { } } -TEST_CASE("CALLER::udp_reconfigure", "[.cmdcall]") { +TEST_CASE("udp_reconfigure", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("udp_reconfigure", {}, -1, GET)); REQUIRE_NOTHROW(caller.call("udp_reconfigure", {}, -1, PUT)); } -TEST_CASE("CALLER::udp_validate", "[.cmdcall]") { +TEST_CASE("udp_validate", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_THROWS(caller.call("udp_validate", {}, -1, GET)); REQUIRE_NOTHROW(caller.call("udp_validate", {}, -1, PUT)); } -TEST_CASE("CALLER::tengiga", "[.cmdcall]") { +TEST_CASE("tengiga", "[.cmdcall]") { Detector det; Caller caller(&det); @@ -2864,7 +2957,7 @@ TEST_CASE("CALLER::tengiga", "[.cmdcall]") { } } -TEST_CASE("CALLER::flowcontrol10g", "[.cmdcall]") { +TEST_CASE("flowcontrol10g", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2895,7 +2988,7 @@ TEST_CASE("CALLER::flowcontrol10g", "[.cmdcall]") { } } -TEST_CASE("CALLER::txdelay_frame", "[.cmdcall]") { +TEST_CASE("txdelay_frame", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2923,7 +3016,7 @@ TEST_CASE("CALLER::txdelay_frame", "[.cmdcall]") { } } -TEST_CASE("CALLER::txdelay", "[.cmdcall]") { +TEST_CASE("txdelay", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -2999,7 +3092,7 @@ TEST_CASE("CALLER::txdelay", "[.cmdcall]") { /* ZMQ Streaming Parameters (Receiver<->Client) */ -TEST_CASE("CALLER::zmqport", "[.cmdcall]") { +TEST_CASE("zmqport", "[.cmdcall]") { Detector det; Caller caller(&det); @@ -3054,7 +3147,7 @@ TEST_CASE("CALLER::zmqport", "[.cmdcall]") { } } -TEST_CASE("CALLER::zmqip", "[.cmdcall]") { +TEST_CASE("zmqip", "[.cmdcall]") { Detector det; Caller caller(&det); std::ostringstream oss1, oss2; @@ -3066,11 +3159,11 @@ TEST_CASE("CALLER::zmqip", "[.cmdcall]") { REQUIRE(oss2.str() == "zmqip " + zmqip[0].str() + '\n'); for (int i = 0; i != det.size(); ++i) { - det.setRxZmqIP(zmqip[i], {i}); + det.setClientZmqIp(zmqip[i], {i}); } } -TEST_CASE("CALLER::zmqhwm", "[.cmdcall]") { +TEST_CASE("zmqhwm", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getClientZmqHwm(); @@ -3099,7 +3192,7 @@ TEST_CASE("CALLER::zmqhwm", "[.cmdcall]") { /* Advanced */ -TEST_CASE("CALLER::adcpipeline", "[.cmdcall]") { +TEST_CASE("adcpipeline", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3134,7 +3227,7 @@ TEST_CASE("CALLER::adcpipeline", "[.cmdcall]") { } } -TEST_CASE("CALLER::programfpga", "[.cmdcall]") { +TEST_CASE("programfpga", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3150,7 +3243,7 @@ TEST_CASE("CALLER::programfpga", "[.cmdcall]") { } } -TEST_CASE("CALLER::resetfpga", "[.cmdcall]") { +TEST_CASE("resetfpga", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3166,7 +3259,7 @@ TEST_CASE("CALLER::resetfpga", "[.cmdcall]") { } } -TEST_CASE("CALLER::updatekernel", "[.cmdcall]") { +TEST_CASE("updatekernel", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3185,7 +3278,7 @@ TEST_CASE("CALLER::updatekernel", "[.cmdcall]") { } } -TEST_CASE("CALLER::rebootcontroller", "[.cmdcall]") { +TEST_CASE("rebootcontroller", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3202,7 +3295,7 @@ TEST_CASE("CALLER::rebootcontroller", "[.cmdcall]") { } } -TEST_CASE("CALLER::update", "[.cmdcall]") { +TEST_CASE("update", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3220,7 +3313,7 @@ TEST_CASE("CALLER::update", "[.cmdcall]") { } } -TEST_CASE("CALLER::reg", "[.cmdcall]") { +TEST_CASE("reg", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3228,6 +3321,13 @@ TEST_CASE("CALLER::reg", "[.cmdcall]") { uint32_t addr = 0x64; std::string saddr = ToStringHex(addr); auto prev_val = det.readRegister(addr); + { + std::ostringstream oss1, oss2; + caller.call("reg", {saddr, "0x6", "--validate"}, -1, PUT, oss1); + REQUIRE(oss1.str() == "reg [" + saddr + ", 0x6]\n"); + caller.call("reg", {saddr}, -1, GET, oss2); + REQUIRE(oss2.str() == "reg 0x6\n"); + } { std::ostringstream oss1, oss2; caller.call("reg", {saddr, "0x5"}, -1, PUT, oss1); @@ -3236,7 +3336,7 @@ TEST_CASE("CALLER::reg", "[.cmdcall]") { REQUIRE(oss2.str() == "reg 0x5\n"); } for (int i = 0; i != det.size(); ++i) { - det.writeRegister(addr, prev_val[i], {i}); + det.writeRegister(addr, prev_val[i], false, {i}); } } // cannot check for eiger virtual server @@ -3245,7 +3345,7 @@ TEST_CASE("CALLER::reg", "[.cmdcall]") { } } -TEST_CASE("CALLER::adcreg", "[.cmdcall]") { +TEST_CASE("adcreg", "[.cmdcall]") { // TODO! what is a safe value to use? Detector det; Caller caller(&det); @@ -3263,7 +3363,7 @@ TEST_CASE("CALLER::adcreg", "[.cmdcall]") { } } -TEST_CASE("CALLER::setbit", "[.cmdcall]") { +TEST_CASE("setbit", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3272,20 +3372,22 @@ TEST_CASE("CALLER::setbit", "[.cmdcall]") { std::string saddr = ToStringHex(addr); auto prev_val = det.readRegister(addr); { - std::ostringstream oss1, oss2; + std::ostringstream oss1, oss2, oss3; caller.call("reg", {saddr, "0x0"}, -1, PUT); caller.call("setbit", {saddr, "1"}, -1, PUT, oss1); REQUIRE(oss1.str() == "setbit [" + saddr + ", 1]\n"); - caller.call("reg", {saddr}, -1, GET, oss2); - REQUIRE(oss2.str() == "reg 0x2\n"); + caller.call("setbit", {saddr, "2", "--validate"}, -1, PUT, oss2); + REQUIRE(oss2.str() == "setbit [" + saddr + ", 2]\n"); + caller.call("reg", {saddr}, -1, GET, oss3); + REQUIRE(oss3.str() == "reg 0x6\n"); } for (int i = 0; i != det.size(); ++i) { - det.writeRegister(addr, prev_val[i], {i}); + det.writeRegister(addr, prev_val[i], false, {i}); } } } -TEST_CASE("CALLER::clearbit", "[.cmdcall]") { +TEST_CASE("clearbit", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3294,20 +3396,22 @@ TEST_CASE("CALLER::clearbit", "[.cmdcall]") { std::string saddr = ToStringHex(addr); auto prev_val = det.readRegister(addr); { - std::ostringstream oss1, oss2; - caller.call("reg", {saddr, "0x3"}, -1, PUT); + std::ostringstream oss1, oss2, oss3; + caller.call("reg", {saddr, "0x7"}, -1, PUT); caller.call("clearbit", {saddr, "1"}, -1, PUT, oss1); REQUIRE(oss1.str() == "clearbit [" + saddr + ", 1]\n"); - caller.call("reg", {saddr}, -1, GET, oss2); - REQUIRE(oss2.str() == "reg 0x1\n"); + caller.call("clearbit", {saddr, "2", "--validate"}, -1, PUT, oss2); + REQUIRE(oss2.str() == "clearbit [" + saddr + ", 2]\n"); + caller.call("reg", {saddr}, -1, GET, oss3); + REQUIRE(oss3.str() == "reg 0x1\n"); } for (int i = 0; i != det.size(); ++i) { - det.writeRegister(addr, prev_val[i], {i}); + det.writeRegister(addr, prev_val[i], false, {i}); } } } -TEST_CASE("CALLER::getbit", "[.cmdcall]") { +TEST_CASE("getbit", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3322,7 +3426,7 @@ TEST_CASE("CALLER::getbit", "[.cmdcall]") { REQUIRE(oss1.str() == "getbit 1\n"); } for (int i = 0; i != det.size(); ++i) { - det.writeRegister(addr, prev_val[i], {i}); + det.writeRegister(addr, prev_val[i], false, {i}); } } // cannot check for eiger virtual server @@ -3331,7 +3435,7 @@ TEST_CASE("CALLER::getbit", "[.cmdcall]") { } } -TEST_CASE("CALLER::firmwaretest", "[.cmdcall]") { +TEST_CASE("firmwaretest", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3349,7 +3453,7 @@ TEST_CASE("CALLER::firmwaretest", "[.cmdcall]") { } } -TEST_CASE("CALLER::bustest", "[.cmdcall]") { +TEST_CASE("bustest", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3366,7 +3470,7 @@ TEST_CASE("CALLER::bustest", "[.cmdcall]") { } } -TEST_CASE("CALLER::initialchecks", "[.cmdcall]") { +TEST_CASE("initialchecks", "[.cmdcall]") { Detector det; Caller caller(&det); auto check = det.getInitialChecks(); @@ -3388,7 +3492,7 @@ TEST_CASE("CALLER::initialchecks", "[.cmdcall]") { det.setInitialChecks(check); } -TEST_CASE("CALLER::adcinvert", "[.cmdcall]") { +TEST_CASE("adcinvert", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3416,7 +3520,7 @@ TEST_CASE("CALLER::adcinvert", "[.cmdcall]") { /* Insignificant */ -TEST_CASE("CALLER::port", "[.cmdcall]") { +TEST_CASE("port", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getControlPort({0}).squash(); @@ -3440,7 +3544,7 @@ TEST_CASE("CALLER::port", "[.cmdcall]") { det.setControlPort(prev_val, {0}); } -TEST_CASE("CALLER::stopport", "[.cmdcall]") { +TEST_CASE("stopport", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getStopPort({0}).squash(); @@ -3464,7 +3568,7 @@ TEST_CASE("CALLER::stopport", "[.cmdcall]") { det.setStopPort(prev_val, {0}); } -TEST_CASE("CALLER::lock", "[.cmdcall]") { +TEST_CASE("lock", "[.cmdcall]") { Detector det; Caller caller(&det); auto prev_val = det.getDetectorLock(); @@ -3488,13 +3592,13 @@ TEST_CASE("CALLER::lock", "[.cmdcall]") { } } -TEST_CASE("CALLER::execcommand", "[.cmdcall]") { +TEST_CASE("execcommand", "[.cmdcall]") { Detector det; Caller caller(&det); REQUIRE_NOTHROW(caller.call("execcommand", {"ls *.txt"}, -1, PUT)); } -TEST_CASE("CALLER::framecounter", "[.cmdcall]") { +TEST_CASE("framecounter", "[.cmdcall]") { Detector det; Caller caller(&det); auto det_type = det.getDetectorType().squash(); @@ -3512,7 +3616,7 @@ TEST_CASE("CALLER::framecounter", "[.cmdcall]") { } } -TEST_CASE("CALLER::runtime", "[.cmdcall]") { +TEST_CASE("runtime", "[.cmdcall]") { // TODO! can we test this? Detector det; Caller caller(&det); @@ -3530,7 +3634,7 @@ TEST_CASE("CALLER::runtime", "[.cmdcall]") { } } -TEST_CASE("CALLER::frametime", "[.cmdcall]") { +TEST_CASE("frametime", "[.cmdcall]") { // TODO! can we test this? Detector det; Caller caller(&det); @@ -3548,7 +3652,7 @@ TEST_CASE("CALLER::frametime", "[.cmdcall]") { } } -TEST_CASE("CALLER::user", "[.cmdcall]") { +TEST_CASE("user", "[.cmdcall]") { Detector det; Caller caller(&det); caller.call("user", {}, -1, GET); @@ -3558,4 +3662,14 @@ TEST_CASE("CALLER::user", "[.cmdcall]") { REQUIRE_NOTHROW(caller.call("user", {}, -1, GET)); } +TEST_CASE("sleep", "[.cmdcall]") { + Detector det; + Caller caller(&det); + REQUIRE_NOTHROW(caller.call("sleep", {"1"}, -1, PUT)); + REQUIRE_NOTHROW(caller.call("sleep", {"100", "ms"}, -1, PUT)); + REQUIRE_NOTHROW(caller.call("sleep", {"1000", "ns"}, -1, PUT)); + // This is a put only command + REQUIRE_THROWS(caller.call("sleep", {}, -1, GET)); +} + } // namespace sls \ No newline at end of file diff --git a/slsDetectorSoftware/tests/test-CmdParser.cpp b/slsDetectorSoftware/tests/test-CmdParser.cpp index 84a4b1f6d..cec60358e 100644 --- a/slsDetectorSoftware/tests/test-CmdParser.cpp +++ b/slsDetectorSoftware/tests/test-CmdParser.cpp @@ -7,7 +7,7 @@ // tests to add // help for all docs -// command for all depreciated commands +// command for all deprecated commands namespace sls { diff --git a/slsReceiverSoftware/include/sls/Receiver.h b/slsReceiverSoftware/include/sls/Receiver.h index cbeccd29a..f3389c80e 100644 --- a/slsReceiverSoftware/include/sls/Receiver.h +++ b/slsReceiverSoftware/include/sls/Receiver.h @@ -41,51 +41,36 @@ class Receiver : private virtual slsDetectorDefs { /** * Start Acquisition Call back (slsMultiReceiver writes data if file write * enabled) if registerCallBackRawDataReady or - * registerCallBackRawDataModifyReady registered, users get data callback - * arguments are: - * - file path - * - file name prefix - * - file index - * - image size in bytes + * registerCallBackRawDataModifyReady registered + * Call back arguments are: + * - startCallbackHeader metadata */ - void registerCallBackStartAcquisition(int (*func)(const std::string &, - const std::string &, - uint64_t, size_t, void *), + void registerCallBackStartAcquisition(int (*func)(const startCallbackHeader, + void *), void *arg); /** * Call back for acquisition finished * callback argument is: - * - total frames caught + * - startCallbackHeader metadata */ - void registerCallBackAcquisitionFinished(void (*func)(uint64_t, void *), - void *arg); + void registerCallBackAcquisitionFinished( + void (*func)(const endCallbackHeader, void *), void *arg); /** * Call back for raw data * args to raw data ready callback are: * - sls_receiver_header frame metadata, + * - dataCallbackHeader metadata * - pointer to data - * - image size in bytes + * - image size in bytes. Can be modified to the new size to be + * written/streamed. (only smaller value allowed). */ void registerCallBackRawDataReady(void (*func)(sls_receiver_header &, - char *, size_t, void *), + const dataCallbackHeader, + char *, size_t &, void *), void *arg); - /** - * Call back for raw data (modified) - * args to raw data ready callback are: - * - sls_receiver_header frame metadata, - * - pointer to data - * - revDatasize is the reference of data size in bytes. - * Can be modified to the new size to be written/streamed. (only smaller - * value allowed). - */ - void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header &, - char *, size_t &, - void *), - void *arg); - private: std::unique_ptr tcpipInterface; }; diff --git a/slsReceiverSoftware/src/ClientInterface.cpp b/slsReceiverSoftware/src/ClientInterface.cpp index 273728f30..ce8702151 100644 --- a/slsReceiverSoftware/src/ClientInterface.cpp +++ b/slsReceiverSoftware/src/ClientInterface.cpp @@ -54,32 +54,25 @@ std::string ClientInterface::getReceiverVersion() { return APIRECEIVER; } /***callback functions***/ void ClientInterface::registerCallBackStartAcquisition( - int (*func)(const std::string &, const std::string &, uint64_t, size_t, - void *), - void *arg) { + int (*func)(const startCallbackHeader, void *), void *arg) { startAcquisitionCallBack = func; pStartAcquisition = arg; } -void ClientInterface::registerCallBackAcquisitionFinished(void (*func)(uint64_t, - void *), - void *arg) { +void ClientInterface::registerCallBackAcquisitionFinished( + void (*func)(const endCallbackHeader, void *), void *arg) { acquisitionFinishedCallBack = func; pAcquisitionFinished = arg; } void ClientInterface::registerCallBackRawDataReady( - void (*func)(sls_receiver_header &, char *, size_t, void *), void *arg) { + void (*func)(sls_receiver_header &, dataCallbackHeader, char *, size_t &, + void *), + void *arg) { rawDataReadyCallBack = func; pRawDataReady = arg; } -void ClientInterface::registerCallBackRawDataModifyReady( - void (*func)(sls_receiver_header &, char *, size_t &, void *), void *arg) { - rawDataModifyReadyCallBack = func; - pRawDataReady = arg; -} - void ClientInterface::startTCPServer() { tcpThreadId = gettid(); LOG(logINFOBLUE) << "Created [ TCP server Tid: " << tcpThreadId << "]"; @@ -168,8 +161,6 @@ int ClientInterface::functionTable(){ flist[F_GET_RECEIVER_FILE_FORMAT] = &ClientInterface::get_file_format; flist[F_SET_RECEIVER_STREAMING_PORT] = &ClientInterface::set_streaming_port; flist[F_GET_RECEIVER_STREAMING_PORT] = &ClientInterface::get_streaming_port; - flist[F_SET_RECEIVER_STREAMING_SRC_IP] = &ClientInterface::set_streaming_source_ip; - flist[F_GET_RECEIVER_STREAMING_SRC_IP] = &ClientInterface::get_streaming_source_ip; flist[F_SET_RECEIVER_SILENT_MODE] = &ClientInterface::set_silent_mode; flist[F_GET_RECEIVER_SILENT_MODE] = &ClientInterface::get_silent_mode; flist[F_RESTREAM_STOP_FROM_RECEIVER] = &ClientInterface::restream_stop; @@ -479,9 +470,6 @@ void ClientInterface::setDetectorType(detectorType arg) { if (rawDataReadyCallBack != nullptr) impl()->registerCallBackRawDataReady(rawDataReadyCallBack, pRawDataReady); - if (rawDataModifyReadyCallBack != nullptr) - impl()->registerCallBackRawDataModifyReady(rawDataModifyReadyCallBack, - pRawDataReady); impl()->setThreadIds(parentThreadId, tcpThreadId); } @@ -1084,21 +1072,6 @@ int ClientInterface::get_streaming_port(Interface &socket) { return socket.sendResult(retval); } -int ClientInterface::set_streaming_source_ip(Interface &socket) { - auto ip = socket.Receive(); - if (ip == 0) - throw RuntimeError("Invalid zmq ip " + ip.str()); - verifyIdle(socket); - impl()->setStreamingSourceIP(ip); - return socket.Send(OK); -} - -int ClientInterface::get_streaming_source_ip(Interface &socket) { - IpAddr retval = impl()->getStreamingSourceIP(); - LOG(logDEBUG1) << "streaming IP:" << retval; - return socket.sendResult(retval); -} - int ClientInterface::set_silent_mode(Interface &socket) { auto value = socket.Receive(); if (value < 0) { diff --git a/slsReceiverSoftware/src/ClientInterface.h b/slsReceiverSoftware/src/ClientInterface.h index 89b4ce7d6..8bde90c64 100644 --- a/slsReceiverSoftware/src/ClientInterface.h +++ b/slsReceiverSoftware/src/ClientInterface.h @@ -34,26 +34,20 @@ class ClientInterface : private virtual slsDetectorDefs { //***callback functions*** /** params: file path, file name, file index, image size */ - void registerCallBackStartAcquisition(int (*func)(const std::string &, - const std::string &, - uint64_t, size_t, void *), + void registerCallBackStartAcquisition(int (*func)(const startCallbackHeader, + void *), void *arg); /** params: total frames caught */ - void registerCallBackAcquisitionFinished(void (*func)(uint64_t, void *), - void *arg); + void registerCallBackAcquisitionFinished( + void (*func)(const endCallbackHeader, void *), void *arg); /** params: sls_receiver_header, pointer to data, image size */ void registerCallBackRawDataReady(void (*func)(sls_receiver_header &, - char *, size_t, void *), + const dataCallbackHeader, + char *, size_t &, void *), void *arg); - /** params: sls_receiver_header, pointer to data, reference to image size */ - void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header &, - char *, size_t &, - void *), - void *arg); - private: void startTCPServer(); int functionTable(); @@ -117,8 +111,6 @@ class ClientInterface : private virtual slsDetectorDefs { int get_file_format(ServerInterface &socket); int set_streaming_port(ServerInterface &socket); int get_streaming_port(ServerInterface &socket); - int set_streaming_source_ip(ServerInterface &socket); - int get_streaming_source_ip(ServerInterface &socket); int set_silent_mode(ServerInterface &socket); int get_silent_mode(ServerInterface &socket); int restream_stop(ServerInterface &socket); @@ -188,15 +180,14 @@ class ClientInterface : private virtual slsDetectorDefs { //***callback parameters*** - int (*startAcquisitionCallBack)(const std::string &, const std::string &, - uint64_t, size_t, void *) = nullptr; + int (*startAcquisitionCallBack)(const startCallbackHeader, + void *) = nullptr; void *pStartAcquisition{nullptr}; - void (*acquisitionFinishedCallBack)(uint64_t, void *) = nullptr; + void (*acquisitionFinishedCallBack)(const endCallbackHeader, + void *) = nullptr; void *pAcquisitionFinished{nullptr}; - void (*rawDataReadyCallBack)(sls_receiver_header &, char *, size_t, - void *) = nullptr; - void (*rawDataModifyReadyCallBack)(sls_receiver_header &, char *, size_t &, - void *) = nullptr; + void (*rawDataReadyCallBack)(sls_receiver_header &, dataCallbackHeader, + char *, size_t &, void *) = nullptr; void *pRawDataReady{nullptr}; pid_t parentThreadId{0}; diff --git a/slsReceiverSoftware/src/DataProcessor.cpp b/slsReceiverSoftware/src/DataProcessor.cpp index e1ad9fcc1..e5702389d 100644 --- a/slsReceiverSoftware/src/DataProcessor.cpp +++ b/slsReceiverSoftware/src/DataProcessor.cpp @@ -41,6 +41,10 @@ void DataProcessor::SetFifo(Fifo *f) { fifo = f; } void DataProcessor::SetGeneralData(GeneralData *g) { generalData = g; } +void DataProcessor::SetUdpPortNumber(const uint16_t portNumber) { + udpPortNumber = portNumber; +} + void DataProcessor::SetActivate(bool enable) { activated = enable; } void DataProcessor::SetReceiverROI(ROI roi) { @@ -73,6 +77,27 @@ void DataProcessor::SetCtbDbitList(std::vector value) { void DataProcessor::SetCtbDbitOffset(int value) { ctbDbitOffset = value; } +void DataProcessor::SetQuadEnable(bool value) { quadEnable = value; } + +void DataProcessor::SetFlipRows(bool fd) { + flipRows = fd; + // flip only right port of quad + if (quadEnable) { + flipRows = (index == 1 ? true : false); + } +} + +void DataProcessor::SetNumberofTotalFrames(uint64_t value) { + nTotalFrames = value; +} + +void DataProcessor::SetAdditionalJsonHeader( + const std::map &json) { + std::lock_guard lock(additionalJsonMutex); + additionalJsonHeader = json; + isAdditionalJsonUpdated = true; +} + void DataProcessor::ResetParametersforNewAcquisition() { StopRunning(); startedFlag = false; @@ -127,8 +152,6 @@ void DataProcessor::CreateFirstFiles(const std::string &fileNamePrefix, const uint64_t fileIndex, const bool overWriteEnable, const bool silentMode, - const uint16_t udpPortNumber, - const uint64_t numImages, const bool detectorDataStream) { if (dataFile == nullptr) { throw RuntimeError("file object not contstructed"); @@ -156,7 +179,7 @@ void DataProcessor::CreateFirstFiles(const std::string &fileNamePrefix, case HDF5: dataFile->CreateFirstHDF5DataFile( fileNamePrefix, fileIndex, overWriteEnable, silentMode, - udpPortNumber, generalData->framesPerFile, numImages, nx, ny, + udpPortNumber, generalData->framesPerFile, nTotalFrames, nx, ny, generalData->dynamicRange); break; #endif @@ -182,8 +205,8 @@ uint32_t DataProcessor::GetFilesInAcquisition() const { std::string DataProcessor::CreateVirtualFile( const std::string &filePath, const std::string &fileNamePrefix, const uint64_t fileIndex, const bool overWriteEnable, const bool silentMode, - const int modulePos, const uint64_t numImages, const int numModX, - const int numModY, std::mutex *hdf5LibMutex) { + const int modulePos, const int numModX, const int numModY, + std::mutex *hdf5LibMutex) { if (receiverRoiEnabled) { throw std::runtime_error( @@ -361,14 +384,31 @@ void DataProcessor::ProcessAnImage(sls_receiver_header &header, size_t &size, } try { - // normal call back + // callbacks if (rawDataReadyCallBack != nullptr) { - rawDataReadyCallBack(header, data, size, pRawDataReady); - } - // call back with modified size - else if (rawDataModifyReadyCallBack != nullptr) { - rawDataModifyReadyCallBack(header, data, size, pRawDataReady); + uint64_t frameIndex = fnum - firstIndex; + // update local copy only if it was updated (to prevent locking each + // time) + if (isAdditionalJsonUpdated) { + std::lock_guard lock(additionalJsonMutex); + localAdditionalJsonHeader = additionalJsonHeader; + isAdditionalJsonUpdated = false; + } + + dataCallbackHeader callbackHeader = { + udpPortNumber, + {static_cast(generalData->nPixelsX), + static_cast(generalData->nPixelsY)}, + fnum, + frameIndex, + (100 * ((double)(frameIndex + 1) / (double)(nTotalFrames))), + (nump == generalData->packetsPerFrame ? true : false), + flipRows, + localAdditionalJsonHeader}; + + rawDataReadyCallBack(header, callbackHeader, data, size, + pRawDataReady); } } catch (const std::exception &e) { throw RuntimeError("Get Data Callback Error: " + std::string(e.what())); @@ -427,17 +467,13 @@ bool DataProcessor::CheckCount() { } void DataProcessor::registerCallBackRawDataReady( - void (*func)(sls_receiver_header &, char *, size_t, void *), void *arg) { + void (*func)(sls_receiver_header &, dataCallbackHeader, char *, size_t &, + void *), + void *arg) { rawDataReadyCallBack = func; pRawDataReady = arg; } -void DataProcessor::registerCallBackRawDataModifyReady( - void (*func)(sls_receiver_header &, char *, size_t &, void *), void *arg) { - rawDataModifyReadyCallBack = func; - pRawDataReady = arg; -} - void DataProcessor::PadMissingPackets(sls_receiver_header header, char *data) { LOG(logDEBUG) << index << ": Padding Missing Packets"; diff --git a/slsReceiverSoftware/src/DataProcessor.h b/slsReceiverSoftware/src/DataProcessor.h index af8af6d17..29ea9e84c 100644 --- a/slsReceiverSoftware/src/DataProcessor.h +++ b/slsReceiverSoftware/src/DataProcessor.h @@ -37,6 +37,7 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { void SetFifo(Fifo *f); void SetGeneralData(GeneralData *generalData); + void SetUdpPortNumber(const uint16_t portNumber); void SetActivate(bool enable); void SetReceiverROI(ROI roi); void SetDataStreamEnable(bool enable); @@ -46,6 +47,11 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { void SetFramePadding(bool enable); void SetCtbDbitList(std::vector value); void SetCtbDbitOffset(int value); + void SetQuadEnable(bool value); + void SetFlipRows(bool fd); + void SetNumberofTotalFrames(uint64_t value); + void + SetAdditionalJsonHeader(const std::map &json); void ResetParametersforNewAcquisition(); void CloseFiles(); @@ -56,9 +62,7 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { void CreateFirstFiles(const std::string &fileNamePrefix, const uint64_t fileIndex, const bool overWriteEnable, - const bool silentMode, const uint16_t udpPortNumber, - const uint64_t numImages, - const bool detectorDataStream); + const bool silentMode, const bool detectorDataStream); #ifdef HDF5C uint32_t GetFilesInAcquisition() const; std::string CreateVirtualFile(const std::string &filePath, @@ -66,8 +70,8 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { const uint64_t fileIndex, const bool overWriteEnable, const bool silentMode, const int modulePos, - const uint64_t numImages, const int numModX, - const int numModY, std::mutex *hdf5LibMutex); + const int numModX, const int numModY, + std::mutex *hdf5LibMutex); void LinkFileInMaster(const std::string &masterFileName, const std::string &virtualFileName, const bool silentMode, std::mutex *hdf5LibMutex); @@ -83,15 +87,10 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { /** params: sls_receiver_header, pointer to data, image size */ void registerCallBackRawDataReady(void (*func)(sls_receiver_header &, - char *, size_t, void *), + dataCallbackHeader, char *, + size_t &, void *), void *arg); - /** params: sls_receiver_header, pointer to data, reference to image size */ - void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header &, - char *, size_t &, - void *), - void *arg); - private: void RecordFirstIndex(uint64_t fnum); @@ -150,6 +149,8 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { GeneralData *generalData{nullptr}; Fifo *fifo; + + uint16_t udpPortNumber{0}; bool dataStreamEnable; bool activated{false}; ROI receiverRoi{}; @@ -167,6 +168,18 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { int ctbDbitOffset; std::atomic startedFlag{false}; std::atomic firstIndex{0}; + bool quadEnable{false}; + bool flipRows{false}; + uint64_t nTotalFrames{0}; + + std::map additionalJsonHeader; + /** Used by streamer thread to update local copy (reduce number of locks + * during streaming) */ + std::atomic isAdditionalJsonUpdated{false}; + /** mutex to update json and to read and update local copy */ + mutable std::mutex additionalJsonMutex; + /** local copy of additional json header (it can be update on the fly) */ + std::map localAdditionalJsonHeader; // for statistics uint64_t numFramesCaught{0}; @@ -189,19 +202,8 @@ class DataProcessor : private virtual slsDetectorDefs, public ThreadObject { * dataPointer is the pointer to the data * dataSize in bytes is the size of the data in bytes. */ - void (*rawDataReadyCallBack)(sls_receiver_header &, char *, size_t, - void *) = nullptr; - - /** - * Call back for raw data (modified) - * args to raw data ready callback are - * sls_receiver_header frame metadata - * dataPointer is the pointer to the data - * revDatasize is the reference of data size in bytes. Can be modified to - * the new size to be written/streamed. (only smaller value). - */ - void (*rawDataModifyReadyCallBack)(sls_receiver_header &, char *, size_t &, - void *) = nullptr; + void (*rawDataReadyCallBack)(sls_receiver_header &, dataCallbackHeader, + char *, size_t &, void *) = nullptr; void *pRawDataReady{nullptr}; }; diff --git a/slsReceiverSoftware/src/DataStreamer.cpp b/slsReceiverSoftware/src/DataStreamer.cpp index a645246cd..aef93e984 100644 --- a/slsReceiverSoftware/src/DataStreamer.cpp +++ b/slsReceiverSoftware/src/DataStreamer.cpp @@ -84,11 +84,10 @@ void DataStreamer::RecordFirstIndex(uint64_t fnum, size_t firstImageIndex) { << ", First Streamer Index:" << fnum; } -void DataStreamer::CreateZmqSockets(uint16_t port, const IpAddr ip, int hwm) { +void DataStreamer::CreateZmqSockets(uint16_t port, int hwm) { uint16_t portnum = port + index; - std::string sip = ip.str(); try { - zmqSocket = new ZmqSocket(portnum, (ip != 0 ? sip.c_str() : nullptr)); + zmqSocket = new ZmqSocket(portnum); // set if custom if (hwm >= 0) { diff --git a/slsReceiverSoftware/src/DataStreamer.h b/slsReceiverSoftware/src/DataStreamer.h index 2e6f931af..b7cc94a5d 100644 --- a/slsReceiverSoftware/src/DataStreamer.h +++ b/slsReceiverSoftware/src/DataStreamer.h @@ -45,10 +45,9 @@ class DataStreamer : private virtual slsDetectorDefs, public ThreadObject { * Creates Zmq Sockets * (throws an exception if it couldnt create zmq sockets) * @param port streaming port start index - * @param ip streaming source ip * @param hwm streaming high water mark */ - void CreateZmqSockets(uint16_t port, const IpAddr ip, int hwm); + void CreateZmqSockets(uint16_t port, int hwm); void CloseZmqSocket(); void RestreamStop(); diff --git a/slsReceiverSoftware/src/HDF5DataFile.cpp b/slsReceiverSoftware/src/HDF5DataFile.cpp index 9e4d48e9e..2b267f474 100644 --- a/slsReceiverSoftware/src/HDF5DataFile.cpp +++ b/slsReceiverSoftware/src/HDF5DataFile.cpp @@ -186,7 +186,7 @@ void HDF5DataFile::CreateFile() { // property list H5::DSetCreatPropList plist; H5::DSetCreatPropList plistPara; - int fill_value = -1; + uint64_t fill_value = -1; plist.setFillValue(dataType, &fill_value); // plistPara.setFillValue(dataType, &fill_value); plist.setChunk(DATA_RANK, dimsChunk); diff --git a/slsReceiverSoftware/src/Implementation.cpp b/slsReceiverSoftware/src/Implementation.cpp index 72b39f49b..a28b100ea 100644 --- a/slsReceiverSoftware/src/Implementation.cpp +++ b/slsReceiverSoftware/src/Implementation.cpp @@ -196,6 +196,7 @@ void Implementation::SetupListener(int i) { void Implementation::SetupDataProcessor(int i) { dataProcessor[i]->SetFifo(fifo[i].get()); dataProcessor[i]->SetGeneralData(generalData); + dataProcessor[i]->SetUdpPortNumber(udpPortNum[i]); dataProcessor[i]->SetActivate(activated); dataProcessor[i]->SetReceiverROI(portRois[i]); dataProcessor[i]->SetDataStreamEnable(dataStreamEnable); @@ -205,19 +206,21 @@ void Implementation::SetupDataProcessor(int i) { dataProcessor[i]->SetFramePadding(framePadding); dataProcessor[i]->SetCtbDbitList(ctbDbitList); dataProcessor[i]->SetCtbDbitOffset(ctbDbitOffset); + dataProcessor[i]->SetQuadEnable(quadEnable); + dataProcessor[i]->SetFlipRows(flipRows); + dataProcessor[i]->SetNumberofTotalFrames(numberOfTotalFrames); + dataProcessor[i]->SetAdditionalJsonHeader(additionalJsonHeader); } void Implementation::SetupDataStreamer(int i) { dataStreamer[i]->SetFifo(fifo[i].get()); dataStreamer[i]->SetGeneralData(generalData); - dataStreamer[i]->CreateZmqSockets(streamingPort, streamingSrcIP, - streamingHwm); + dataStreamer[i]->CreateZmqSockets(streamingPort, streamingHwm); dataStreamer[i]->SetAdditionalJsonHeader(additionalJsonHeader); dataStreamer[i]->SetFileIndex(fileIndex); dataStreamer[i]->SetQuadEnable(quadEnable); dataStreamer[i]->SetFlipRows(flipRows); dataStreamer[i]->SetNumberofPorts(numPorts); - dataStreamer[i]->SetQuadEnable(quadEnable); dataStreamer[i]->SetNumberofTotalFrames(numberOfTotalFrames); dataStreamer[i]->SetReceiverROI( portRois[i].completeRoi() ? GetMaxROIPerPort() : portRois[i]); @@ -530,10 +533,7 @@ void Implementation::setFileFormat(const fileFormat f) { std::string Implementation::getFilePath() const { return filePath; } void Implementation::setFilePath(const std::string &c) { - if (!c.empty()) { - mkdir_p(c); // throws if it can't create - filePath = c; - } + filePath = c; LOG(logINFO) << "File path: " << filePath; } @@ -689,18 +689,26 @@ void Implementation::startReceiver() { // callbacks if (startAcquisitionCallBack) { try { - std::size_t imageSize = - static_cast(generalData->imageSize); - startAcquisitionCallBack(filePath, fileName, fileIndex, imageSize, - pStartAcquisition); + std::vector udpPort; + for (size_t i = 0; i != listener.size(); ++i) { + udpPort.push_back(udpPortNum[i]); + } + startCallbackHeader callbackHeader = { + udpPort, + generalData->dynamicRange, + numPorts, + static_cast(generalData->imageSize), + filePath, + fileName, + fileIndex, + quadEnable, + additionalJsonHeader}; + startAcquisitionCallBack(callbackHeader, pStartAcquisition); } catch (const std::exception &e) { std::ostringstream oss; oss << "Start Acquisition Callback Error: " << e.what(); throw RuntimeError(oss.str()); } - if (rawDataReadyCallBack != nullptr) { - LOG(logINFO) << "Data Write has been defined externally"; - } } // processor->writer @@ -797,15 +805,26 @@ void Implementation::stopReceiver() { } TLogLevel lev = ((mp[i]) > 0) ? logINFORED : logINFOGREEN; - LOG(lev) << "Summary of Port " << udpPortNum[i] << summary; + LOG(lev) << "Summary of Port " << udpPortNum[i] << " (" << eth[i] + << ')' << summary; } // callback if (acquisitionFinishedCallBack) { try { - acquisitionFinishedCallBack( - (tot / generalData->numUDPInterfaces), - pAcquisitionFinished); + std::vector udpPort; + std::vector completeFramesCaught; + std::vector lastFrameIndexCaught; + for (size_t i = 0; i != listener.size(); ++i) { + udpPort.push_back(udpPortNum[i]); + completeFramesCaught.push_back( + listener[i]->GetNumCompleteFramesCaught()); + lastFrameIndexCaught.push_back( + listener[i]->GetLastFrameIndexCaught()); + } + endCallbackHeader callHeader = {udpPort, completeFramesCaught, + lastFrameIndexCaught}; + acquisitionFinishedCallBack(callHeader, pAcquisitionFinished); } catch (const std::exception &e) { // change status status = IDLE; @@ -901,14 +920,17 @@ void Implementation::CreateUDPSockets() { void Implementation::SetupWriter() { try { + // check if folder exists and throw if it cant create + mkdir_p(filePath); + // create first files for (unsigned int i = 0; i < dataProcessor.size(); ++i) { std::ostringstream os; os << filePath << "/" << fileName << "_d" << (modulePos * generalData->numUDPInterfaces + i); std::string fileNamePrefix = os.str(); - dataProcessor[i]->CreateFirstFiles( - fileNamePrefix, fileIndex, overwriteEnable, silentMode, - udpPortNum[i], numberOfTotalFrames, detectorDataStream[i]); + dataProcessor[i]->CreateFirstFiles(fileNamePrefix, fileIndex, + overwriteEnable, silentMode, + detectorDataStream[i]); } } catch (const RuntimeError &e) { shutDownUDPSockets(); @@ -1004,8 +1026,7 @@ void Implementation::StartMasterWriter() { (numPorts.x * numPorts.y) > 1) { virtualFileName = dataProcessor[0]->CreateVirtualFile( filePath, fileName, fileIndex, overwriteEnable, silentMode, - modulePos, numberOfTotalFrames, numPorts.x, numPorts.y, - &hdf5LibMutex); + modulePos, numPorts.x, numPorts.y, &hdf5LibMutex); } // link file in master if (masterFileWriteEnable) { @@ -1113,11 +1134,6 @@ void Implementation::setNumberofUDPInterfaces(const int n) { it->registerCallBackRawDataReady(rawDataReadyCallBack, pRawDataReady); } - if (rawDataModifyReadyCallBack) { - for (const auto &it : dataProcessor) - it->registerCallBackRawDataModifyReady( - rawDataModifyReadyCallBack, pRawDataReady); - } // test socket buffer size with current set up setUDPSocketBufferSize(0); @@ -1149,6 +1165,7 @@ uint16_t Implementation::getUDPPortNumber() const { return udpPortNum[0]; } void Implementation::setUDPPortNumber(const uint16_t i) { udpPortNum[0] = i; listener[0]->SetUdpPortNumber(i); + dataProcessor[0]->SetUdpPortNumber(i); LOG(logINFO) << "UDP Port Number[0]: " << udpPortNum[0]; } @@ -1158,6 +1175,7 @@ void Implementation::setUDPPortNumber2(const uint16_t i) { udpPortNum[1] = i; if (listener.size() > 1) { listener[1]->SetUdpPortNumber(i); + dataProcessor[1]->SetUdpPortNumber(i); } LOG(logINFO) << "UDP Port Number[1]: " << udpPortNum[1]; } @@ -1262,13 +1280,6 @@ void Implementation::setStreamingPort(const uint16_t i) { LOG(logINFO) << "Streaming Port: " << streamingPort; } -IpAddr Implementation::getStreamingSourceIP() const { return streamingSrcIP; } - -void Implementation::setStreamingSourceIP(const IpAddr ip) { - streamingSrcIP = ip; - LOG(logINFO) << "Streaming Source IP: " << streamingSrcIP; -} - int Implementation::getStreamingHwm() const { return streamingHwm; } void Implementation::setStreamingHwm(const int i) { @@ -1286,6 +1297,9 @@ void Implementation::setAdditionalJsonHeader( const std::map &c) { additionalJsonHeader = c; + for (const auto &it : dataProcessor) { + it->SetAdditionalJsonHeader(c); + } for (const auto &it : dataStreamer) { it->SetAdditionalJsonHeader(c); } @@ -1328,6 +1342,9 @@ void Implementation::setAdditionalJsonParameter(const std::string &key, LOG(logINFO) << "Adding additional json parameter (" << key << ") to " << value; } + for (const auto &it : dataProcessor) { + it->SetAdditionalJsonHeader(additionalJsonHeader); + } for (const auto &it : dataStreamer) { it->SetAdditionalJsonHeader(additionalJsonHeader); } @@ -1367,6 +1384,8 @@ void Implementation::updateTotalNumberOfFrames() { } numberOfTotalFrames = numFrames * repeats * (int64_t)(numberOfAdditionalStorageCells + 1); + for (const auto &it : dataProcessor) + it->SetNumberofTotalFrames(numberOfTotalFrames); for (const auto &it : dataStreamer) it->SetNumberofTotalFrames(numberOfTotalFrames); if (numberOfTotalFrames == 0) { @@ -1625,6 +1644,8 @@ bool Implementation::getFlipRows() const { return flipRows; } void Implementation::setFlipRows(bool enable) { flipRows = enable; + for (const auto &it : dataProcessor) + it->SetFlipRows(flipRows); for (const auto &it : dataStreamer) it->SetFlipRows(flipRows); LOG(logINFO) << "Flip Rows: " << flipRows; @@ -1636,6 +1657,10 @@ void Implementation::setQuad(const bool b) { if (quadEnable != b) { quadEnable = b; setDetectorSize(numModules); + for (const auto &it : dataProcessor) { + it->SetQuadEnable(quadEnable); + it->SetFlipRows(flipRows); + } for (const auto &it : dataStreamer) { it->SetQuadEnable(quadEnable); it->SetFlipRows(flipRows); @@ -1777,35 +1802,25 @@ void Implementation::setTransceiverEnableMask(uint32_t mask) { * * * ************************************************/ void Implementation::registerCallBackStartAcquisition( - int (*func)(const std::string &, const std::string &, uint64_t, size_t, - void *), - void *arg) { + int (*func)(const startCallbackHeader, void *), void *arg) { startAcquisitionCallBack = func; pStartAcquisition = arg; } -void Implementation::registerCallBackAcquisitionFinished(void (*func)(uint64_t, - void *), - void *arg) { +void Implementation::registerCallBackAcquisitionFinished( + void (*func)(const endCallbackHeader, void *), void *arg) { acquisitionFinishedCallBack = func; pAcquisitionFinished = arg; } void Implementation::registerCallBackRawDataReady( - void (*func)(sls_receiver_header &, char *, size_t, void *), void *arg) { + void (*func)(sls_receiver_header &, dataCallbackHeader, char *, size_t &, + void *), + void *arg) { rawDataReadyCallBack = func; pRawDataReady = arg; for (const auto &it : dataProcessor) it->registerCallBackRawDataReady(rawDataReadyCallBack, pRawDataReady); } -void Implementation::registerCallBackRawDataModifyReady( - void (*func)(sls_receiver_header &, char *, size_t &, void *), void *arg) { - rawDataModifyReadyCallBack = func; - pRawDataReady = arg; - for (const auto &it : dataProcessor) - it->registerCallBackRawDataModifyReady(rawDataModifyReadyCallBack, - pRawDataReady); -} - } // namespace sls diff --git a/slsReceiverSoftware/src/Implementation.h b/slsReceiverSoftware/src/Implementation.h index 7c41a91e6..671f6deb2 100644 --- a/slsReceiverSoftware/src/Implementation.h +++ b/slsReceiverSoftware/src/Implementation.h @@ -142,8 +142,6 @@ class Implementation : private virtual slsDetectorDefs { void setStreamingStartingFrameNumber(const uint32_t fnum); uint16_t getStreamingPort() const; void setStreamingPort(const uint16_t i); - IpAddr getStreamingSourceIP() const; - void setStreamingSourceIP(const IpAddr ip); int getStreamingHwm() const; void setStreamingHwm(const int i); std::map getAdditionalJsonHeader() const; @@ -267,22 +265,17 @@ class Implementation : private virtual slsDetectorDefs { * * * ************************************************/ /** params: file path, file name, file index, image size */ - void registerCallBackStartAcquisition(int (*func)(const std::string &, - const std::string &, - uint64_t, size_t, void *), + void registerCallBackStartAcquisition(int (*func)(const startCallbackHeader, + void *), void *arg); /** params: total frames caught */ - void registerCallBackAcquisitionFinished(void (*func)(uint64_t, void *), - void *arg); + void registerCallBackAcquisitionFinished( + void (*func)(const endCallbackHeader, void *), void *arg); /** params: sls_receiver_header, pointer to data, image size */ void registerCallBackRawDataReady(void (*func)(sls_receiver_header &, - char *, size_t, void *), + dataCallbackHeader, char *, + size_t &, void *), void *arg); - /** params: sls_receiver_header, pointer to data, reference to image size */ - void registerCallBackRawDataModifyReady(void (*func)(sls_receiver_header &, - char *, size_t &, - void *), - void *arg); private: void SetLocalNetworkParameters(); @@ -346,7 +339,6 @@ class Implementation : private virtual slsDetectorDefs { uint32_t streamingTimerInMs{DEFAULT_STREAMING_TIMER_IN_MS}; uint32_t streamingStartFnum{0}; uint16_t streamingPort{0}; - IpAddr streamingSrcIP = IpAddr{}; int streamingHwm{-1}; std::map additionalJsonHeader; @@ -382,15 +374,13 @@ class Implementation : private virtual slsDetectorDefs { int ctbDbitOffset{0}; // callbacks - int (*startAcquisitionCallBack)(const std::string &, const std::string &, - uint64_t, size_t, void *){nullptr}; + int (*startAcquisitionCallBack)(const startCallbackHeader, void *){nullptr}; void *pStartAcquisition{nullptr}; - void (*acquisitionFinishedCallBack)(uint64_t, void *){nullptr}; + void (*acquisitionFinishedCallBack)(const endCallbackHeader, + void *){nullptr}; void *pAcquisitionFinished{nullptr}; - void (*rawDataReadyCallBack)(sls_receiver_header &, char *, size_t, - void *){nullptr}; - void (*rawDataModifyReadyCallBack)(sls_receiver_header &, char *, size_t &, - void *){nullptr}; + void (*rawDataReadyCallBack)(sls_receiver_header &, dataCallbackHeader, + char *, size_t &, void *){nullptr}; void *pRawDataReady{nullptr}; // class objects diff --git a/slsReceiverSoftware/src/Listener.cpp b/slsReceiverSoftware/src/Listener.cpp index 45f05975b..c6a0aea18 100644 --- a/slsReceiverSoftware/src/Listener.cpp +++ b/slsReceiverSoftware/src/Listener.cpp @@ -81,10 +81,6 @@ void Listener::SetEthernetInterface(const std::string e) { if (eth.find('.') != std::string::npos) { eth = ""; } - if (!eth.length()) { - LOG(logWARNING) << "ethernet interface for udp port " << udpPortNumber - << " is empty. Listening to all"; - } } void Listener::SetActivate(bool enable) { @@ -153,12 +149,15 @@ void Listener::CreateUDPSocket(int &actualSize) { packetSize = generalData->vetoPacketSize; } + std::string ip = + (eth.length() ? InterfaceNameToIp(eth).str().c_str() : ""); + udpSocket = nullptr; udpSocket = make_unique( - udpPortNumber, packetSize, - (eth.length() ? InterfaceNameToIp(eth).str().c_str() : nullptr), + udpPortNumber, packetSize, (ip.length() ? ip.c_str() : nullptr), generalData->udpSocketBufferSize); - LOG(logINFO) << index << ": UDP port opened at port " << udpPortNumber; + LOG(logINFO) << index << ": UDP port opened at port " << udpPortNumber + << " (" << (ip.length() ? ip : "any") << ')'; udpSocketAlive = true; diff --git a/slsReceiverSoftware/src/MasterFileUtility.cpp b/slsReceiverSoftware/src/MasterFileUtility.cpp index 10d50fb9c..793dc777e 100644 --- a/slsReceiverSoftware/src/MasterFileUtility.cpp +++ b/slsReceiverSoftware/src/MasterFileUtility.cpp @@ -215,7 +215,7 @@ std::string CreateVirtualHDF5File( // property list H5::DSetCreatPropList plist; - int fill_value = -1; + uint64_t fill_value = -1; plist.setFillValue(dataType, &fill_value); std::vector plistPara(paraSize); // ignoring last fill (string) diff --git a/slsReceiverSoftware/src/MultiReceiverApp.cpp b/slsReceiverSoftware/src/MultiReceiverApp.cpp index b9ac35eab..1d0203d54 100644 --- a/slsReceiverSoftware/src/MultiReceiverApp.cpp +++ b/slsReceiverSoftware/src/MultiReceiverApp.cpp @@ -50,19 +50,40 @@ std::string getHelpMessage() { * enabled) if registerCallBackRawDataReady or * registerCallBackRawDataModifyReady registered, users get data */ -int StartAcq(const std::string &filePath, const std::string &fileName, - uint64_t fileIndex, size_t imageSize, void *objectPointer) { - LOG(sls::logINFOBLUE) << "#### StartAcq: filePath:" << filePath - << " fileName:" << fileName - << " fileIndex:" << fileIndex - << " imageSize:" << imageSize << " ####"; +int StartAcq(const slsDetectorDefs::startCallbackHeader callbackHeader, + void *objectPointer) { + LOG(sls::logINFOBLUE) << "#### Start Acquisition:" + << "\n\t[" + << "\n\tUDP Port : " + << sls::ToString(callbackHeader.udpPort) + << "\n\tDynamic Range : " + << callbackHeader.dynamicRange + << "\n\tDetector Shape : " + << sls::ToString(callbackHeader.detectorShape) + << "\n\tImage Size : " << callbackHeader.imageSize + << "\n\tFile Path : " << callbackHeader.filePath + << "\n\tFile Name : " << callbackHeader.fileName + << "\n\tFile Index : " << callbackHeader.fileIndex + << "\n\tQuad Enable : " << callbackHeader.quad + << "\n\tAdditional Json Header : " + << sls::ToString(callbackHeader.addJsonHeader) + << "\n\t]"; return 0; } /** Acquisition Finished Call back */ -void AcquisitionFinished(uint64_t framesCaught, void *objectPointer) { - LOG(sls::logINFOBLUE) << "#### AcquisitionFinished: framesCaught:" - << framesCaught << " ####"; +void AcquisitionFinished( + const slsDetectorDefs::endCallbackHeader callbackHeader, + void *objectPointer) { + LOG(sls::logINFOBLUE) << "#### AcquisitionFinished:" + << "\n\t[" + << "\n\tUDP Port : " + << sls::ToString(callbackHeader.udpPort) + << "\n\tComplete Frames : " + << sls::ToString(callbackHeader.completeFrames) + << "\n\tLast Frame Index : " + << sls::ToString(callbackHeader.lastFrameIndex) + << "\n\t]"; } /** @@ -70,62 +91,61 @@ void AcquisitionFinished(uint64_t framesCaught, void *objectPointer) { * Prints in different colors(for each receiver process) the different headers * for each image call back. */ -void GetData(slsDetectorDefs::sls_receiver_header &header, char *dataPointer, - size_t imageSize, void *objectPointer) { +void GetData(slsDetectorDefs::sls_receiver_header &header, + slsDetectorDefs::dataCallbackHeader callbackHeader, + char *dataPointer, size_t &imageSize, void *objectPointer) { + slsDetectorDefs::sls_detector_header detectorHeader = header.detHeader; PRINT_IN_COLOR( - detectorHeader.modId ? detectorHeader.modId : detectorHeader.row, - "#### %d %d GetData: ####\n" - "frameNumber: %lu\t\texpLength: %u\t\tpacketNumber: %u\t\tdetSpec1: %lu" - "\t\ttimestamp: %lu\t\tmodId: %u\t\t" - "row: %u\t\tcolumn: %u\t\tdetSpec2: %u\t\tdetSpec3: %u" - "\t\tdetSpec4: %u\t\tdetType: %u\t\tversion: %u" - //"\t\tpacketsMask:%s" - "\t\tfirstbytedata: 0x%x\t\tdatsize: %zu\n\n", - detectorHeader.column, detectorHeader.row, - (long unsigned int)detectorHeader.frameNumber, detectorHeader.expLength, - detectorHeader.packetNumber, (long unsigned int)detectorHeader.detSpec1, - (long unsigned int)detectorHeader.timestamp, detectorHeader.modId, - detectorHeader.row, detectorHeader.column, detectorHeader.detSpec2, - detectorHeader.detSpec3, detectorHeader.detSpec4, - detectorHeader.detType, detectorHeader.version, + (callbackHeader.udpPort % 10), + "#### GetData: " + "\n\tCallback Header: " + "\n\t[" + "\n\tUDP Port: %u" + "\n\tShape: [%u, %u]" + "\n\tAcq Index : %lu" + "\n\tFrame Index :%lu" + "\n\tProgress : %.2f%%" + "\n\tCompelte Image :%s" + "\n\tFlip Rows :%s" + "\n\tAdditional Json Header : %s" + "\n\t]" + "\n\ttReceiver Header: " + "\n\t[" + "\n\tFrame Number : %lu" + "\n\tExposure Length :%u" + "\n\tPackets Caught :%u" + "\n\tDetector Specific 1: %lu" + "\n\tTimestamp : %lu" + "\n\tModule Id :%u" + "\n\tRow : %u" + "\n\tColumn :%u" + "\n\tDetector Specific 2 : %u" + "\n\tDetector Specific 3 : %u" + "\n\tDetector Specific 4 : %u" + "\n\tDetector Type : %s" + "\n\tVersion: %u" + "\n\t]" + "\n\tFirst Byte Data: 0x%x" + "\n\tImage Size: %zu\n\n", + callbackHeader.udpPort, callbackHeader.shape.x, callbackHeader.shape.y, + callbackHeader.acqIndex, callbackHeader.frameIndex, + callbackHeader.progress, + sls::ToString(callbackHeader.completeImage).c_str(), + sls::ToString(callbackHeader.flipRows).c_str(), + sls::ToString(callbackHeader.addJsonHeader).c_str(), + detectorHeader.frameNumber, detectorHeader.expLength, + detectorHeader.packetNumber, detectorHeader.detSpec1, + detectorHeader.timestamp, detectorHeader.modId, detectorHeader.row, + detectorHeader.column, detectorHeader.detSpec2, detectorHeader.detSpec3, + detectorHeader.detSpec4, sls::ToString(detectorHeader.detType).c_str(), + detectorHeader.version, // header->packetsMask.to_string().c_str(), ((uint8_t)(*((uint8_t *)(dataPointer)))), imageSize); -} - -/** - * Get Receiver Data Call back (modified) - * Prints in different colors(for each receiver process) the different headers - * for each image call back. - * @param modifiedImageSize new data size in bytes after the callback. - * This will be the size written/streamed. (only smaller value is allowed). - */ -void GetData(slsDetectorDefs::sls_receiver_header &header, char *dataPointer, - size_t &modifiedImageSize, void *objectPointer) { - slsDetectorDefs::sls_detector_header detectorHeader = header.detHeader; - - PRINT_IN_COLOR( - detectorHeader.modId ? detectorHeader.modId : detectorHeader.row, - "#### %d %d GetData: ####\n" - "frameNumber: %lu\t\texpLength: %u\t\tpacketNumber: %u\t\tdetSpec1: %lu" - "\t\ttimestamp: %lu\t\tmodId: %u\t\t" - "row: %u\t\tcolumn: %u\t\tdetSpec2: %u\t\tdetSpec3: %u" - "\t\tdetSpec4: %u\t\tdetType: %u\t\tversion: %u" - //"\t\tpacketsMask:%s" - "\t\tfirstbytedata: 0x%x\t\tdatsize: %zu\n\n", - detectorHeader.column, detectorHeader.row, - (long unsigned int)detectorHeader.frameNumber, detectorHeader.expLength, - detectorHeader.packetNumber, (long unsigned int)detectorHeader.detSpec1, - (long unsigned int)detectorHeader.timestamp, detectorHeader.modId, - detectorHeader.row, detectorHeader.column, detectorHeader.detSpec2, - detectorHeader.detSpec3, detectorHeader.detSpec4, - detectorHeader.detType, detectorHeader.version, - // header->packetsMask.to_string().c_str(), - *reinterpret_cast(dataPointer), modifiedImageSize); // if data is modified, eg ROI and size is reduced - modifiedImageSize = 26000; + imageSize = 26000; } /** @@ -214,26 +234,22 @@ int main(int argc, char *argv[]) { throw; } /** - register callbacks. remember to set file write enable to 0 - (using the client) if we should not write files and you will write data - using the callbacks */ + * (using the client) if we should not write files and you will + * write data using the callbacks */ if (withCallback) { /** - Call back for start acquisition */ - cprintf(BLUE, "Registering StartAcq()\n"); + cprintf(BLUE, "Registering StartAcq()\n"); receiver->registerCallBackStartAcquisition(StartAcq, nullptr); /** - Call back for acquisition finished */ - cprintf(BLUE, "Registering AcquisitionFinished()\n"); + cprintf(BLUE, "Registering AcquisitionFinished()\n"); receiver->registerCallBackAcquisitionFinished( AcquisitionFinished, nullptr); /* - Call back for raw data */ - cprintf(BLUE, "Registering GetData() \n"); - if (withCallback == 1) - receiver->registerCallBackRawDataReady(GetData, nullptr); - else if (withCallback == 2) - receiver->registerCallBackRawDataModifyReady(GetData, - nullptr); + cprintf(BLUE, "Registering GetData() \n"); + receiver->registerCallBackRawDataReady(GetData, nullptr); } /** - as long as no Ctrl+C */ diff --git a/slsReceiverSoftware/src/Receiver.cpp b/slsReceiverSoftware/src/Receiver.cpp index bff6757e0..d7c676366 100644 --- a/slsReceiverSoftware/src/Receiver.cpp +++ b/slsReceiverSoftware/src/Receiver.cpp @@ -133,28 +133,21 @@ std::string Receiver::getReceiverVersion() { return tcpipInterface->getReceiverVersion(); } -void Receiver::registerCallBackStartAcquisition(int (*func)(const std::string &, - const std::string &, - uint64_t, size_t, - void *), - void *arg) { +void Receiver::registerCallBackStartAcquisition( + int (*func)(const startCallbackHeader, void *), void *arg) { tcpipInterface->registerCallBackStartAcquisition(func, arg); } -void Receiver::registerCallBackAcquisitionFinished(void (*func)(uint64_t, - void *), - void *arg) { +void Receiver::registerCallBackAcquisitionFinished( + void (*func)(const endCallbackHeader, void *), void *arg) { tcpipInterface->registerCallBackAcquisitionFinished(func, arg); } void Receiver::registerCallBackRawDataReady( - void (*func)(sls_receiver_header &, char *, size_t, void *), void *arg) { + void (*func)(sls_receiver_header &, const dataCallbackHeader, char *, + size_t &, void *), + void *arg) { tcpipInterface->registerCallBackRawDataReady(func, arg); } -void Receiver::registerCallBackRawDataModifyReady( - void (*func)(sls_receiver_header &, char *, size_t &, void *), void *arg) { - tcpipInterface->registerCallBackRawDataModifyReady(func, arg); -} - } // namespace sls \ No newline at end of file diff --git a/slsSupportLib/include/sls/ToString.h b/slsSupportLib/include/sls/ToString.h index efef1161c..fc9a431bf 100644 --- a/slsSupportLib/include/sls/ToString.h +++ b/slsSupportLib/include/sls/ToString.h @@ -44,6 +44,8 @@ std::string ToString(const defs::streamingInterface s); std::string ToString(const defs::vetoAlgorithm s); std::string ToString(const defs::gainMode s); std::string ToString(const defs::polarity s); +std::string ToString(const defs::timingInfoDecoder s); +std::string ToString(const defs::collectionMode s); std::string ToString(const slsDetectorDefs::xy &coord); std::ostream &operator<<(std::ostream &os, const slsDetectorDefs::xy &coord); @@ -318,6 +320,8 @@ template <> defs::streamingInterface StringTo(const std::string &s); template <> defs::vetoAlgorithm StringTo(const std::string &s); template <> defs::gainMode StringTo(const std::string &s); template <> defs::polarity StringTo(const std::string &s); +template <> defs::timingInfoDecoder StringTo(const std::string &s); +template <> defs::collectionMode StringTo(const std::string &s); template <> uint8_t StringTo(const std::string &s); template <> uint16_t StringTo(const std::string &s); diff --git a/slsSupportLib/include/sls/ZmqSocket.h b/slsSupportLib/include/sls/ZmqSocket.h index 772d6bc65..ba65d59ce 100644 --- a/slsSupportLib/include/sls/ZmqSocket.h +++ b/slsSupportLib/include/sls/ZmqSocket.h @@ -24,7 +24,7 @@ #include //json header in zmq stream #pragma GCC diagnostic pop -//#include +// #include class zmq_msg_t; namespace sls { @@ -38,6 +38,8 @@ namespace sls { #define DEFAULT_LOW_ZMQ_HWM_BUFFERSIZE (1024 * 1024) // 1MB #define DEFAULT_ZMQ_BUFFERSIZE (-1) // os default +#define ZMQ_PUBLISHER_IP "0.0.0.0" + /** zmq header structure */ struct zmqHeader { /** true if incoming data, false if end of acquisition */ @@ -98,21 +100,11 @@ class ZmqSocket { // use this to optimize if optimizing required eg. int value = -1; if // (zmq_setsockopt(socketDescriptor, ZMQ_LINGER, &value,sizeof(value))) { // Close(); - /** - * Constructor for a client - * Creates socket, context and connects to server - * @param hostname_or_ip hostname or ip of server - * @param portnumber port number - */ + /** Constructor for a subscriber socket */ ZmqSocket(const char *const hostname_or_ip, const uint16_t portnumber); - /** - * Constructor for a server - * Creates socket, context and connects to server - * @param portnumber port number - * @param ethip is the ip of the ethernet interface to stream zmq from - */ - ZmqSocket(const uint16_t portnumber, const char *ethip); + /** Constructor for a publisher socket */ + ZmqSocket(const uint16_t portnumber); /** Returns high water mark for outbound messages */ int GetSendHighWaterMark(); diff --git a/slsSupportLib/include/sls/sls_detector_defs.h b/slsSupportLib/include/sls/sls_detector_defs.h index d7eafd5fd..576df0763 100644 --- a/slsSupportLib/include/sls/sls_detector_defs.h +++ b/slsSupportLib/include/sls/sls_detector_defs.h @@ -25,7 +25,9 @@ #include #include #include +#include #include +#include #else // C includes #include @@ -113,6 +115,20 @@ class slsDetectorDefs { STOPPED }; + /** + dimension indexes + */ + enum dimension { X, Y }; + +#ifdef __cplusplus + struct xy { + int x{0}; + int y{0}; + xy() = default; + xy(int x, int y) : x(x), y(y){}; + } __attribute__((packed)); +#endif + /** @short structure for a Detector Packet or Image Header Details at https://slsdetectorgroup.github.io/devdoc/udpheader.html @@ -160,6 +176,36 @@ class slsDetectorDefs { sls_detector_header detHeader; /**< is the detector header */ sls_bitset packetsMask; /**< is the packets caught bit mask */ }; + + struct startCallbackHeader { + std::vector udpPort; + uint32_t dynamicRange; + xy detectorShape; + size_t imageSize; + std::string filePath; + std::string fileName; + uint64_t fileIndex; + bool quad; + std::map addJsonHeader; + }; + + struct endCallbackHeader { + std::vector udpPort; + std::vector completeFrames; + std::vector lastFrameIndex; + }; + + struct dataCallbackHeader { + uint32_t udpPort; + xy shape; + uint64_t acqIndex; + uint64_t frameIndex; + double progress; + bool completeImage; + bool flipRows; + std::map addJsonHeader; + }; + #endif enum frameDiscardPolicy { NO_DISCARD, @@ -216,21 +262,13 @@ typedef struct { /** type of action performed (for text client) */ - enum { GET_ACTION, PUT_ACTION, READOUT_ACTION, HELP_ACTION }; - - /** - dimension indexes - */ - enum dimension { X, Y }; - -#ifdef __cplusplus - struct xy { - int x{0}; - int y{0}; - xy() = default; - xy(int x, int y) : x(x), y(y){}; - } __attribute__((packed)); -#endif + enum { + GET_ACTION, + PUT_ACTION, + READOUT_ACTION, + HELP_ACTION, + READOUT_ZMQ_ACTION + }; /** use of the external signals @@ -481,6 +519,8 @@ enum streamingInterface { }; enum polarity { POSITIVE, NEGATIVE }; + enum timingInfoDecoder { SWISSFEL, SHINE }; + enum collectionMode { HOLE, ELECTRON }; #ifdef __cplusplus diff --git a/slsSupportLib/include/sls/sls_detector_funcs.h b/slsSupportLib/include/sls/sls_detector_funcs.h index 720452bf6..badbd29af 100755 --- a/slsSupportLib/include/sls/sls_detector_funcs.h +++ b/slsSupportLib/include/sls/sls_detector_funcs.h @@ -293,6 +293,10 @@ enum detFuncs { F_GET_PEDESTAL_MODE, F_SET_PEDESTAL_MODE, F_CONFIG_TRANSCEIVER, + F_GET_TIMING_INFO_DECODER, + F_SET_TIMING_INFO_DECODER, + F_GET_COLLECTION_MODE, + F_SET_COLLECTION_MODE, NUM_DET_FUNCTIONS, RECEIVER_ENUM_START = 512, /**< detector function should not exceed this @@ -693,6 +697,10 @@ const char* getFunctionNameFromEnum(enum detFuncs func) { case F_GET_PEDESTAL_MODE: return "F_GET_PEDESTAL_MODE"; case F_SET_PEDESTAL_MODE: return "F_SET_PEDESTAL_MODE"; case F_CONFIG_TRANSCEIVER: return "F_CONFIG_TRANSCEIVER"; + case F_GET_TIMING_INFO_DECODER: return "F_GET_TIMING_INFO_DECODER"; + case F_SET_TIMING_INFO_DECODER: return "F_SET_TIMING_INFO_DECODER"; + case F_GET_COLLECTION_MODE: return "F_GET_COLLECTION_MODE"; + case F_SET_COLLECTION_MODE: return "F_SET_COLLECTION_MODE"; case NUM_DET_FUNCTIONS: return "NUM_DET_FUNCTIONS"; case RECEIVER_ENUM_START: return "RECEIVER_ENUM_START"; @@ -748,8 +756,8 @@ const char* getFunctionNameFromEnum(enum detFuncs func) { case F_GET_RECEIVER_FILE_FORMAT: return "F_GET_RECEIVER_FILE_FORMAT"; case F_SET_RECEIVER_STREAMING_PORT: return "F_SET_RECEIVER_STREAMING_PORT"; case F_GET_RECEIVER_STREAMING_PORT: return "F_GET_RECEIVER_STREAMING_PORT"; - case F_SET_RECEIVER_STREAMING_SRC_IP: return "F_SET_RECEIVER_STREAMING_SRC_IP"; - case F_GET_RECEIVER_STREAMING_SRC_IP: return "F_GET_RECEIVER_STREAMING_SRC_IP"; + case F_SET_RECEIVER_STREAMING_SRC_IP: return "F_SET_RECEIVER_STREAMING_SRC_IP - obsolete"; + case F_GET_RECEIVER_STREAMING_SRC_IP: return "F_GET_RECEIVER_STREAMING_SRC_IP - obsolete"; case F_SET_RECEIVER_SILENT_MODE: return "F_SET_RECEIVER_SILENT_MODE"; case F_GET_RECEIVER_SILENT_MODE: return "F_GET_RECEIVER_SILENT_MODE"; case F_RESTREAM_STOP_FROM_RECEIVER: return "F_RESTREAM_STOP_FROM_RECEIVER"; diff --git a/slsSupportLib/include/sls/versionAPI.h b/slsSupportLib/include/sls/versionAPI.h index 745078acb..d0ba5af7f 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -2,13 +2,13 @@ // Copyright (C) 2021 Contributors to the SLS Detector Package /** API versions */ #define RELEASE "developer" -#define APILIB "developer 0x230224" -#define APIRECEIVER "developer 0x230224" -#define APICTB "developer 0x240207" -#define APIGOTTHARD "developer 0x240207" -#define APIGOTTHARD2 "developer 0x240207" -#define APIJUNGFRAU "developer 0x240207" -#define APIMYTHEN3 "developer 0x240207" -#define APIMOENCH "developer 0x240207" -#define APIXILINXCTB "developer 0x240207" -#define APIEIGER "developer 0x240207" +#define APICTB "developer 0x240918" +#define APIGOTTHARD "developer 0x240918" +#define APIMOENCH "developer 0x240918" +#define APIXILINXCTB "developer 0x240918" +#define APIEIGER "developer 0x240918" +#define APIMYTHEN3 "developer 0x241001" +#define APIJUNGFRAU "developer 0x241001" +#define APIGOTTHARD2 "developer 0x241007" +#define APILIB "developer 0x241014" +#define APIRECEIVER "developer 0x241014" diff --git a/slsSupportLib/src/ToString.cpp b/slsSupportLib/src/ToString.cpp index fa8541ce9..28db75323 100644 --- a/slsSupportLib/src/ToString.cpp +++ b/slsSupportLib/src/ToString.cpp @@ -679,6 +679,28 @@ std::string ToString(const defs::polarity s) { } } +std::string ToString(const defs::timingInfoDecoder s) { + switch (s) { + case defs::SWISSFEL: + return std::string("swissfel"); + case defs::SHINE: + return std::string("shine"); + default: + return std::string("Unknown"); + } +} + +std::string ToString(const defs::collectionMode s) { + switch (s) { + case defs::HOLE: + return std::string("hole"); + case defs::ELECTRON: + return std::string("electron"); + default: + return std::string("Unknown"); + } +} + const std::string &ToString(const std::string &s) { return s; } template <> defs::detectorType StringTo(const std::string &s) { @@ -1104,6 +1126,22 @@ template <> defs::polarity StringTo(const std::string &s) { throw RuntimeError("Unknown polarity mode " + s); } +template <> defs::timingInfoDecoder StringTo(const std::string &s) { + if (s == "swissfel") + return defs::SWISSFEL; + if (s == "shine") + return defs::SHINE; + throw RuntimeError("Unknown Timing Info Decoder " + s); +} + +template <> defs::collectionMode StringTo(const std::string &s) { + if (s == "hole") + return defs::HOLE; + if (s == "electron") + return defs::ELECTRON; + throw RuntimeError("Unknown collection mode " + s); +} + template <> uint8_t StringTo(const std::string &s) { int base = s.find("0x") != std::string::npos ? 16 : 10; int value = std::stoi(s, nullptr, base); diff --git a/slsSupportLib/src/ZmqSocket.cpp b/slsSupportLib/src/ZmqSocket.cpp index d727d61dc..2fafe4799 100644 --- a/slsSupportLib/src/ZmqSocket.cpp +++ b/slsSupportLib/src/ZmqSocket.cpp @@ -53,10 +53,19 @@ ZmqSocket::ZmqSocket(const char *const hostname_or_ip, } LOG(logDEBUG) << "Default receive high water mark:" << GetReceiveHighWaterMark(); + + // enable IPv6 addresses + int ipv6 = 1; + if (zmq_setsockopt(sockfd.socketDescriptor, ZMQ_IPV6, &ipv6, + sizeof(ipv6))) { + PrintError(); + throw ZmqSocketError("Could not set ZMQ_IPV6"); + } } -ZmqSocket::ZmqSocket(const uint16_t portnumber, const char *ethip) +ZmqSocket::ZmqSocket(const uint16_t portnumber) : portno(portnumber), sockfd(true) { + // create context sockfd.contextDescriptor = zmq_ctx_new(); if (sockfd.contextDescriptor == nullptr) @@ -72,10 +81,48 @@ ZmqSocket::ZmqSocket(const uint16_t portnumber, const char *ethip) // construct address, can be refactored with libfmt std::ostringstream oss; - oss << "tcp://" << ethip << ":" << portno; + oss << "tcp://" << ZMQ_PUBLISHER_IP << ":" << portno; sockfd.serverAddress = oss.str(); LOG(logDEBUG) << "zmq address: " << sockfd.serverAddress; + // enable IPv6 addresses + int ipv6 = 1; + if (zmq_setsockopt(sockfd.socketDescriptor, ZMQ_IPV6, &ipv6, + sizeof(ipv6))) { + PrintError(); + throw ZmqSocketError("Could not set ZMQ_IPV6"); + } + + // Socket Options for keepalive + // enable TCP keepalive + int keepalive = 1; + if (zmq_setsockopt(sockfd.socketDescriptor, ZMQ_TCP_KEEPALIVE, &keepalive, + sizeof(keepalive))) { + PrintError(); + throw ZmqSocketError("Could set socket opt ZMQ_TCP_KEEPALIVE"); + } + // set the number of keepalives before death + keepalive = 10; + if (zmq_setsockopt(sockfd.socketDescriptor, ZMQ_TCP_KEEPALIVE_CNT, + &keepalive, sizeof(keepalive))) { + PrintError(); + throw ZmqSocketError("Could set socket opt ZMQ_TCP_KEEPALIVE_CNT"); + } + // set the time before the first keepalive + keepalive = 60; + if (zmq_setsockopt(sockfd.socketDescriptor, ZMQ_TCP_KEEPALIVE_IDLE, + &keepalive, sizeof(keepalive))) { + PrintError(); + throw ZmqSocketError("Could set socket opt ZMQ_TCP_KEEPALIVE_IDLE"); + } + // set the interval between keepalives + keepalive = 1; + if (zmq_setsockopt(sockfd.socketDescriptor, ZMQ_TCP_KEEPALIVE_INTVL, + &keepalive, sizeof(keepalive))) { + PrintError(); + throw ZmqSocketError("Could set socket opt ZMQ_TCP_KEEPALIVE_INTVL"); + } + // bind address if (zmq_bind(sockfd.socketDescriptor, sockfd.serverAddress.c_str())) { PrintError(); @@ -83,7 +130,7 @@ ZmqSocket::ZmqSocket(const uint16_t portnumber, const char *ethip) } // sleep to allow a slow-joiner std::this_thread::sleep_for(std::chrono::milliseconds(200)); -}; +} int ZmqSocket::GetSendHighWaterMark() { int value = 0; @@ -188,8 +235,9 @@ void ZmqSocket::SetReceiveBuffer(int limit) { } } -void ZmqSocket::Rebind() { // the purpose is to apply HWL changes, which are - // frozen at bind, which is in the constructor. +void ZmqSocket::Rebind() { + // the purpose is to apply HWL changes, which are + // frozen at bind, which is in the constructor. // unbbind if (zmq_unbind(sockfd.socketDescriptor, sockfd.serverAddress.c_str())) { @@ -472,8 +520,11 @@ void ZmqSocket::PrintError() { LOG(logERROR) << "No I/O thread is available to accomplish the task (zmq)"; break; + case ENOENT: + LOG(logERROR) << "The requested endpoint does not exist (zmq)"; + break; default: - LOG(logERROR) << "Unknown socket error (zmq)"; + LOG(logERROR) << "Unknown socket error (zmq). Error code: " << errno; break; } } diff --git a/slsSupportLib/tests/test-ToString.cpp b/slsSupportLib/tests/test-ToString.cpp index 5018a77ea..4fa3ac1af 100644 --- a/slsSupportLib/tests/test-ToString.cpp +++ b/slsSupportLib/tests/test-ToString.cpp @@ -357,4 +357,17 @@ TEST_CASE("string to speedLevel") { REQUIRE(StringTo("144") == defs::speedLevel::G2_144MHZ); } +// Timing Info Decoder +TEST_CASE("timingInfoDecoder to string") { + REQUIRE(ToString(defs::timingInfoDecoder::SWISSFEL) == "swissfel"); + REQUIRE(ToString(defs::timingInfoDecoder::SHINE) == "shine"); +} + +TEST_CASE("string to timingInfoDecoder") { + REQUIRE(StringTo("swissfel") == + defs::timingInfoDecoder::SWISSFEL); + REQUIRE(StringTo("shine") == + defs::timingInfoDecoder::SHINE); +} + } // namespace sls diff --git a/slsSupportLib/tests/test-ZmqSocket.cpp b/slsSupportLib/tests/test-ZmqSocket.cpp index 8dba7fc8b..441ba9501 100644 --- a/slsSupportLib/tests/test-ZmqSocket.cpp +++ b/slsSupportLib/tests/test-ZmqSocket.cpp @@ -17,14 +17,14 @@ TEST_CASE("Get port number for sub") { TEST_CASE("Get port number for pub") { constexpr int port = 50001; - ZmqSocket pub(port, "*"); + ZmqSocket pub(port); REQUIRE(pub.GetPortNumber() == port); } TEST_CASE("Server address") { constexpr int port = 50001; - ZmqSocket pub(port, "*"); - REQUIRE(pub.GetZmqServerAddress() == std::string("tcp://*:50001")); + ZmqSocket pub(port); + REQUIRE(pub.GetZmqServerAddress() == std::string("tcp://0.0.0.0:50001")); } TEST_CASE("Send header on localhost") { @@ -32,7 +32,7 @@ TEST_CASE("Send header on localhost") { ZmqSocket sub("localhost", port); sub.Connect(); - ZmqSocket pub(port, "*"); + ZmqSocket pub(port); // Header to send zmqHeader header; @@ -67,7 +67,7 @@ TEST_CASE("Send serveral headers of different length") { ZmqSocket sub("localhost", port); sub.Connect(); - ZmqSocket pub(port, "*"); + ZmqSocket pub(port); zmqHeader header; header.data = false; // if true we wait for the data @@ -95,7 +95,7 @@ TEST_CASE("Send header and data") { ZmqSocket sub("localhost", port); sub.Connect(); - ZmqSocket pub(port, "*"); + ZmqSocket pub(port); std::vector data{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; const int nbytes = data.size() * sizeof(decltype(data)::value_type);