public override void VisitMemberAccessExpression(MemberAccessExpressionSyntax node)
        {
            // check if access to DMA property
            var identifiers = node.RecursiveFlatIdentifiers();

            if (identifiers.Any() && identifiers[0].ToString() == "SOC")
            {
                var dmaType = TypeResolver.ResolveType(identifiers[0]);
                Expression = new IdentifierExpressionCPPModel()
                {
                    Identifier = $"{dmaType.Namespace}_{dmaType.Name}_{identifiers.Last().Identifier}"
                };

                return;
            }

            if (BuiltInValues.IsBuiltInValue(node.ToString()))
            {
                var type = TypeResolver.ResolveType(node);
                if (type == typeof(char))
                {
                    Expression = new LiteralExpressionCPPModel()
                    {
                        Value = $"'{BuiltInValues.BuiltInValue(node.ToString())}'"
                    };
                }
                else
                {
                    Expression = new LiteralExpressionCPPModel()
                    {
                        Value = BuiltInValues.BuiltInValue(node.ToString()).ToString()
                    };
                }

                return;
            }

            Unsupported(node, "Unsupported member access expression");
        }