LangType class abstract

Abstract base class for all language types in Balbismo.

This class serves as the foundation for the type system, providing common functionality for type representation and LLVM IR generation. All concrete types in Balbismo (primitive types, arrays, etc.) inherit from this class.

The class uses Equatable for proper equality comparison based on the underlying primitive type, ensuring type compatibility checks work correctly.

Inheritance
Implementers

Constructors

LangType.new(PrimitiveTypes primitiveType)
Constructs a language type with the specified primitive type.
const

Properties

hashCode int
The hash code for this object.
no setterinherited
irType String
Returns the LLVM IR type representation for this language type.
no setter
primitiveType PrimitiveTypes
The underlying primitive type that forms the basis of this language type.
final
props List<Object>
Equatable implementation for proper type comparison.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stringify bool?
If set to true, the toString method will be overridden to output this instance's props.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
Returns the LLVM IR type string representation of this language type.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited