32 lines
653 B
Rust
32 lines
653 B
Rust
use crate::source_range::SourceRange;
|
|
use crate::type_info::TypeInfo;
|
|
|
|
pub struct IntegerLiteral {
|
|
value: i32,
|
|
source_range: SourceRange,
|
|
type_info: &'static TypeInfo,
|
|
}
|
|
|
|
impl IntegerLiteral {
|
|
pub fn new(value: i32, source_range: SourceRange) -> Self {
|
|
const TYPE_INFO: TypeInfo = TypeInfo::Integer;
|
|
Self {
|
|
value,
|
|
source_range,
|
|
type_info: &TYPE_INFO,
|
|
}
|
|
}
|
|
|
|
pub fn value(&self) -> i32 {
|
|
self.value
|
|
}
|
|
|
|
pub fn type_info(&self) -> &TypeInfo {
|
|
&self.type_info
|
|
}
|
|
|
|
pub fn source_range(&self) -> &SourceRange {
|
|
&self.source_range
|
|
}
|
|
}
|