コード例 #1
0
        public void A()
        {
            var r = new Reference(
                "C:\\ws\\xtplus\\z_eKv2020.2\\XTplusApplication\\src\\XTplus.Faktura\\FakturaUebersicht\\AuftragVorlaeufer\\EkvInfo.gd",
                "Pharmatechnik.Apotheke.XTplus.Faktura.FakturaUebersicht.AuftragVorlaeufer.GUI.EkvInfoRückmeldungen");

            ReferenceFinder.TryResolveFileName(r, out var filename);



            var p = r.GetSuggestedPaths();
        }
コード例 #2
0
        protected internal override OutlineElement VisitControlSectionSyntax(ControlSectionSyntax controlSection)
        {
            var contextMenuOutlines = Detailed ? CreateContextMenuOutlines(controlSection.ContextMenuSection) : ImmutableArray <OutlineElement> .Empty;

            if (Detailed && controlSection.SectionBegin?.ControlTypeToken.GetText() == "HeaderScroller")
            {
                // Spaltendefinitionen als Kinder des HeaderScrollers
                var columnOutlines = CollectColumnOutlines(controlSection);
                columnOutlines.AddRange(contextMenuOutlines);
                return(CreateSectionElement(controlSection, columnOutlines.ToImmutableArray()));
            }

            if (Detailed && controlSection.SectionBegin?.ControlTypeToken.GetText() == "Table")
            {
                // Spaltendefinitionen als Kinder der Tabelle
                var columnOutlines = CollectColumnOutlines(controlSection);
                columnOutlines.AddRange(contextMenuOutlines);
                return(CreateSectionElement(controlSection, columnOutlines.ToImmutableArray()));
            }

            if (controlSection.SectionBegin?.ControlTypeToken.GetText() == "UserControlReference")
            {
                if (controlSection.PropertiesSection != null)
                {
                    // TODO Review
                    var typeName = controlSection.PropertiesSection.Properties.OfType <PropertyAssignSyntax>().Where(
                        pa => pa.LvalueExpression?.MemberAccessExpression is SimpleMemberAccessExpressionSyntax sma &&
                        sma.IdentifierName?.GetText() == "TypeName")
                                   .Select(pa => pa.Rvalue?.GetText() ?? String.Empty)
                                   .FirstOrDefault()?.Trim('"');

                    var containingGdFile = controlSection.SyntaxTree?.SourceText?.FileInfo?.FullName;

                    if (!containingGdFile.IsNullOrWhiteSpace() && !typeName.IsNullOrWhiteSpace())
                    {
                        var r = new Reference(containingGdFile, typeName);
                        if (ReferenceFinder.TryResolveFileName(r, out var gdFileName))
                        {
                            Location secondaryLocation = new Location(gdFileName);
                            return(CreateSectionElement(controlSection, default, secondaryLocation));