public override object VisitSngEventNoArguments(CryslGrammarParser.SngEventNoArgumentsContext context)
        {
            CryptoSignature cryptoSignature = new CryptoSignature();

            foreach (var varName in context.VARNAME())
            {
                //Check for crypto signature identifiers
                if (varName.Symbol.TokenIndex < context.COLON().Symbol.TokenIndex)
                {
                    cryptoSignature.Event_Var_Name = varName.GetText();
                }
                //Check for Object Assignment
                else if (varName.Symbol.TokenIndex > context.COLON().Symbol.TokenIndex&& varName.Symbol.TokenIndex < context.EQUALS().Symbol.TokenIndex)
                {
                    cryptoSignature.Object_variable = varName.GetText();
                }
                //Check for crypto signature methods
                else if (varName.Symbol.TokenIndex > context.EQUALS().Symbol.TokenIndex)
                {
                    cryptoSignature.Method_Name = varName.GetText();
                    cryptoSignature.Is_property = true;
                }
            }

            return(cryptoSignature);
        }
示例#2
0
 /// <summary>
 /// Visit a parse tree produced by the <c>SngEventNoArguments</c>
 /// labeled alternative in <see cref="CryslGrammarParser.sngevent"/>.
 /// <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 VisitSngEventNoArguments([NotNull] CryslGrammarParser.SngEventNoArgumentsContext context)
 {
     return(VisitChildren(context));
 }