diff --git a/CMakeLists.txt b/CMakeLists.txt index d7d325436..6124fd40f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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/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/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 69620e7f4..40af40c09 100644 --- a/slsDetectorCalibration/moenchExecutables/moenchRawDataProcess.cpp +++ b/slsDetectorCalibration/moenchExecutables/moenchRawDataProcess.cpp @@ -175,13 +175,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(100); + moench03v2Data *decoder = new moench03v2Data(nrows/2); cout << "MOENCH03!" << endl; #endif @@ -299,6 +298,7 @@ int main(int argc, char *argv[]) { double *ped=new double[nx * ny];//, *ped1; int pos,pos1; //return 0; + if (pedfile.find(".raw") != std::string::npos) { pos1=pedfile.rfind("/"); strcpy(froot,pedfile.substr(pos1).c_str()); @@ -336,9 +336,8 @@ int main(int argc, char *argv[]) { } filebin.close(); while (mt->isBusy()) { - ; - - } + ; + } sprintf(imgfname, "%s/%s_ped.tiff", outdir.c_str(),froot); mt->writePedestal(imgfname); @@ -463,7 +462,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 d2d43e005..8d20767cd 100644 --- a/slsDetectorCalibration/moenchExecutables/moenchZmqProcess.cpp +++ b/slsDetectorCalibration/moenchExecutables/moenchZmqProcess.cpp @@ -296,12 +296,11 @@ int main(int argc, char *argv[]) { if (send) { // receive socket try { - zmqsocket2 = new sls::ZmqSocket(portnum2, socketip2.c_str()); + zmqsocket2 = new sls::ZmqSocket(portnum2); } catch (...) { cprintf(RED, - "Error: Could not create Zmq sending socket 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; 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 3e126762b..c2df7922b 100644 --- a/slsDetectorGui/src/qTabMeasurement.cpp +++ b/slsDetectorGui/src/qTabMeasurement.cpp @@ -839,7 +839,7 @@ void qTabMeasurement::UpdateProgress() { int qTabMeasurement::VerifyOutputDirectoryError() { try { auto retval = det->getFilePath(); - for (size_t i = 0; i < retval.size(); i++) { + 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 393f0753a..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 2e53d0ed6..d318dc8c8 100644 --- a/slsDetectorServers/eigerDetectorServer/FebControl.c +++ b/slsDetectorServers/eigerDetectorServer/FebControl.c @@ -1251,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; @@ -1637,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; } @@ -1666,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) { @@ -1675,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}; @@ -1720,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 333c4a93b..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 4dd91e5de..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 f53bbc07d..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 @@ -403,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; @@ -460,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, @@ -528,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); @@ -1068,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; @@ -1329,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; } @@ -1337,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; } @@ -1356,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; } @@ -2159,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")); @@ -3420,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)); @@ -3428,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 edd0f6c62..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) @@ -57,6 +61,7 @@ #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 fc95ba9f8..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 1e3275b24..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 04ff1a3f8..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 @@ -567,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) { @@ -2610,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 3a7336a30..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 b564f21af..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) 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 c879e7748..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 03d6a2d9e..6fd3fb00a 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorFunctionList.c @@ -396,11 +396,7 @@ void initStopServer() { return; } #ifdef VIRTUAL - sharedMemory_setStop(0); - if (checkCommandLineConfiguration() == FAIL) { - initCheckDone = 1; - return; - } + setupDetector(); #endif } initCheckDone = 1; @@ -455,8 +451,6 @@ 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; @@ -466,22 +460,20 @@ void setupDetector() { 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); - // change startup clock divider in software - // because firmware only sets max clock divider - setClockDividerWithTimeUpdateOption(READOUT_C0, DEFAULT_READOUT_C0_STARTUP, - 0); // hv DAC6571_SetDefines(HV_HARD_MAX_VOLTAGE, HV_DRIVER_FILE_NAME); @@ -552,6 +544,7 @@ void setupDetector() { } setAllTrimbits(DEFAULT_TRIMBIT_VALUE); + setReadoutSpeed(DEFAULT_READOUT_SPEED); } int resetToDefaultDacs(int hardReset) { @@ -2246,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; @@ -2318,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(); } @@ -2358,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 @@ -2392,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) { @@ -2422,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 5ba93057c..c3583aacf 100644 --- a/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/mythen3DetectorServer/slsDetectorServer_defs.h @@ -57,15 +57,16 @@ #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 DEFAULT_READOUT_C0_STARTUP (20) //(50000000) // rdo_clk, 50 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) @@ -73,12 +74,11 @@ #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) @@ -140,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/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 6f10794da..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 readParameterFromFile(char *fname, char *parameterName, 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 2adee7178..0a943f7b6 100644 --- a/slsDetectorServers/slsDetectorServer/include/programViaArm.h +++ b/slsDetectorServers/slsDetectorServer/include/programViaArm.h @@ -9,4 +9,8 @@ int loadDeviceTree(char *mess); int checksBeforeCreatingDeviceTree(char *mess); int createDeviceTree(char *mess); -int verifyDeviceTree(char *mess); \ 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 985c1bdb1..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 @@ -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 @@ -606,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 @@ -652,7 +658,8 @@ 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, char *mess); 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/arm64.c b/slsDetectorServers/slsDetectorServer/src/arm64.c index 44a990e9d..0c1cbc67f 100644 --- a/slsDetectorServers/slsDetectorServer/src/arm64.c +++ b/slsDetectorServers/slsDetectorServer/src/arm64.c @@ -50,6 +50,7 @@ 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}; @@ -58,7 +59,7 @@ int mapCSP0(void) { 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(memsize[i]); if (*cspbases[i] == NULL) { @@ -67,7 +68,7 @@ int mapCSP0(void) { 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) { @@ -75,7 +76,7 @@ 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, memsize[i], PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED, fd, csps[i]); @@ -85,11 +86,11 @@ int mapCSP0(void) { } #endif LOG(logINFO, - ("%s mapped of size %d from %p to %p,(CSP:0x%x) \n", names[i], + ("\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 8ef550ffc..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) { @@ -758,4 +735,60 @@ int readParameterFromFile(char *fname, char *parameterName, int *value) { 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 61e8c029e..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); @@ -56,54 +55,54 @@ int loadDeviceTree(char *mess) { 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)); @@ -131,20 +129,27 @@ int createDeviceTree(char *mess) { int verifyDeviceTree(char *mess) { LOG(logINFOBLUE, ("Verifying Device Tree...\n")); -#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 @@ -157,24 +162,26 @@ int verifyDeviceTree(char *mess) { 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; } 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; } } @@ -183,7 +190,63 @@ int verifyDeviceTree(char *mess) { if (hardcodedDeviceIndex == 5) hardcodedDeviceIndex = 1; } + LOG(logINFOBLUE, ("Device tree verified successfully [temp: 0, adc:%d, " + "dac:%d, %d, %d]\n", + adcDeviceIndex, dacDeviceIndex, dacDeviceIndex + 1, + dacDeviceIndex + 2)); + + return createSymbolicLinksForDevices(adcDeviceIndex, dacDeviceIndex, mess); #endif - LOG(logINFOBLUE, ("Device tree verified successfully\n")); +} + +#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 507611403..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) { @@ -1649,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, @@ -1690,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) { @@ -1707,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, @@ -1718,6 +1715,8 @@ int read_register(int file_des) { addr); LOG(logERROR, (mess)); } +#elif GOTTHARDD + retval = readRegister16And32(addr); #else retval = readRegister(addr); #endif @@ -4711,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 @@ -4790,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 @@ -6012,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; @@ -6081,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; } @@ -6750,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: @@ -8470,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"); @@ -9689,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 @@ -9713,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 @@ -9729,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: @@ -10593,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) { @@ -10612,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)); } @@ -10637,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) { @@ -10656,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)); } @@ -11080,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/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 1428e465c..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 aa3d3bf17..142063da0 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorFunctionList.c @@ -387,15 +387,15 @@ void setupDetector() { initializePatternWord(); #endif // initialization only at start up (restart fpga) - // initError = waitTransceiverReset(initErrorMessage); - // if (initError == FAIL) { - // return; - // } - // // power off chip + initError = waitTransceiverReset(initErrorMessage); + if (initError == FAIL) { + return; + } + // power off chip initError = powerChip(0, initErrorMessage); - // if (initError == FAIL) { - // return; - // } + if (initError == FAIL) { + return; + } LTC2620_D_SetDefines(DAC_MIN_MV, DAC_MAX_MV, DAC_DRIVER_FILE_NAME, NDAC, NPWR, DAC_POWERDOWN_DRIVER_FILE_NAME); @@ -469,11 +469,6 @@ int waitTransceiverReset(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); @@ -557,9 +552,6 @@ int powerChip(int on, char *mess) { if (configureChip(mess) == FAIL) return FAIL; - startPeriphery(); - - chipConfigured = 1; } else { LOG(logINFOBLUE, ("Powering chip: off\n")); bus_w(addr, bus_r(addr) & ~mask); @@ -573,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")); @@ -598,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 @@ -615,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) { @@ -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 f69d721c8..54cb758de 100644 --- a/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/xilinx_ctbDetectorServer/slsDetectorServer_defs.h @@ -25,16 +25,20 @@ #define DYNAMIC_RANGE (16) #define NUM_BYTES_PER_PIXEL (DYNAMIC_RANGE / 8) -#define DAC_DRIVER_FILE_NAME ("/root/apps/xilinx-ctb/current_board_links/ao%d") -#define DAC_POWERDOWN_DRIVER_FILE_NAME \ - ("/root/apps/xilinx-ctb/current_board_links/ao%d_pd") +#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 \ - ("/root/apps/xilinx-ctb/mythenIII_0.2_1.1/links/ai%d") -// #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) diff --git a/slsDetectorSoftware/generator/Caller.in.h b/slsDetectorSoftware/generator/Caller.in.h index 89b633095..79043d514 100644 --- a/slsDetectorSoftware/generator/Caller.in.h +++ b/slsDetectorSoftware/generator/Caller.in.h @@ -66,7 +66,7 @@ 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 @@ -81,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 55aba7968..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,7 +395,7 @@ 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 @@ -435,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}, @@ -631,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}, @@ -665,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}, @@ -734,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 0b6599015..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") { @@ -258,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 { @@ -648,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) { @@ -1159,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/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/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 3582cb372..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(); @@ -1539,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(); @@ -1570,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(); @@ -1649,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(); @@ -1680,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(); @@ -1724,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(); @@ -1774,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(); @@ -1826,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(); @@ -1968,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(); @@ -1998,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(); @@ -2015,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(); @@ -2051,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(); @@ -2118,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(); @@ -2143,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)); @@ -2186,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)); @@ -2230,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)); @@ -2238,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 @@ -2277,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 @@ -2322,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(); @@ -2361,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)); { @@ -2386,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}); } @@ -2428,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; @@ -2558,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)); @@ -2567,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(); @@ -2607,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(); @@ -2622,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(); @@ -2638,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(); @@ -2651,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)); @@ -2659,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(); @@ -2693,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(); @@ -2716,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(); @@ -2743,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(); @@ -2765,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(); @@ -2777,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(); @@ -2801,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(); @@ -2814,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(); @@ -2843,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); @@ -2881,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(); @@ -2912,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(); @@ -2940,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(); @@ -3016,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); @@ -3071,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; @@ -3083,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(); @@ -3116,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(); @@ -3151,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(); @@ -3167,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(); @@ -3183,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(); @@ -3202,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(); @@ -3219,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(); @@ -3237,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(); @@ -3245,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); @@ -3253,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 @@ -3262,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); @@ -3280,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(); @@ -3289,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(); @@ -3311,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(); @@ -3339,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 @@ -3348,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(); @@ -3366,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(); @@ -3383,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(); @@ -3405,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(); @@ -3433,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(); @@ -3457,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(); @@ -3481,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(); @@ -3505,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(); @@ -3529,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); @@ -3547,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); @@ -3565,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); @@ -3575,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/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/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 96b1f8a43..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, @@ -224,20 +270,6 @@ typedef struct { READOUT_ZMQ_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 - /** use of the external signals */ @@ -487,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 c69f5b548..3ed903583 100644 --- a/slsSupportLib/include/sls/versionAPI.h +++ b/slsSupportLib/include/sls/versionAPI.h @@ -4,11 +4,11 @@ #define RELEASE "developer" #define APILIB "developer 0x230224" #define APIRECEIVER "developer 0x230224" -#define APICTB "developer 0x240820" -#define APIGOTTHARD "developer 0x240820" -#define APIGOTTHARD2 "developer 0x240820" -#define APIMYTHEN3 "developer 0x240820" -#define APIMOENCH "developer 0x240820" -#define APIEIGER "developer 0x240820" -#define APIXILINXCTB "developer 0x240820" -#define APIJUNGFRAU "developer 0x240822" +#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" 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);