Esempio n. 1
0
 public OperatorDeclaration GetOperator(OperatorDeclaration sig)
 {
     if (sig.Type == ASTNodeType.InfixOperator)
     {
         return(Operators.First(opdecl => opdecl.Value.Type == ASTNodeType.InfixOperator && sig.IdenticalSignature((opdecl.Value as InOpDeclaration))).Value);
     }
     else if (sig.Type == ASTNodeType.PrefixOperator)
     {
         return(Operators.First(opdecl => opdecl.Value.Type == ASTNodeType.PrefixOperator && sig.IdenticalSignature((opdecl.Value as PreOpDeclaration))).Value);
     }
     else if (sig.Type == ASTNodeType.PostfixOperator)
     {
         return(Operators.First(opdecl => opdecl.Value.Type == ASTNodeType.PostfixOperator && sig.IdenticalSignature((opdecl.Value as PostOpDeclaration))).Value);
     }
     return(null);
 }
Esempio n. 2
0
 public bool OperatorSignatureExists(OperatorDeclaration sig)
 {
     if (sig.Type == ASTNodeType.InfixOperator)
     {
         return(Operators.Any(opdecl => opdecl.Value.Type == ASTNodeType.InfixOperator && sig.IdenticalSignature((opdecl.Value as InOpDeclaration))));
     }
     else if (sig.Type == ASTNodeType.PrefixOperator)
     {
         return(Operators.Any(opdecl => opdecl.Value.Type == ASTNodeType.PrefixOperator && sig.IdenticalSignature((opdecl.Value as PreOpDeclaration))));
     }
     else if (sig.Type == ASTNodeType.PostfixOperator)
     {
         return(Operators.Any(opdecl => opdecl.Value.Type == ASTNodeType.PostfixOperator && sig.IdenticalSignature((opdecl.Value as PostOpDeclaration))));
     }
     return(false);
 }