public override object VisitUMetaParametr(UHeaderParser.UMetaParametrContext context) { var key = context.uMetaParamKey().GetText(); var value = context.uMetaParamValue()?.GetText(); var paramList = context.uMetaParametrList(); if (!_currentUMeta.ContainsKey(key)) { if (_currentDelegate != null) { ParceDelegateKey(context); } else { _currentUMeta.Add(key, value != null ? value.Trim('"') : ""); } } if (paramList != null) { VisitUMetaParametrList(paramList); } return(null); }
private void ParceDelegateKey(UHeaderParser.UMetaParametrContext context) { if (_currentDelegate == null) { return; } if (_currentDelegateVariable == null) { _currentDelegateVariable = ParceType(context.FindFirst <UHeaderParser.TypeContext>()); } else { var key = context.uMetaParamKey().GetText(); _currentDelegateVariable.Name = key; _currentDelegate.Parametrs.Add(_currentDelegateVariable); _currentDelegateVariable = null; } }
/// <summary> /// Visit a parse tree produced by <see cref="UHeaderParser.uMetaParametr"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitUMetaParametr([NotNull] UHeaderParser.UMetaParametrContext context) { return(VisitChildren(context)); }