CIRCT  19.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 359 of file FIRParser.cpp.

Constructor & Destructor Documentation

◆ LocWithInfo()

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

Definition at line 361 of file FIRParser.cpp.

Member Function Documentation

◆ getFIRLoc()

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

Definition at line 364 of file FIRParser.cpp.

◆ getLoc()

Location FIRParser::LocWithInfo::getLoc ( )
inline

Definition at line 366 of file FIRParser.cpp.

◆ parseOptionalInfo()

ParseResult FIRParser::LocWithInfo::parseOptionalInfo ( )
inline

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

Definition at line 375 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 399 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 409 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 412 of file FIRParser.cpp.

◆ parser

FIRParser* const FIRParser::LocWithInfo::parser
private

Definition at line 405 of file FIRParser.cpp.


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