/// <summary> /// Visit Markup /// </summary> /// <param name="markup">Markup to check</param> public override void Visit(Markup markup) { //Check identifier in designator, it should be an XHTML or an user defined function String identifier = markup.GetDesignator().GetIdentifier(); if (SymbolTable.ContainsFunction(identifier)) { //Check arguments FunctionDefinition referencedDefinition = SymbolTable.GetFunctionDefinition(identifier); if (referencedDefinition.GetFormals().Count != markup.GetArguments().Count) { //Arity mismatch ExceptionList.Add(new FunctionCallArityIncorrect(identifier)); } } else { //Check if it is XHTML, if not its undefined if (!IdentifierIsXHTML(identifier) && markup.GetCallState()) { ExceptionList.Add(new UndefinedFunction(identifier)); } } }
/// <summary> /// Visit Markup /// </summary> /// <param name="markup">Markup to check</param> public override void Visit(Markup markup) { //Check identifier in designator, it should be an XHTML or an user defined function String identifier = markup.GetDesignator().GetIdentifier(); if(SymbolTable.ContainsFunction(identifier)) { //Check arguments FunctionDefinition referencedDefinition = SymbolTable.GetFunctionDefinition(identifier); if(referencedDefinition.GetFormals().Count != markup.GetArguments().Count) { //Arity mismatch ExceptionList.Add(new FunctionCallArityIncorrect(identifier)); } } else { //Check if it is XHTML, if not its undefined if (!IdentifierIsXHTML(identifier) && markup.GetCallState()) { ExceptionList.Add(new UndefinedFunction(identifier)); } } }