IronKonoha.KStatement.findBinaryOp C# (CSharp) Method

findBinaryOp() private method

private findBinaryOp ( Context ctx, IList tls, int s, int e, Syntax &synRef ) : int
ctx Context
tls IList
s int
e int
synRef Syntax
return int
        int findBinaryOp(Context ctx, IList<Token> tls, int s, int e, ref Syntax synRef)
        {
            int idx = -1;
            int prif = 0;
            for(int i = skipUnaryOp(ctx, tls, s, e) + 1; i < e; i++) {
                Token tk = tls[i];
                Syntax syn = ks.GetSyntax(tk.Keyword);
            //		if(syn != NULL && syn->op2 != 0) {
                if(syn.priority > 0) {
                    if (prif < syn.priority || (prif == syn.priority && syn.Flag != SynFlag.ExprLeftJoinOp2))
                    {
                        prif = syn.priority;
                        idx = i;
                        synRef = syn;
                    }
                    if(syn.Flag != SynFlag.ExprPostfixOp2) {  /* check if real binary operator to parse f() + 1 */
                        i = skipUnaryOp(ctx, tls, i+1, e) - 1;
                    }
                }
            }
            return idx;
        }