55 Lox_Info(
"Reading source file {!Q} of size {}",
61 srcFileNode.AssembleRealPath(path, lang::Inclusion::Include); }
69 Lox_Info(
"Reading source file: {}", path )
72 if(errc != std::errc()) {
89 while ( !mfc.
IsEOF() ) {
91 if (c ==
'\n') { lineNo++; lineStartRemaining= mfc.
Remaining();
continue; }
92 if (c !=
'#' ) {
continue; }
103 if (c ==
'#' ) {
continue;}
114 if ( !isalpha(c) &&
String(
".%^_<").IndexOf(c) < 0 ) {
120 int colNo= int(lineStartRemaining - mfc.
Remaining() - 2);
123 {
auto exclIt= exclamations.begin();
124 for (; exclIt!=exclamations.end(); ++exclIt )
125 if ( (*exclIt)->Matches(lineNo, colNo ) )
127 if (exclIt != exclamations.end()) {
132 bool suppressedAnchor;
133 linkString.
Reset(c); {
134 bool foundEnd=
false;
137 if ( c ==
'\\') { linkString.
_<
NC>(c); linkString.
_<
NC>(mfc.
Next());
continue; }
138 if ( c ==
'\"') { foundEnd=
true;
break;}
139 if ( c ==
'\n') { lineNo++;
break; }
141 if (linkString.
Length() == 511 ) {
142 Lox_Warning(
"Found unterminated XLink pattern {!Q} in source file {}:{}:{}",
143 linkString, path, lineNo, colNo )
147 if ( !foundEnd )
continue;
148 if (suppressedAnchor)
154 XLink* xLink=
dxl.RegisterXLink(linkString);
156 if (verbosity >= Verbosity::Info)
157 Lox_Info(
"Found XLink pattern {!Q} in source file {}:{}:{}",
158 linkString, path, lineNo, colNo )
171 dxl.Stats.SourceFileLines.fetch_add(lineNo);
#define ALIB_LOCK_SHARED_WITH(lock)
#define ALIB_LOCK_WITH(lock)
#define Lox_SetDomain(...)
#define Lox_GetVerbosity(result,...)
constexpr const TChar * Terminate() const
TAString & Trim(const TCString< TChar > &trimChars=CStringConstantsTraits< TChar >::DefaultWhitespaces())
constexpr integer Length() const
TChar CharAtStart() const
integer Remaining() const noexcept
bool IsEOF() const noexcept
std::errc Open(const CPathString &path, std::size_t knownSize=(std::numeric_limits< std::size_t >::max)(), bool disableMMap=false, bool willNeed=true)
Data< T > GetData() const noexcept
alib::Lock Lock
The lock protecting the creation phase and as well allocator access.
alib::StdVectorMA< Location > SourceLocations
strings::TString< character > String
system::MappedFile MappedFile
std::vector< T, StdMA< T > > StdVectorMA
LocalString< 512 > String512
alib::StdVectorMA< ResolvedLocation > XLinkList
@ CantOpenSrcFile
A source file was not found or could not be accessed.
DXLPoolWorker * poolWorker
The pool worker that executes this job.
alib::filetree::FTFile srcFileNode
The source-file to load and search for DoxygenXLinks links.