Exemple #1
0
        public override void Init()
        {
            try
            {
                QualifiedReference qualifiedReference = this.MemberAccessExpression.Member;

                if (qualifiedReference != null)
                {
                    CppQualifiedName cppQualifiedName = qualifiedReference.GetQualifiedName();

                    this.MethodName = cppQualifiedName.GetNameStr();
                }

                ICppExpressionNode cppExpressionNode  = this.MemberAccessExpression.Qualifier;
                CppTypeAndCategory cppTypeAndCatagory = cppExpressionNode.GetTypeAndCategory();
                CppQualType        cppQualType        = cppTypeAndCatagory.Type;

                CppTypeVisitor cppTypeVisitor = new CppTypeVisitor();

                cppQualType.Accept(cppTypeVisitor);

                string typeStr = cppTypeVisitor.TypeStr;
                string dbgStr  = cppTypeVisitor.DbgStr;

                this.Class = cppTypeVisitor.Name;

                if (String.IsNullOrWhiteSpace(this.Class))
                {
                    this.Class = dbgStr;

                    LogManager.Self.Log($"PenWebMemberAccessExpression() class name empty");

                    cppQualType.Accept(cppTypeVisitor);

                    typeStr = cppTypeVisitor.TypeStr;
                    dbgStr  = cppTypeVisitor.DbgStr;

                    this.Class = cppTypeVisitor.Name;
                }

                /*
                 * ICppExpression leftArguement = this.MemberAccessExpression.GetLeftArgument();
                 * CppExpressionVisitor cppExpressionVisitor = new CppExpressionVisitor();
                 * leftArguement.Accept<CppExpressonVisitorResult>(cppExpressionVisitor);
                 */

                base.Init();

                this.CppFunctionCatagory = CppFunctionCatagory.MethodCall;

                //this.SaveToJson = true;
            }
            catch (Exception e)
            {
                LogManager.Self.Log("PenWebMemberAccessExpression Exception", e);
            }

            this.MemberAccessExpression = null;
            this.CppExpressionNode      = null;
        }
        public override int GetHashCode()
        {
#if NETCOREAPP
            return(QualifiedReference.GetHashCode(StringComparison.Ordinal));
#else
            return(QualifiedReference.GetHashCode());
#endif
        }
 public override int GetHashCode()
 {
     return(QualifiedReference.GetHashCode());
 }
Exemple #4
0
 public virtual void VisitQualifiedReference(QualifiedReference qualifiedReference)
 {
     DefaultVisit(qualifiedReference);
 }