public unsafe void GetNestedClassProps() { var provider = new SymWriterMetadataProvider1(); var adapter = new SymWriterMetadataAdapter(provider); var buffer = new char[15]; for (int i = 0; i < buffer.Length; i++) { buffer[i] = 'x'; } fixed(char *bufferPtr = buffer) { Assert.Equal(HResult.S_OK, adapter.GetNestedClassProps(1, out int enclosingClass)); Assert.Equal(11, enclosingClass); } }
public unsafe void GetMethodProps() { var provider = new SymWriterMetadataProvider1(); var adapter = new SymWriterMetadataAdapter(provider); var buffer = new char[15]; for (int i = 0; i < buffer.Length; i++) { buffer[i] = 'x'; } fixed(char *bufferPtr = buffer) { int actualLength; int declaringTypeDef; Assert.Equal(HResult.S_OK, adapter.GetMethodProps(1, &declaringTypeDef, bufferPtr + 2, 4, &actualLength, null, null, null, null, null)); AssertEx.Equal(new char[] { 'x', 'x', 'M', 'e', 't', '\0', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x' }, buffer); Assert.Equal(3, actualLength); Assert.Equal(123, declaringTypeDef); } }
public unsafe void GetTypeDefProps() { var provider = new SymWriterMetadataProvider1(); var adapter = new SymWriterMetadataAdapter(provider); var buffer = new char[15]; for (int i = 0; i < buffer.Length; i++) { buffer[i] = 'x'; } fixed(char *bufferPtr = buffer) { int actualLength; TypeAttributes attributes; Assert.Equal(HResult.S_OK, adapter.GetTypeDefProps(1, bufferPtr + 2, 4, &actualLength, &attributes, null)); AssertEx.Equal(new char[] { 'x', 'x', 'N', 'a', 'm', '\0', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x', 'x' }, buffer); Assert.Equal(3, actualLength); Assert.Equal(TypeAttributes.Abstract, attributes); } }