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 void Init() { try { ICppExpression leftArguement = this.BinaryExpression.GetLeftArgument(); if (leftArguement != null) { this.LeftArguement = leftArguement.ToString(); } else { LogManager.Self.Log("PenWebBinaryExpression() InvokedExpression is null"); } ICppExpressionNode cppExpressionNode = this.BinaryExpression.LeftOperand; if (leftArguement != null) { this.LeftOpperand = cppExpressionNode.ToString(); } else { LogManager.Self.Log("PenWebBinaryExpression() InvokedExpression is null"); } base.Init(); this.CppFunctionCatagory = CppFunctionCatagory.VariableRef; //this.SaveToJson = true; } catch (Exception e) { LogManager.Self.Log("PenWebBinaryExpression Exception", e); } this.BinaryExpression = null; this.CppExpressionNode = null; }