Пример #1
0
        // Lexers
        Identifier ISemanticModel.GetIdentifier(Context context, string name)
        {
            var identifier = context.GetIdentifier(name);

            if (identifier != null)
            {
                return(identifier);
            }

            identifier = tempIdentifiers.GetTempIdentifiers(context).FirstOrDefault(i => i.Name == name);
            if (identifier != null)
            {
                return(identifier);
            }

            // Todo: Optimize performance
            foreach (var snippet in shadowClass.Snippets.Where(s => s.Type == SnippetType.Using && s.Code.StartsWith("using")))
            {
                identifier = context.GetExtensionIdentifier(snippet.Code.Remove(0, 5).Trim().TrimEnd(';'), name);
                if (identifier != null)
                {
                    return(identifier);
                }
            }

            return(null);
        }
Пример #2
0
        // Lexers
        internal Identifier GetIdentifier(Context context, string name)
        {
            var identifier = context.GetIdentifier(name);

            return(identifier ?? tempIdentifiers.GetTempIdentifiers(context).FirstOrDefault(i => i.Name == name));
        }
Пример #3
0
        // Lexers
        internal Identifier GetIdentifier(Context context, string name)
        {
            var identifier = context.GetIdentifier(name);
            if (identifier != null) return identifier;

            identifier = tempIdentifiers.GetTempIdentifiers(context).FirstOrDefault(i => i.Name == name);
            if (identifier != null) return identifier;

            // Todo: Optimize performance
            foreach (var snippet in shadowClass.Snippets.Where(s => s.Type == SnippetType.Using && s.Code.StartsWith("using")))
            {
                identifier = context.GetExtensionIdentifier(snippet.Code.Remove(0, 5).Trim().TrimEnd(';'), name);
                if (identifier != null) return identifier;
            }

            return null;
        }