Method.fromToken constructor
Creates a method object from a provided token.
Implementation
factory Method.fromToken(Scope scope, int token) => using((Arena arena) {
final ptkClass = arena<mdTypeDef>();
final szMethod = arena<WCHAR>(MAX_STRING_SIZE).cast<Utf16>();
final pchMethod = arena<ULONG>();
final pdwAttr = arena<DWORD>();
final ppvSigBlob = arena<PCCOR_SIGNATURE>();
final pcbSigBlob = arena<ULONG>();
final pulCodeRVA = arena<ULONG>();
final pdwImplFlags = arena<DWORD>();
final reader = scope.reader;
final hr = reader.GetMethodProps(
token,
ptkClass,
szMethod,
MAX_STRING_SIZE,
pchMethod,
pdwAttr,
ppvSigBlob,
pcbSigBlob,
pulCodeRVA,
pdwImplFlags);
if (SUCCEEDED(hr)) {
final signature = ppvSigBlob.value.asTypedList(pcbSigBlob.value);
return Method(scope, token, ptkClass.value, szMethod.toDartString(),
pdwAttr.value, signature, pulCodeRVA.value, pdwImplFlags.value);
} else {
throw WindowsException(hr);
}
});