Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
2.2 KiB

  1. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. Copyright (c) 1999-1999 Microsoft Corporation
  3. Module Name:
  4. ilanaly.cxx
  5. Abstract:
  6. Intermediate langangage analyzer/optimizer
  7. Notes:
  8. Author:
  9. mzoran Dec-13-1999 Created.
  10. Notes:
  11. ----------------------------------------------------------------------------*/
  12. class CG_ILANALYSIS_INFO
  13. {
  14. private:
  15. unsigned long bIsConformant : 1;
  16. unsigned long bIsVarying : 1;
  17. unsigned long bIsForcedBogus : 1;
  18. unsigned long bIsFullBogus : 1;
  19. unsigned long bIsMutiDimensional : 1;
  20. unsigned long bHasUnknownBuffer : 1;
  21. unsigned long bIsArrayofStrings : 1;
  22. unsigned long Dimensions : 8;
  23. public:
  24. CG_ILANALYSIS_INFO() :
  25. bIsConformant( false ),
  26. bIsVarying( false ),
  27. bIsForcedBogus( false ),
  28. bIsFullBogus( false ),
  29. bIsMutiDimensional( false ),
  30. bHasUnknownBuffer( false ),
  31. bIsArrayofStrings( false )
  32. {
  33. }
  34. bool IsConformant() { return (bool)bIsConformant; }
  35. bool IsVarying() { return (bool)bIsVarying; }
  36. bool IsForcedBogus() { return (bool)bIsForcedBogus; }
  37. bool IsFullBogus() { return (bool)bIsFullBogus; }
  38. bool IsMultiDimensional() { return (bool)bIsMutiDimensional; }
  39. bool HasUnknownBuffer() { return (bool)bHasUnknownBuffer; }
  40. bool IsArrayofStrings() { return (bool)bIsArrayofStrings; }
  41. unsigned char GetDimensions() { return (unsigned char)Dimensions; }
  42. void SetIsConformant( ) { bIsConformant = true; }
  43. void SetIsVarying( ) { bIsVarying = true; }
  44. void SetIsForcedBogus( ) { bIsForcedBogus = true; }
  45. void SetIsFullBogus( ) { bIsFullBogus = true; }
  46. void SetIsMutiDimensional( ) { bIsMutiDimensional = true; }
  47. void SetHasUnknownBuffer( ) { bHasUnknownBuffer = true; }
  48. void SetIsArrayofStrings( ) { bIsArrayofStrings = true; }
  49. void SetDimensions(unsigned char NewDims) { Dimensions = NewDims; }
  50. void MergeAttributes( CG_ILANALYSIS_INFO *pMerge );
  51. };