public static BaseReflectedFieldNode GetFieldNode(FieldInfo targetField) { ParametresDef paramDef; if (!ReflectedNodesHelper.InitParams(targetField, out paramDef)) { return(null); } #if !NET_STANDARD_2_0 && (UNITY_EDITOR || (!ENABLE_IL2CPP && (UNITY_STANDALONE || UNITY_ANDROID || UNITY_WSA))) var jit = new JitFieldNode(); if (jit.Init(targetField, paramDef)) { return(jit); } #endif if (OnGetAotReflectedFieldNode != null) { var eventAot = OnGetAotReflectedFieldNode(targetField); if (eventAot != null && eventAot.Init(targetField, paramDef)) { return(eventAot); } } var aot = new PureReflectedFieldNode(); return(aot.Init(targetField, paramDef) ? aot : null); }
public static BaseReflectedMethodNode GetMethodNode(MethodInfo targetMethod, ReflectedMethodRegistrationOptions options) { ParametresDef paramDef; if (!ReflectedNodesHelper.InitParams(targetMethod, out paramDef)) { return(null); } #if !NET_STANDARD_2_0 && (UNITY_EDITOR || (!ENABLE_IL2CPP && (UNITY_STANDALONE || UNITY_ANDROID || UNITY_WSA))) var jit = new JitMethodNode(); jit.options = options; if (jit.Init(targetMethod, paramDef)) { return(jit); } #endif if (OnGetAotReflectedMethodNode != null) { var eventAot = OnGetAotReflectedMethodNode(targetMethod); if (eventAot != null) { eventAot.options = options; if (eventAot.Init(targetMethod, paramDef)) { return(eventAot); } } } var aot = new PureReflectedMethodNode(); aot.options = options; return(aot.Init(targetMethod, paramDef) ? aot : null); }
public static BaseReflectedExtractorNode GetExtractorNode(Type targetType, bool isStatic, MemberInfo[] infos) { ParametresDef paramsDef; if (!ReflectedNodesHelper.InitParams(targetType, isStatic, infos, out paramsDef)) { return(null); } #if UNITY_EDITOR || (!ENABLE_IL2CPP && (UNITY_STANDALONE || UNITY_ANDROID || UNITY_WSA)) var jit = new JitExtractorNode(); if (jit.Init(paramsDef, targetType)) { return(jit); } #endif if (OnGetAotExtractorNode != null) { var eventAot = OnGetAotExtractorNode(targetType, isStatic, infos); if (eventAot != null && eventAot.Init(paramsDef, targetType)) { return(eventAot); } } var aot = new PureReflectedExtractorNode(); return(aot.Init(paramsDef, targetType) ? aot : null); }