1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-24 18:48:01 +02:00

Added nullable(T), Result<T> can use null conditionals

This commit is contained in:
Brian Fiete 2020-04-27 15:09:10 -07:00
parent 336226d686
commit 68bf7bc801
19 changed files with 343 additions and 210 deletions

View file

@ -489,7 +489,7 @@ public:
virtual bool IsTuple() { return false; }
virtual bool IsOnDemand() { return false; }
virtual bool IsTemporary() { return false; }
virtual bool IsRetTypeType() { return false; }
virtual bool IsModifiedTypeType() { return false; }
virtual bool IsConcreteInterfaceType() { return false; }
virtual bool IsTypeAlias() { return false; }
virtual bool HasPackingHoles() { return false; }
@ -921,13 +921,14 @@ public:
virtual bool IsReified() override { return false; }
};
// This just captures rettype(T) since it can't be resolved directly
class BfRetTypeType : public BfType
// This just captures rettype(T)/nullable(T) since it can't be resolved directly
class BfModifiedTypeType : public BfType
{
public:
BfToken mModifiedKind;
BfType* mElementType;
virtual bool IsRetTypeType() override { return true; }
virtual bool IsModifiedTypeType() override { return true; }
virtual bool CanBeValuelessType() override { return true; }
virtual bool IsValuelessType() override { return true; }