Antlr4.StringTemplate.Compiler.CompiledTemplate.TryGetFormalArgument C# (CSharp) Метод

TryGetFormalArgument() публичный Метод

public TryGetFormalArgument ( string name ) : Antlr4.StringTemplate.Compiler.FormalArgument
name string
Результат Antlr4.StringTemplate.Compiler.FormalArgument
        public virtual FormalArgument TryGetFormalArgument(string name)
        {
            if (name == null)
                throw new ArgumentNullException("name");
            if (FormalArguments == null)
                return null;

            return FormalArguments.FirstOrDefault(i => i.Name == name);
        }

Usage Example

Пример #1
0
        public virtual void ReferenceAttribute(IToken templateToken, CommonTree id)
        {
            string         name = id.Text;
            FormalArgument arg  = impl.TryGetFormalArgument(name);

            if (arg != null)
            {
                int index = arg.Index;
                Emit1(id, Bytecode.INSTR_LOAD_LOCAL, index);
            }
            else
            {
                if (Interpreter.PredefinedAnonymousSubtemplateAttributes.Contains(name))
                {
                    errMgr.CompiletimeError(ErrorType.REF_TO_IMPLICIT_ATTRIBUTE_OUT_OF_SCOPE, templateToken, id.Token);
                    Emit(id, Bytecode.INSTR_NULL);
                }
                else
                {
                    Emit1(id, Bytecode.INSTR_LOAD_ATTR, name);
                }
            }
        }