diff --git a/source/tlang/compiler/symbols/typing.d b/source/tlang/compiler/symbols/typing.d index b68d494..002d18a 100644 --- a/source/tlang/compiler/symbols/typing.d +++ b/source/tlang/compiler/symbols/typing.d @@ -17,6 +17,58 @@ import compiler.symbols.data; public class Type : Entity { + /** + * TODO: See what we need in here, Entity name could be our Type name + * But to make it look nice we could just have `getType` + * Actually yeah, we should, as Number types won't be entities + * Wait lmao they will + */ + this(string name) + { + super(name); + } +} + +public class Number : Type +{ + this(string name) + { + super(name); + } +} + +public class Integer : Number +{ + /* Number of bytes (1,2,4,8) */ + private ubyte width; + + this(string name) + { + super(name); + } +} + +public class Float : Number +{ + this(string name) + { + super(name); + } +} + +public class Double : Number +{ + this(string name) + { + super(name); + } +} + +public class Pointer : Type +{ + /* Datum wdith */ + private ubyte datumWidth; + this(string name) { super(name);