IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
DotNetDirectoryStreamAccessor.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
5{
6
7#if FIRST_PASS == false && EXPORTER == false && IMPORTER == false
8
9 internal sealed class DotNetDirectoryStreamAccessor : Accessor<object>
10 {
11
12 Type sunNioFsDotNetPath;
13 Type javaNioFileDirectoryStreamFilter;
14
15 MethodAccessor<Func<object, IEnumerable<string>, object, object>> init;
16 FieldAccessor<object, string> path;
17 FieldAccessor<object, IEnumerable<string>> files;
18 FieldAccessor<object, object> filter;
19
24 public DotNetDirectoryStreamAccessor(AccessorTypeResolver resolver) :
25 base(resolver, "sun.nio.fs.DotNetDirectoryStream")
26 {
27
28 }
29
30 Type SunNioFsDotNetPath => Resolve(ref sunNioFsDotNetPath, "sun.nio.fs.DotNetPath");
31
32 Type JavaNioFileDirectoryStreamFilter => Resolve(ref javaNioFileDirectoryStreamFilter, "java.nio.file.DirectoryStream+Filter");
33
41 public object Init(object path, IEnumerable<string> files, object filter) => GetConstructor(ref init, SunNioFsDotNetPath, typeof(System.Collections.IEnumerable), JavaNioFileDirectoryStreamFilter).Invoker(path, files, filter);
42
48 public object GetPath(object self) => GetField(ref path, nameof(path)).GetValue(self);
49
55 public IEnumerable<string> GetFiles(object self) => GetField(ref files, nameof(files)).GetValue(self);
56
62 public object GetFilter(object self) => GetField(ref filter, nameof(filter)).GetValue(self);
63
64 }
65
66#endif
67
68}
IKVM.Reflection.Type Type