Exemplo n.º 1
0
        public static void Accept(this NktParam aParameter, INktParameterVisitor aVisitor)
        {
            if (aParameter.IntResourceString > 0) aVisitor.VisitResourceStringParameter(aParameter);
            else if (!string.IsNullOrEmpty(aParameter.GuidString)) aVisitor.VisitGuidStringParameter(aParameter);
            else if (aParameter.IsAnsiString || aParameter.IsWideString) aVisitor.VisitStringParameter(aParameter);
            else if (aParameter.BasicType == eNktDboFundamentalType.ftAnsiChar) aVisitor.VisitAnsiCharParameter(aParameter);
            else if (aParameter.BasicType == eNktDboFundamentalType.ftWideChar) aVisitor.VisitWideCharParameter(aParameter);

            else if (aParameter.BasicType == eNktDboFundamentalType.ftDouble) aVisitor.VisitDoubleParameter(aParameter);
            else if (aParameter.BasicType == eNktDboFundamentalType.ftFloat) aVisitor.VisitFloatParameter(aParameter);

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedByte) aVisitor.VisitSignedByteParameter(aParameter);
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedByte) aVisitor.VisitUnsignedByteParameter(aParameter);

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedWord) aVisitor.VisitSignedWordParameter(aParameter);
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedWord) aVisitor.VisitUnsignedWordParameter(aParameter);

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedDoubleWord) aVisitor.VisitSignedDoubleWordParameter(aParameter);
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedDoubleWord) aVisitor.VisitUnsignedDoubleWordParameter(aParameter);

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedQuadWord) aVisitor.VisitSignedQuadWordParameter(aParameter);
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedQuadWord) aVisitor.VisitUnsignedQuadWordParameter(aParameter);

            //else if ((aParameter.BasicType) == eNktDboFundamentalType.ftNone) aVisitor.VisitFtNone(aParameter);

            else if (aParameter.FieldsCount > 0) aVisitor.VisitStructureParameter(aParameter);

            else if (aParameter.PointerVal == IntPtr.Zero)
            {
                aVisitor.VisitNullPointerParameter(aParameter);
            }
            else if (aParameter.IsPointerToVoid())
            {
                if (aParameter.LongLongVal > 0xFFFFFFFFL)
                {
                    aVisitor.VisitUnsignedQuadWordParameter(aParameter);
                    return;
                }
                aVisitor.VisitUnsignedDoubleWordParameter(aParameter);
            }
            else if (aParameter.PointerVal != IntPtr.Zero)
            {
                aVisitor.VisitNonNullPointerParameter(aParameter);
            }
            else
            {
                throw new InvalidOperationException("Unrecognized parameter type");
            }
        }
Exemplo n.º 2
0
        public static void Accept(this NktParam aParameter, INktParameterVisitor aVisitor)
        {
            if (aParameter.IntResourceString > 0)
            {
                aVisitor.VisitResourceStringParameter(aParameter);
            }
            else if (!string.IsNullOrEmpty(aParameter.GuidString))
            {
                aVisitor.VisitGuidStringParameter(aParameter);
            }
            else if (aParameter.IsAnsiString || aParameter.IsWideString)
            {
                aVisitor.VisitStringParameter(aParameter);
            }
            else if (aParameter.BasicType == eNktDboFundamentalType.ftAnsiChar)
            {
                aVisitor.VisitAnsiCharParameter(aParameter);
            }
            else if (aParameter.BasicType == eNktDboFundamentalType.ftWideChar)
            {
                aVisitor.VisitWideCharParameter(aParameter);
            }

            else if (aParameter.BasicType == eNktDboFundamentalType.ftDouble)
            {
                aVisitor.VisitDoubleParameter(aParameter);
            }
            else if (aParameter.BasicType == eNktDboFundamentalType.ftFloat)
            {
                aVisitor.VisitFloatParameter(aParameter);
            }

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedByte)
            {
                aVisitor.VisitSignedByteParameter(aParameter);
            }
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedByte)
            {
                aVisitor.VisitUnsignedByteParameter(aParameter);
            }

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedWord)
            {
                aVisitor.VisitSignedWordParameter(aParameter);
            }
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedWord)
            {
                aVisitor.VisitUnsignedWordParameter(aParameter);
            }

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedDoubleWord)
            {
                aVisitor.VisitSignedDoubleWordParameter(aParameter);
            }
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedDoubleWord)
            {
                aVisitor.VisitUnsignedDoubleWordParameter(aParameter);
            }

            else if (aParameter.BasicType == eNktDboFundamentalType.ftSignedQuadWord)
            {
                aVisitor.VisitSignedQuadWordParameter(aParameter);
            }
            else if (aParameter.BasicType == eNktDboFundamentalType.ftUnsignedQuadWord)
            {
                aVisitor.VisitUnsignedQuadWordParameter(aParameter);
            }

            //else if ((aParameter.BasicType) == eNktDboFundamentalType.ftNone) aVisitor.VisitFtNone(aParameter);

            else if (aParameter.FieldsCount > 0)
            {
                aVisitor.VisitStructureParameter(aParameter);
            }

            else if (aParameter.PointerVal == IntPtr.Zero)
            {
                aVisitor.VisitNullPointerParameter(aParameter);
            }
            else if (aParameter.IsPointerToVoid())
            {
                if (aParameter.LongLongVal > 0xFFFFFFFFL)
                {
                    aVisitor.VisitUnsignedQuadWordParameter(aParameter);
                    return;
                }
                aVisitor.VisitUnsignedDoubleWordParameter(aParameter);
            }
            else if (aParameter.PointerVal != IntPtr.Zero)
            {
                aVisitor.VisitNonNullPointerParameter(aParameter);
            }
            else
            {
                throw new InvalidOperationException("Unrecognized parameter type");
            }
        }