private void CheckInterpolation(IPairWithInterpolation pair) { if (((Pair)pair).ValueQuotesType != 2) { return; } foreach (var item in pair.InterpolationItems) { var alias = item as Alias; if (alias != null) { CheckAliasIsDefined(alias); continue; } var param = item as DOM.Parameter; if (param != null) { var aliasContext = AliasContext.Peek(); if (aliasContext != null) { ValidateParameter((Parameter)param, aliasContext.Alias, _currentModule.FileName); } } } }
/// <summary> /// Process Aliases and Parameters specified in the string interpolation or concatenation. /// </summary> /// <param name="pair"></param> private void ProcessInterpolation(IPairWithInterpolation pair) { if (pair.InterpolationItems == null || pair.InterpolationItems.Count == 0) { return; } foreach (var item in pair.InterpolationItems) { if (item is Alias alias) { _namespaceResolver.ProcessAlias(alias); continue; } if (item is DOM.Parameter param) { _namespaceResolver.ProcessParameter((Parameter)param); continue; } if (item is Element element) { Visit((Pair)element); } } }
/// <summary> /// Process Aliases and Parameters specified in the string interpolation or concatenation. /// </summary> /// <param name="pair"></param> private void ProcessInterpolation(IPairWithInterpolation pair) { if (pair.InterpolationItems == null || pair.InterpolationItems.Count == 0) { return; } foreach (var item in pair.InterpolationItems) { var alias = item as Alias; if (alias != null) { _namespaceResolver.ProcessAlias(alias); _namespaceResolver.AddAlias(alias); continue; } var param = item as DOM.Parameter; if (param != null) { _namespaceResolver.ProcessParameter((Parameter)param); continue; } var element = item as Element; if (element != null) { Visit(element); } } }