Lines Matching refs:scanner

141                                                    bool isReturn, Scanner* scanner) {  in parseParameterDefinition()  argument
165 scanner->error(lineNumber) << "Should have a name.\n"; in parseParameterDefinition()
171 scanner->error(lineNumber) << "Should have a name.\n"; in parseParameterDefinition()
188 scanner->error(lineNumber) << "Incorrect range " << testOption << "\n"; in parseParameterDefinition()
196 scanner->error(lineNumber) << "Incorrect testOption " << testOption << "\n"; in parseParameterDefinition()
203 scanner->error(lineNumber) << "Incorrect testOption " << testOption << "\n"; in parseParameterDefinition()
210 scanner->error(lineNumber) << "Unrecognized testOption " << testOption << "\n"; in parseParameterDefinition()
222 scanner->error(lineNumber) << "range(,) is only supported for floating point\n"; in parseParameterDefinition()
227 bool VersionInfo::scan(Scanner* scanner, unsigned int maxApiLevel) { in scan() argument
228 if (scanner->findOptionalTag("version:")) { in scan()
229 const string s = scanner->getValue(); in scan()
237 scanner->error() << "Minimum version must >= 9\n"; in scan()
243 scanner->error() << "Maximum version must >= 9\n"; in scan()
247 if (scanner->findOptionalTag("size:")) { in scan()
248 sscanf(scanner->getValue().c_str(), "%i", &intSize); in scan()
275 void Definition::scanDocumentationTags(Scanner* scanner, bool firstOccurence, in scanDocumentationTags() argument
277 if (scanner->findOptionalTag("hidden:")) { in scanDocumentationTags()
278 scanner->checkNoValue(); in scanDocumentationTags()
281 if (scanner->findOptionalTag("deprecated:")) { in scanDocumentationTags()
282 string value = scanner->getValue(); in scanDocumentationTags()
290 scanner->error() << "deprecated entries should have a level > 0\n"; in scanDocumentationTags()
294 if (scanner->findTag("summary:")) { in scanDocumentationTags()
295 mSummary = scanner->getValue(); in scanDocumentationTags()
297 if (scanner->findTag("description:")) { in scanDocumentationTags()
298 scanner->checkNoValue(); in scanDocumentationTags()
299 while (scanner->findOptionalTag("")) { in scanDocumentationTags()
300 mDescription.push_back(scanner->getValue()); in scanDocumentationTags()
304 } else if (scanner->findOptionalTag("summary:")) { in scanDocumentationTags()
305 scanner->error() << "Only the first specification should have a summary.\n"; in scanDocumentationTags()
340 void Function::addParameter(ParameterEntry* entry, Scanner* scanner) { in addParameter() argument
345 scanner->error(entry->lineNumber) in addParameter()
355 void Function::addReturn(ParameterEntry* entry, Scanner* scanner) { in addReturn() argument
360 scanner->error() << "ret: should be documented only for the first variant\n"; in addReturn()
365 void ConstantSpecification::scanConstantSpecification(Scanner* scanner, SpecFile* specFile, in scanConstantSpecification() argument
367 string name = scanner->getValue(); in scanConstantSpecification()
369 if (!info.scan(scanner, maxApiLevel)) { in scanConstantSpecification()
371 scanner->skipUntilTag("end:"); in scanConstantSpecification()
383 if (scanner->findTag("value:")) { in scanConstantSpecification()
384 spec->mValue = scanner->getValue(); in scanConstantSpecification()
386 if (scanner->findTag("type:")) { in scanConstantSpecification()
387 spec->mType = scanner->getValue(); in scanConstantSpecification()
389 constant->scanDocumentationTags(scanner, created, specFile); in scanConstantSpecification()
391 scanner->findTag("end:"); in scanConstantSpecification()
394 void TypeSpecification::scanTypeSpecification(Scanner* scanner, SpecFile* specFile, in scanTypeSpecification() argument
396 string name = scanner->getValue(); in scanTypeSpecification()
398 if (!info.scan(scanner, maxApiLevel)) { in scanTypeSpecification()
400 scanner->skipUntilTag("end:"); in scanTypeSpecification()
412 if (scanner->findOptionalTag("simple:")) { in scanTypeSpecification()
414 spec->mSimpleType = scanner->getValue(); in scanTypeSpecification()
416 if (scanner->findOptionalTag("rs_object:")) { in scanTypeSpecification()
419 if (scanner->findOptionalTag("struct:")) { in scanTypeSpecification()
421 spec->mStructName = scanner->getValue(); in scanTypeSpecification()
422 while (scanner->findOptionalTag("field:")) { in scanTypeSpecification()
423 string s = scanner->getValue(); in scanTypeSpecification()
425 scanner->parseDocumentation(&s, &comment); in scanTypeSpecification()
430 if (scanner->findOptionalTag("enum:")) { in scanTypeSpecification()
432 spec->mEnumName = scanner->getValue(); in scanTypeSpecification()
433 while (scanner->findOptionalTag("value:")) { in scanTypeSpecification()
434 string s = scanner->getValue(); in scanTypeSpecification()
436 scanner->parseDocumentation(&s, &comment); in scanTypeSpecification()
441 if (scanner->findOptionalTag("attrib:")) { in scanTypeSpecification()
442 spec->mAttribute = scanner->getValue(); in scanTypeSpecification()
444 type->scanDocumentationTags(scanner, created, specFile); in scanTypeSpecification()
446 scanner->findTag("end:"); in scanTypeSpecification()
499 void FunctionSpecification::createPermutations(Function* function, Scanner* scanner) { in createPermutations() argument
521 auto p = new FunctionPermutation(function, this, replacementIndexes, scanner); in createPermutations()
554 void FunctionSpecification::parseTest(Scanner* scanner) { in parseTest() argument
555 const string value = scanner->getValue(); in parseTest()
564 scanner->error() << "Incorrect test: \"" << value << "\"\n"; in parseTest()
570 scanner->error() << "Unrecognized test option: \"" << value << "\"\n"; in parseTest()
585 Scanner *scanner) { in checkRSTPatternValidity() argument
591 scanner->error() << "RST_i pattern not allowed here\n"; in checkRSTPatternValidity()
594 scanner->error() << "Found pattern \"" << kRSTypePatterns[i] in checkRSTPatternValidity()
602 void FunctionSpecification::scanFunctionSpecification(Scanner* scanner, SpecFile* specFile, in scanFunctionSpecification() argument
605 const string& unexpandedName = scanner->getValue(); in scanFunctionSpecification()
615 if (!info.scan(scanner, maxApiLevel)) { in scanFunctionSpecification()
617 scanner->skipUntilTag("end:"); in scanFunctionSpecification()
632 if (scanner->findOptionalTag("internal:")) { in scanFunctionSpecification()
633 spec->mInternal = (scanner->getValue() == "true"); in scanFunctionSpecification()
635 if (scanner->findOptionalTag("intrinsic:")) { in scanFunctionSpecification()
636 spec->mIntrinsic = (scanner->getValue() == "true"); in scanFunctionSpecification()
638 if (scanner->findOptionalTag("attrib:")) { in scanFunctionSpecification()
639 spec->mAttribute = scanner->getValue(); in scanFunctionSpecification()
641 if (scanner->findOptionalTag("w:")) { in scanFunctionSpecification()
643 if (scanner->getValue().find("1") != string::npos) { in scanFunctionSpecification()
646 if (scanner->getValue().find("2") != string::npos) { in scanFunctionSpecification()
649 if (scanner->getValue().find("3") != string::npos) { in scanFunctionSpecification()
652 if (scanner->getValue().find("4") != string::npos) { in scanFunctionSpecification()
660 while (scanner->findOptionalTag("t:")) { in scanFunctionSpecification()
661 spec->mReplaceables.push_back(convertToTypeVector(scanner->getValue())); in scanFunctionSpecification()
667 spec->checkRSTPatternValidity(unexpandedName, false, scanner); in scanFunctionSpecification()
669 if (scanner->findTag("ret:")) { in scanFunctionSpecification()
670 ParameterEntry* p = scanner->parseArgString(true); in scanFunctionSpecification()
671 function->addReturn(p, scanner); in scanFunctionSpecification()
675 spec->checkRSTPatternValidity(p->type, false, scanner); in scanFunctionSpecification()
677 while (scanner->findOptionalTag("arg:")) { in scanFunctionSpecification()
678 ParameterEntry* p = scanner->parseArgString(false); in scanFunctionSpecification()
679 function->addParameter(p, scanner); in scanFunctionSpecification()
683 spec->checkRSTPatternValidity(p->type, false, scanner); in scanFunctionSpecification()
684 spec->checkRSTPatternValidity(p->testOption, false, scanner); in scanFunctionSpecification()
687 function->scanDocumentationTags(scanner, created, specFile); in scanFunctionSpecification()
689 if (scanner->findOptionalTag("inline:")) { in scanFunctionSpecification()
690 scanner->checkNoValue(); in scanFunctionSpecification()
691 while (scanner->findOptionalTag("")) { in scanFunctionSpecification()
692 spec->mInline.push_back(scanner->getValue()); in scanFunctionSpecification()
695 spec->checkRSTPatternValidity(spec->mInline.back(), true, scanner); in scanFunctionSpecification()
698 if (scanner->findOptionalTag("test:")) { in scanFunctionSpecification()
699 spec->parseTest(scanner); in scanFunctionSpecification()
702 scanner->findTag("end:"); in scanFunctionSpecification()
704 spec->createPermutations(function, scanner); in scanFunctionSpecification()
708 int replacementIndexes[MAX_REPLACEABLES], Scanner* scanner) in FunctionPermutation() argument
725 def->parseParameterDefinition(type, name, testOption, lineNumber, false, scanner); in FunctionPermutation()
733 scanner->error(lineNumber) in FunctionPermutation()
748 mReturn->parseParameterDefinition(retType, "", "", lineNumber, true, scanner); in FunctionPermutation()
811 Scanner scanner(mSpecFileName, specFile); in readSpecFile() local
814 scanner.skipBlankEntries(); in readSpecFile()
815 if (scanner.findTag("header:")) { in readSpecFile()
816 if (scanner.findTag("summary:")) { in readSpecFile()
817 mBriefDescription = scanner.getValue(); in readSpecFile()
819 if (scanner.findTag("description:")) { in readSpecFile()
820 scanner.checkNoValue(); in readSpecFile()
821 while (scanner.findOptionalTag("")) { in readSpecFile()
822 mFullDescription.push_back(scanner.getValue()); in readSpecFile()
825 if (scanner.findOptionalTag("include:")) { in readSpecFile()
826 scanner.checkNoValue(); in readSpecFile()
827 while (scanner.findOptionalTag("")) { in readSpecFile()
828 mVerbatimInclude.push_back(scanner.getValue()); in readSpecFile()
831 scanner.findTag("end:"); in readSpecFile()
835 scanner.skipBlankEntries(); in readSpecFile()
836 if (scanner.atEnd()) { in readSpecFile()
839 const string tag = scanner.getNextTag(); in readSpecFile()
841 FunctionSpecification::scanFunctionSpecification(&scanner, this, maxApiLevel); in readSpecFile()
843 TypeSpecification::scanTypeSpecification(&scanner, this, maxApiLevel); in readSpecFile()
845 ConstantSpecification::scanConstantSpecification(&scanner, this, maxApiLevel); in readSpecFile()
847 scanner.error() << "Expected function:, type:, or constant:. Found: " << tag << "\n"; in readSpecFile()
853 return scanner.getErrorCount() == 0; in readSpecFile()