Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
zorba::internal::diagnostic::location Class Reference

A location holds the file location of an error. More...

#include <zorba/internal/diagnostic.h>

Collaboration diagram for zorba::internal::diagnostic::location:
Collaboration graph
[legend]

Public Types

typedef unsigned short column_type
 The column-number type. More...
 
typedef unsigned line_type
 The line-number type. More...
 

Public Member Functions

column_type column () const
 Gets the column number, if any. More...
 
column_type column_end () const
 Gets the ending column number, if any. More...
 
char const * file () const
 Gets the file name, if any. More...
 
line_type line () const
 Gets the line number, if any. More...
 
line_type line_end () const
 Gets the ending line number, if any. More...
 
 location ()
 Constructs a default (empty) location. More...
 
 location (char const *file, line_type line, column_type column=0, line_type line_end=0, column_type column_end=0)
 Constructs a location. More...
 
template<class StringType >
 location (StringType const &file, line_type line, column_type column=0, line_type line_end=0, column_type column_end=0)
 Constructs a location. More...
 
 operator bool () const
 Conversion to bool for testing whether this location has been set. More...
 
bool operator! () const
 Checks whether this location has not been set. More...
 
void set (char const *file, line_type line, column_type column=0, line_type line_end=0, column_type column_end=0)
 Sets the location information. More...
 

Static Public Attributes

static location const empty
 A empty instance for convenience. More...
 

Friends

void serialization::operator& (serialization::Archiver &, location &)
 

Detailed Description

A location holds the file location of an error.

Definition at line 47 of file internal/diagnostic.h.

Member Typedef Documentation

The column-number type.

Definition at line 57 of file internal/diagnostic.h.

The line-number type.

Definition at line 52 of file internal/diagnostic.h.

Constructor & Destructor Documentation

zorba::internal::diagnostic::location::location ( )
inline

Constructs a default (empty) location.

Definition at line 67 of file internal/diagnostic.h.

zorba::internal::diagnostic::location::location ( char const *  file,
line_type  line,
column_type  column = 0,
line_type  line_end = 0,
column_type  column_end = 0 
)
inline

Constructs a location.

Parameters
fileThe name of the file where the error occurred.
lineThe line number of the file where the expression that raises the error begins.
columnThe column number, if any, of the file where the expression that raises the error begins.
line_endThe end line number, if any, of the file where the expression causing the error ends.
column_endThe end column number, if any, of the file where the xpression causing the error ends.

Definition at line 83 of file internal/diagnostic.h.

template<class StringType >
zorba::internal::diagnostic::location::location ( StringType const &  file,
line_type  line,
column_type  column = 0,
line_type  line_end = 0,
column_type  column_end = 0 
)
inline

Constructs a location.

Template Parameters
StringTypeThe string type for file.
Parameters
fileThe name of the file where the error occurred.
lineThe line number of the file where the error occurred.
columnThe column number, if any, of the file where the error occurred.
line_endThe end line number, if any, of the file where the expression causing the error ends.
column_endThe end column number, if any, of the file where the xpression causing the error ends.

Definition at line 104 of file internal/diagnostic.h.

Member Function Documentation

column_type zorba::internal::diagnostic::location::column ( ) const
inline

Gets the column number, if any.

Returns
Returns the column number or 0 if unset.

Definition at line 134 of file internal/diagnostic.h.

column_type zorba::internal::diagnostic::location::column_end ( ) const
inline

Gets the ending column number, if any.

Returns
Returns the column number or 0 if unset.

Definition at line 152 of file internal/diagnostic.h.

char const* zorba::internal::diagnostic::location::file ( ) const
inline

Gets the file name, if any.

Returns
Returns the file name or the empty string if unset.

Definition at line 116 of file internal/diagnostic.h.

line_type zorba::internal::diagnostic::location::line ( ) const
inline

Gets the line number, if any.

Returns
Returns the line number or 0 if unset.

Definition at line 125 of file internal/diagnostic.h.

line_type zorba::internal::diagnostic::location::line_end ( ) const
inline

Gets the ending line number, if any.

Returns
Returns the line number or 0 if unset.

Definition at line 143 of file internal/diagnostic.h.

zorba::internal::diagnostic::location::operator bool ( ) const
inline

Conversion to bool for testing whether this location has been set.

Returns
Returns true only if this location has been set.

Definition at line 161 of file internal/diagnostic.h.

bool zorba::internal::diagnostic::location::operator! ( ) const
inline

Checks whether this location has not been set.

Returns
Returns true only if this location has not been set.

Definition at line 170 of file internal/diagnostic.h.

void zorba::internal::diagnostic::location::set ( char const *  file,
line_type  line,
column_type  column = 0,
line_type  line_end = 0,
column_type  column_end = 0 
)
inline

Sets the location information.

Parameters
fileThe name of the file where the error occurred.
lineThe line number of the file where the error occurred.
columnThe column number, if any, of the file where the error occurred.
line_endThe end line of the file where the error occured.
column_endThe column number, if any, where the error ends. occurred.

Definition at line 185 of file internal/diagnostic.h.

Friends And Related Function Documentation

void serialization::operator& ( serialization::Archiver &  ,
location  
)
friend

Member Data Documentation

location const zorba::internal::diagnostic::location::empty
static

A empty instance for convenience.

Definition at line 62 of file internal/diagnostic.h.


The documentation for this class was generated from the following file:
blog comments powered by Disqus