示例#1
0
 /// <summary>
 /// Returns  variables used in statement that have passed number.
 /// statementType is additional filter parameter, if this parameter is passsed only var in statement of given type will be return
 /// </summary>
 public List <string> UsesVarModInStmt(int statementNumber, NodeType statementType = NodeType.Statement)
 {
     if (statementType == NodeType.Statement)
     {
         return(StatementUsesTable.Where(x => x.StatementNumber == statementNumber).Select(x => x.Variables).FirstOrDefault());
     }
     else
     {
         return(StatementUsesTable.Where(x => x.StatementNumber == statementNumber && x.StatementType == statementType).Select(x => x.Variables).FirstOrDefault());
     }
 }
示例#2
0
 /// <summary>
 /// Returns all statement numbers that uses passed variable
 ///  statementType is additional filter parameter, if this parameter is passsed only statement of given type will be return
 /// </summary>
 public List <int> UsesStmtThatModVar(string variable, NodeType statementType = NodeType.Statement)
 {
     if (statementType == NodeType.Statement)
     {
         return(StatementUsesTable.Where(x => x.Variables.Contains(variable)).Select(x => x.StatementNumber).ToList());
     }
     else
     {
         return(StatementUsesTable.Where(x => x.Variables.Contains(variable) && x.StatementType == statementType).Select(x => x.StatementNumber).ToList());
     }
 }
示例#3
0
 /// <summary>
 /// Check if stetement uses variable
 /// </summary>
 public bool UsesStatement(int statementNumber, string variable)
 {
     if (String.IsNullOrEmpty(variable))
     {
         return(false);
     }
     if (StatementUsesTable.Where(x => x.StatementNumber == statementNumber && x.Variables.Contains(variable)).Any())
     {
         return(true);
     }
     return(false);
 }