Skip to content

Commit c130158

Browse files
cirrasfourls
authored andcommitted
Fix various name resolution failures in our standard library stubs
1 parent a0df272 commit c130158

File tree

1 file changed

+89
-5
lines changed

1 file changed

+89
-5
lines changed

delphi-checks-testkit/src/main/java/au/com/integradev/delphi/checks/verifier/CheckVerifierImpl.java

Lines changed: 89 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -557,9 +557,54 @@ private Path createStandardLibrary() {
557557
+ "\n"
558558
+ "interface\n"
559559
+ "\n"
560+
+ "const\n"
561+
+ " vtInteger = 0;\n"
562+
+ " vtBoolean = 1;\n"
563+
+ " vtChar = 2;\n"
564+
+ " vtExtended = 3;\n"
565+
+ " vtString = 4;\n"
566+
+ " vtPointer = 5;\n"
567+
+ " vtPChar = 6;\n"
568+
+ " vtObject = 7;\n"
569+
+ " vtClass = 8;\n"
570+
+ " vtWideChar = 9;\n"
571+
+ " vtPWideChar = 10;\n"
572+
+ " vtAnsiString = 11;\n"
573+
+ " vtCurrency = 12;\n"
574+
+ " vtVariant = 13;\n"
575+
+ " vtInterface = 14;\n"
576+
+ " vtWideString = 15;\n"
577+
+ " vtInt64 = 16;\n"
578+
+ " vtUnicodeString = 17;\n"
579+
+ "\n"
560580
+ "type\n"
581+
+ " Int8 = ShortInt;\n"
582+
+ " Int16 = SmallInt;\n"
583+
+ " Int32 = Integer;\n"
584+
+ " IntPtr = NativeInt;\n"
585+
+ " UInt8 = Byte;\n"
586+
+ " UInt16 = Word;\n"
587+
+ " UInt32 = Cardinal;\n"
588+
+ " UIntPtr = NativeUInt;\n"
589+
+ " Float32 = Single;\n"
590+
+ " Float64 = Double;\n"
591+
+ "\n"
592+
+ " HRESULT = type Int32;\n"
593+
+ "\n"
561594
+ " TArray<T> = array of T;\n"
562595
+ "\n"
596+
+ " PGUID = ^TGUID;\n"
597+
+ " TGUID = record\n"
598+
+ " end;\n"
599+
+ "\n"
600+
+ " PInterfaceEntry = ^TInterfaceEntry;\n"
601+
+ " TInterfaceEntry = packed record\n"
602+
+ " end;\n"
603+
+ "\n"
604+
+ " PInterfaceTable = ^TInterfaceTable;\n"
605+
+ " TInterfaceTable = packed record\n"
606+
+ " end;\n"
607+
+ "\n"
563608
+ " TObject = class;\n"
564609
+ "\n"
565610
+ " TClass = class of TObject;\n"
@@ -589,11 +634,11 @@ private Path createStandardLibrary() {
589634
+ " class function ClassInfo: Pointer; inline;\n"
590635
+ " class function InstanceSize: Longint; inline;\n"
591636
+ " class function InheritsFrom(AClass: TClass): Boolean;\n"
592-
+ " class function MethodAddress(const Name: _ShortStr): Pointer; overload;\n"
637+
+ " class function MethodAddress(const Name: ShortString): Pointer; overload;\n"
593638
+ " class function MethodAddress(const Name: string): Pointer; overload;\n"
594639
+ " class function MethodName(Address: Pointer): string;\n"
595640
+ " class function QualifiedClassName: string;\n"
596-
+ " function FieldAddress(const Name: _ShortStr): Pointer; overload;\n"
641+
+ " function FieldAddress(const Name: ShortString): Pointer; overload;\n"
597642
+ " function FieldAddress(const Name: string): Pointer; overload;\n"
598643
+ " function GetInterface(const IID: TGUID; out Obj): Boolean;\n"
599644
+ " class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;\n"
@@ -620,6 +665,8 @@ private Path createStandardLibrary() {
620665
+ " function _Release: Integer; stdcall;\n"
621666
+ " end;\n"
622667
+ "\n"
668+
+ " IUnknown = IInterface;\n"
669+
+ "\n"
623670
+ " IEnumerator = interface(IInterface)\n"
624671
+ " function GetCurrent: TObject;\n"
625672
+ " function MoveNext: Boolean;\n"
@@ -652,17 +699,54 @@ private Path createStandardLibrary() {
652699
+ " function Equals(Value: T): Boolean;\n"
653700
+ " end;\n"
654701
+ "\n"
702+
+ " PLongInt = ^LongInt;\n"
703+
+ " PInteger = ^Integer;\n"
704+
+ " PCardinal = ^Cardinal;\n"
705+
+ " PWord = ^Word;\n"
706+
+ " PSmallInt = ^SmallInt;\n"
707+
+ " {$POINTERMATH ON}\n"
708+
+ " PByte = ^Byte;\n"
709+
+ " {$POINTERMATH OFF}\n"
710+
+ " PShortInt = ^ShortInt;\n"
711+
+ " PUint32 = ^Uint32;\n"
712+
+ " PInt64 = ^Int64;\n"
713+
+ " PUInt64 = ^UInt64;\n"
714+
+ " PLongWord = ^LongWord;\n"
715+
+ " PSingle = ^Single;\n"
716+
+ " PDouble = ^Double;\n"
717+
+ " PDate = ^Double;\n"
718+
+ " PWordBool = ^WordBool;\n"
719+
+ " PUnknown = ^IUnknown;\n"
720+
+ " PPUnknown = ^PUnknown;\n"
721+
+ " PInterface = ^IInterface;\n"
722+
+ " PPWideChar = ^PWideChar;\n"
723+
+ " PPChar = PPWideChar;\n"
724+
+ " PExtended = ^Extended;\n"
725+
+ " PComp = ^Comp;\n"
726+
+ " PCurrency = ^Currency;\n"
727+
+ " PVariant = ^Variant;\n"
728+
+ " POleVariant = ^OleVariant;\n"
729+
+ " PPointer = ^Pointer;\n"
730+
+ " PBoolean = ^Boolean;\n"
731+
+ " PNativeInt = ^NativeInt;\n"
732+
+ " PNativeUInt = ^NativeUInt;\n"
733+
+ " PShortString = ^ShortString;\n"
734+
+ " PAnsiString = ^AnsiString;\n"
735+
+ " PWideString = ^WideString;\n"
736+
+ " PUnicodeString = ^UnicodeString;\n"
737+
+ " PString = PUnicodeString;\n"
738+
+ "\n"
655739
+ " PVarRec = ^TVarRec;\n"
656740
+ " TVarRec = record\n"
657741
+ " case Integer of\n"
658742
+ " 0: (case Byte of\n"
659743
+ " vtInteger: (VInteger: Integer);\n"
660744
+ " vtBoolean: (VBoolean: Boolean);\n"
661-
+ " vtChar: (VChar: _AnsiChr);\n"
745+
+ " vtChar: (VChar: AnsiChar);\n"
662746
+ " vtExtended: (VExtended: PExtended);\n"
663-
+ " vtString: (VString: _PShortStr);\n"
747+
+ " vtString: (VString: PShortString);\n"
664748
+ " vtPointer: (VPointer: Pointer);\n"
665-
+ " vtPChar: (VPChar: _PAnsiChr);\n"
749+
+ " vtPChar: (VPChar: PAnsiChar);\n"
666750
+ " vtObject: (VObject: TObject);\n"
667751
+ " vtClass: (VClass: TClass);\n"
668752
+ " vtWideChar: (VWideChar: WideChar);\n"

0 commit comments

Comments
 (0)