using System; using System.Collections.Generic; using System.Linq; namespace Cosmos.IL2CPU { public sealed class StackContent { public StackContent( int aSize ) { Size = aSize; } public StackContent( int aSize, Type aType ) : this( aSize ) { IsNumber = ( aType == typeof( byte ) || aType == typeof( sbyte ) || aType == typeof( Boolean ) || aType == typeof( short ) || aType == typeof( ushort ) || aType == typeof( int ) || aType == typeof( uint ) || aType == typeof( long ) || aType == typeof( ulong ) || aType == typeof( Single ) || aType == typeof( Double ) ); IsFloat = ( aType == typeof( Single ) || aType == typeof( Double ) ); IsSigned = ( aType == typeof( sbyte ) || aType == typeof( short ) || aType == typeof( int ) || aType == typeof( long ) || aType == typeof( Single ) || aType == typeof( Double ) ); ContentType = aType; } public StackContent( int aSize, bool aIsNumber, bool aIsFloat, bool aIsSigned ) : this( aSize ) { IsNumber = aIsNumber; IsFloat = aIsFloat; IsSigned = aIsSigned; } public readonly int Size; public readonly bool IsNumber = false; public readonly bool IsFloat = false; public readonly bool IsSigned = false; public readonly Type ContentType = null; public readonly bool IsBox = false; } }