Explorar o código

* Define RTTI directive parameters

Ryan Joseph %!s(int64=2) %!d(string=hai) anos
pai
achega
bc72021039
Modificáronse 1 ficheiros con 25 adicións e 0 borrados
  1. 25 0
      compiler/globtype.pas

+ 25 - 0
compiler/globtype.pas

@@ -941,6 +941,31 @@ interface
 
    Const AllTransformations = [Low(tfilenametransformation)..high(tfilenametransformation)];
 
+  { extended rtti directive }
+  type
+    trtti_clause = (
+      rtc_none,
+      rtc_inherit,
+      rtc_explicit
+    );
+    trtti_visibility = (
+      rv_private,
+      rv_protected,
+      rv_public,
+      rv_published
+    );
+    trtti_visibilities = set of trtti_visibility;
+    prtti_visibilities = ^trtti_visibilities;
+    trtti_option = (
+     ro_methods,
+     ro_fields,
+     ro_properties
+    );
+    trtti_directive = record
+      clause: trtti_clause;
+      options: array[trtti_option] of trtti_visibilities;
+    end;
+
 implementation
 
 end.