1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 21:54:58 +00:00
serenity/Meta/Lagom/Tools/CodeGenerators/JSSpecCompiler/Parser/SpecificationParsingContext.cpp
Dan Klishch 7ea2138b6c JSSpecCompiler: Split Parser/SpecParser.cpp into 8 files
This SpecParser.cpp had an ever increasing number of lines and contained
an implementation of 8 different classes. So I figured out it's about
the time to split it.

No behavior change.
2024-03-14 18:34:13 -06:00

46 lines
1 KiB
C++

/*
* Copyright (c) 2023-2024, Dan Klishch <danilklishch@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include "Parser/SpecParser.h"
namespace JSSpecCompiler {
TranslationUnitRef SpecificationParsingContext::translation_unit()
{
return m_translation_unit;
}
DiagnosticEngine& SpecificationParsingContext::diag()
{
return m_translation_unit->diag();
}
LogicalLocation& SpecificationParsingContext::current_logical_scope()
{
return *m_current_logical_scope;
}
int SpecificationParsingContext::step_list_nesting_level() const
{
return m_step_list_nesting_level;
}
Location SpecificationParsingContext::file_scope() const
{
return { .filename = m_translation_unit->filename() };
}
Location SpecificationParsingContext::location_from_xml_offset(LineTrackingLexer::Position position) const
{
return {
.filename = m_translation_unit->filename(),
.line = position.line,
.column = position.column,
.logical_location = m_current_logical_scope,
};
}
}