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"); }