Exemple #1
0
        public static ParserCache Alloc()
        {
            global::System.IntPtr cPtr = C4dApiPINVOKE.ParserCache_Alloc();
            ParserCache           ret  = (cPtr == global::System.IntPtr.Zero) ? null : new ParserCache(cPtr, false);

            return(ret);
        }
Exemple #2
0
        public bool GenerateShaderCodeFromCache(ParserCache pdat, string /* constString&_cstype */ resultVariableName, SWIGTYPE_p_String result)
        {
            bool ret = C4dApiPINVOKE.Parser_GenerateShaderCodeFromCache(swigCPtr, ParserCache.getCPtr(pdat), resultVariableName, SWIGTYPE_p_String.getCPtr(result));

            if (C4dApiPINVOKE.SWIGPendingException.Pending)
            {
                throw C4dApiPINVOKE.SWIGPendingException.Retrieve();
            }
            return(ret);
        }
Exemple #3
0
        public SequenceParser(Type type, IParser?separator, bool checkZeroLength, IConfig config, ParserFlags flags) : base(config, flags)
        {
            this.CheckZeroLength = checkZeroLength;
            this.Type            = type ?? throw new ArgumentNullException(nameof(type));
            this._separator      = separator;
            var typeHierachy = new List <Type>();
            var current      = type;

            while (current != null && current != typeof(object))
            {
                typeHierachy.Add(current);
                current = current.BaseType;
            }

            typeHierachy.Reverse();

            var rawMembers = typeHierachy.SelectMany(t =>
                                                     t.GetMembers(Instance | Public | NonPublic)
                                                     .Where(m => m is FieldInfo || m is PropertyInfo)
                                                     .Where(m => m.GetCustomAttributes <TermAttribute>(true).Any())
                                                     );
            var members = new List <MemberInfo>();

            // Combine virtual/override members into one list
            foreach (var m in rawMembers)
            {
                if (!IsPrivate(m))
                {
                    int i;
                    for (i = 0; i < members.Count; i++)
                    {
                        if (!IsPrivate(members[i]) && members[i].Name == m.Name)
                        {
                            members[i] = m;
                            break;
                        }
                    }
                    if (i < members.Count)
                    {
                        continue;
                    }
                }
                members.Add(m);
            }
            if (members.Count == 0)
            {
                throw new ArgumentException($"Sequence {type} has no Terms");
            }
            this._members = members
                            .Select(m => (
                                        m.GetMemberType() == typeof(Unnamed) ? null : m,
                                        ParserCache.GetParser(m)
                                        ))
                            .ToArray();
        }
Exemple #4
0
        public bool CopyTo(ParserCache dest)
        {
            bool ret = C4dApiPINVOKE.ParserCache_CopyTo(swigCPtr, ParserCache.getCPtr(dest));

            return(ret);
        }
Exemple #5
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ParserCache obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Exemple #6
0
        public bool Reset(ParserCache p)
        {
            bool ret = C4dApiPINVOKE.Parser_Reset__SWIG_0(swigCPtr, ParserCache.getCPtr(p));

            return(ret);
        }
Exemple #7
0
        public bool CalculateLong(ParserCache pdat, SWIGTYPE_p_Int32 result, SWIGTYPE_p_Int32 error)
        {
            bool ret = C4dApiPINVOKE.Parser_CalculateLong(swigCPtr, ParserCache.getCPtr(pdat), SWIGTYPE_p_Int32.getCPtr(result), SWIGTYPE_p_Int32.getCPtr(error));

            return(ret);
        }
Exemple #8
0
 public void GetParserData(ParserCache p)
 {
     C4dApiPINVOKE.Parser_GetParserData(swigCPtr, ParserCache.getCPtr(p));
 }