Exemplo n.º 1
0
        public DmdType GetWellKnownType(DmdWellKnownType wellKnownType, bool onlyCorLib)
        {
            if ((uint)wellKnownType >= (uint)wellKnownTypes.Length)
            {
                return(null);
            }

            ref var cachedType = ref wellKnownTypes[(int)wellKnownType];
Exemplo n.º 2
0
 public ClassHookInfo(ClassHook hook, DmdWellKnownType wellKnownType)
 {
     Hook          = hook ?? throw new ArgumentNullException(nameof(hook));
     WellKnownType = wellKnownType;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Gets the name
 /// </summary>
 /// <param name="wellKnownType">Well known type</param>
 /// <returns></returns>
 public static DmdTypeName GetTypeName(DmdWellKnownType wellKnownType)
 {
     Debug.Assert(wellKnownType != DmdWellKnownType.None);
     return(toWellKnownTypeName[(int)wellKnownType]);
 }
Exemplo n.º 4
0
 static void Add(DmdTypeName typeName, DmdWellKnownType wellKnownType)
 {
     Debug.Assert(wellKnownType != DmdWellKnownType.None);
     toWellKnownType.Add(typeName, wellKnownType);
     toWellKnownTypeName[(int)wellKnownType] = typeName;
 }
Exemplo n.º 5
0
 internal abstract DmdType GetWellKnownType(DmdWellKnownType wellKnownType, bool isOptional, bool onlyCorlib);
Exemplo n.º 6
0
 public DotNetClassHookInfo(DotNetClassHook hook, DmdWellKnownType wellKnownType)
 {
     Hook          = hook ?? throw new ArgumentNullException(nameof(hook));
     TypeName      = null;
     WellKnownType = wellKnownType;
 }
Exemplo n.º 7
0
 /// <summary>
 /// Gets a well known type
 /// </summary>
 /// <param name="wellKnownType">Well known type</param>
 /// <param name="isOptional">Used if the type couldn't be found. If true, null is returned, and if false, an exception is thrown</param>
 /// <returns></returns>
 public DmdType GetWellKnownType(DmdWellKnownType wellKnownType, bool isOptional) =>
 GetWellKnownType(wellKnownType, isOptional, onlyCorlib: false);
Exemplo n.º 8
0
 /// <summary>
 /// Gets a well known type
 /// </summary>
 /// <param name="wellKnownType">Well known type</param>
 /// <returns></returns>
 public DmdType GetWellKnownType(DmdWellKnownType wellKnownType) => GetWellKnownType(wellKnownType, isOptional: false);
Exemplo n.º 9
0
 /// <summary>
 /// Checks if a well known type exists in one of the loaded assemblies
 /// </summary>
 /// <param name="wellKnownType">Well known type</param>
 /// <returns></returns>
 public bool HasWellKnownType(DmdWellKnownType wellKnownType) => (object)GetWellKnownType(wellKnownType, isOptional: true) != null;
Exemplo n.º 10
0
 /// <summary>
 /// Checks if a well known type exists in one of the loaded assemblies
 /// </summary>
 /// <param name="wellKnownType">Well known type</param>
 /// <returns></returns>
 public bool HasWellKnownType(DmdWellKnownType wellKnownType) => !(GetWellKnownType(wellKnownType, isOptional: true) is null);
Exemplo n.º 11
0
 /// <summary>
 /// Gets the well known type
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="wellKnownType">Updated with well known type if successful</param>
 /// <returns></returns>
 public static bool TryGetWellKnownType(DmdTypeName name, out DmdWellKnownType wellKnownType) =>
 toWellKnownType.TryGetValue(name, out wellKnownType);