コード例 #1
0
ファイル: JavaClass.cs プロジェクト: CptWesley/JavaNet
        /// <summary>
        /// Reads the constants.
        /// </summary>
        /// <param name="stream">The stream to read from.</param>
        /// <param name="count">The constant count.</param>
        /// <returns>A new <see cref="JavaConstantPool"/> containing all constants.</returns>
        private static JavaConstantPool ReadConstants(Stream stream, int count)
        {
            // Count is -1 for some reason.
            IJavaConstant[] constants = new IJavaConstant[count - 1];

            for (int i = 0; i < count - 1; i++)
            {
                IJavaConstant constant = ReadConstant(stream);
                constants[i] = constant;
                if (constant is JavaConstantLong || constant is JavaConstantDouble)
                {
                    constants[++i] = constant; // 8byte constants take 2 entries.
                }
            }

            return(new JavaConstantPool(constants));
        }
コード例 #2
0
 public void TryGetOne()
 {
     AssertThat(() => { IJavaConstant c = _jcp[1]; }).DoesNotThrowException();
     AssertThat(_jcp[1]).IsNull();
 }
コード例 #3
0
 public void TryGetTwo()
 {
     AssertThat(() => { IJavaConstant c = _jcp[2]; }).ThrowsExactlyException <IndexOutOfRangeException>();
 }