Sfoglia il codice sorgente

Add support for `using` on relative pointers #670

gingerBill 5 anni fa
parent
commit
4acae2af44
1 ha cambiato i file con 7 aggiunte e 2 eliminazioni
  1. 7 2
      src/types.cpp

+ 7 - 2
src/types.cpp

@@ -956,10 +956,15 @@ Type *alloc_type_simd_vector(i64 count, Type *elem) {
 Type *type_deref(Type *t) {
 	if (t != nullptr) {
 		Type *bt = base_type(t);
-		if (bt == nullptr)
+		if (bt == nullptr) {
 			return nullptr;
-		if (bt != nullptr && bt->kind == Type_Pointer)
+		}
+		if (bt != nullptr && bt->kind == Type_Pointer) {
 			return bt->Pointer.elem;
+		}
+		if (bt != nullptr && bt->kind == Type_RelativePointer) {
+			return type_deref(bt->RelativePointer.pointer_type);
+		}
 	}
 	return t;
 }