소스 검색

Add ToString methods for the instruction types, to help debugging comprehension.
Fix out-by-one error in reading parameter names in Reading metadata.
Workaround for non-conforming array loBound metadata from SpecSharp2 output.

k_john_gough_cp 15 년 전
부모
커밋
1cc62a2474
3개의 변경된 파일1324개의 추가작업 그리고 1514개의 파일을 삭제
  1. 1320 1512
      PERWAPI/Instructions.cs
  2. 1 1
      PERWAPI/MDMethodElems.cs
  3. 3 1
      PERWAPI/PEReader.cs

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1320 - 1512
PERWAPI/Instructions.cs


+ 1 - 1
PERWAPI/MDMethodElems.cs

@@ -691,7 +691,7 @@ namespace QUT.PERWAPI
             if (sig == null) sig = buff.ReadMethSig(this, sigIx);
             sig.name = name;
             parList = new Param[sig.numPars];
-            if (parIx >= buff.GetTableSize(MDTable.Param))
+            if (parIx > buff.GetTableSize(MDTable.Param))
             {
                 // EXPERIMENTAL kjg 19 November 2007
                 //  It is actually allowed that a method def does not

+ 3 - 1
PERWAPI/PEReader.cs

@@ -1231,7 +1231,9 @@ namespace QUT.PERWAPI
                     //                          
                     if (numLoBounds > 0)
                     {
-                        loBounds = new int[numLoBounds];
+                      int constraint = (numLoBounds < numSizes ? numSizes : numLoBounds);
+                      loBounds = new int[constraint];
+                        //loBounds = new int[numLoBounds];
                         for (int i = 0; i < numLoBounds; i++)
                             loBounds[i] = blob.ReadCompressedInt();
                         if (numSizes > 0)

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.