/// <summary> /// Converts the given general term into a basic object function term. /// </summary> /// <param name="termAstNode">AST node.</param> /// <returns>Converted basic object function term. Null if cannot be converted.</returns> public static BasicObjectFunctionTerm ToBasicObjectFunctionTerm(TermOrNumericAstNode termAstNode) { var function = termAstNode as FunctionTermAstNode; if (function != null && IsObjectFunction(function)) { var objectFunction = new BasicObjectFunctionTerm(function.Name); function.Terms.ForEach(term => objectFunction.Terms.Add(ToConstantTerm(term))); return(objectFunction); } var identifier = termAstNode as IdentifierTermAstNode; if (identifier != null && IsIdentifierTermObjectFunction(identifier)) { return(new BasicObjectFunctionTerm(identifier.Name)); } return(null); }
public virtual void PostVisit(BasicObjectFunctionTerm data) { }