CIRCT  20.0.0git
Public Member Functions | Private Attributes | List of all members
FIRParser::LocWithInfo Class Reference

This helper class is used to handle Info records, which specify higher level symbolic source location, that may be missing from the file. More...

Collaboration diagram for FIRParser::LocWithInfo:
Collaboration graph
[legend]

Public Member Functions

 LocWithInfo (SMLoc firLoc, FIRParser *parser)
 
SMLoc getFIRLoc () const
 
Location getLoc ()
 
ParseResult parseOptionalInfo ()
 Parse an @info marker if present and update our location. More...
 
void setDefaultLoc (Location loc)
 If we didn't parse an info locator for the specified value, this sets a default, overriding a fall back to a location in the .fir file. More...
 

Private Attributes

FIRParser *const parser
 
SMLoc firLoc
 This is the designated location in the .fir file for use when there is no @ info marker. More...
 
std::optional< Location > infoLoc
 This is the location specified by the @ marker if present. More...
 

Detailed Description

This helper class is used to handle Info records, which specify higher level symbolic source location, that may be missing from the file.

If the higher level source information is missing, we fall back to the location in the .fir file.

Definition at line 377 of file FIRParser.cpp.

Constructor & Destructor Documentation

◆ LocWithInfo()

FIRParser::LocWithInfo::LocWithInfo ( SMLoc  firLoc,
FIRParser *  parser 
)
inlineexplicit

Definition at line 379 of file FIRParser.cpp.

Member Function Documentation

◆ getFIRLoc()

SMLoc FIRParser::LocWithInfo::getFIRLoc ( ) const
inline

Definition at line 382 of file FIRParser.cpp.

◆ getLoc()

Location FIRParser::LocWithInfo::getLoc ( )
inline

Definition at line 384 of file FIRParser.cpp.

◆ parseOptionalInfo()

ParseResult FIRParser::LocWithInfo::parseOptionalInfo ( )
inline

Parse an @info marker if present and update our location.

Definition at line 393 of file FIRParser.cpp.

References assert(), and circt::calyx::direction::get().

◆ setDefaultLoc()

void FIRParser::LocWithInfo::setDefaultLoc ( Location  loc)
inline

If we didn't parse an info locator for the specified value, this sets a default, overriding a fall back to a location in the .fir file.

Definition at line 417 of file FIRParser.cpp.

Member Data Documentation

◆ firLoc

SMLoc FIRParser::LocWithInfo::firLoc
private

This is the designated location in the .fir file for use when there is no @ info marker.

Definition at line 427 of file FIRParser.cpp.

◆ infoLoc

std::optional<Location> FIRParser::LocWithInfo::infoLoc
private

This is the location specified by the @ marker if present.

Definition at line 430 of file FIRParser.cpp.

◆ parser

FIRParser* const FIRParser::LocWithInfo::parser
private

Definition at line 423 of file FIRParser.cpp.


The documentation for this class was generated from the following file: