Lines Matching full:definition
65 Definition* definition = nullptr;
91 definition = fRoot;
101 definition = fParent;
115 definition = fRoot;
117 definition = &fRoot->fLeaves[name];
124 for (auto child : definition->fChildren) {
144 if (fCheckMethods && !definition->checkMethod()) {
149 if (!this->checkEndMarker(markType, definition->fName)) {
153 if (!this->popParentStack(definition)) {
157 definition->fStart = defStart;
159 definition->fFileName = fFileName;
160 definition->fContentStart = fChar;
161 definition->fLineCount = fLineCount;
162 definition->fClone = fCloned;
165 // additionally add definition to class children if it is not already there
166 if (definition->fParent != fRoot) {
167 // fRoot->fChildren.push_back(definition);
170 definition->fName = name;
173 definition->setCanonicalFiddle();
175 definition->fFiddle = name;
178 definition->fFiddle = Definition::NormalizedName(name);
180 definition->fMarkType = markType;
181 definition->fAnonymous = fAnonymous;
182 this->setAsParent(definition);
194 definition = rootDefinition;
195 definition->fFileName = fFileName;
196 definition->fContentStart = fChar;
202 definition->fName = typeNameBuilder[0];
207 Definition* parent = fParent;
217 definition->fName = parent->fName + '_';
219 definition->fName += typeNameBuilder[0];
220 definition->fFiddle = parent->fFiddle + '_';
222 definition->fFiddle += Definition::NormalizedName(typeNameBuilder[0]);
223 this->setAsParent(definition);
226 SkASSERT(hasEnd ? fParent : definition);
227 string fullTopic = hasEnd ? fParent->fFiddle : definition->fFiddle;
228 Definition* defPtr = fTopicMap[fullTopic];
233 if (!definition) {
234 definition = defPtr;
235 } else if (definition != defPtr) {
242 fTopicMap[fullTopic] = definition;
246 if (!this->popParentStack(definition)) {
262 definition = &fRoot->fLeaves[prefixed];
263 definition->fParent = fParent;
264 definition->fStart = defStart;
265 definition->fContentStart = start;
266 definition->fName = name;
267 definition->fFiddle = Definition::NormalizedName(name);
268 definition->fContentEnd = fChar;
270 definition->fTerminator = fChar;
271 definition->fMarkType = markType;
272 definition->fLineCount = fLineCount;
273 fParent->fChildren.push_back(definition);
284 definition = fParent;
293 if (!this->checkParamReturn(definition)) {
299 definition = &fMarkup.front();
300 definition->fName = typeNameBuilder[0];
301 definition->fFiddle = fParent->fFiddle;
302 definition->fContentStart = fChar;
303 definition->fContentEnd = this->trimmedBracketEnd(fMC);
307 definition->fTerminator = fChar;
308 fParent->fChildren.push_back(definition);
324 definition = fParent;
331 if (definition->fChildren.size() == 0) {
332 TextParser emptyCheck(definition);
337 definition->setWrapper();
341 definition = &fMarkup.front();
342 definition->fContentStart = fChar;
343 definition->fName = typeNameBuilder[0];
344 definition->fFiddle = fParent->fFiddle;
350 if (child->fFiddle == definition->fFiddle) {
359 definition->fFiddle = fParent->fFiddle + '_';
360 definition->fFiddle += suffix;
366 this->setAsParent(definition);
399 definition = &fMarkup.front();
400 definition->fName = typeNameBuilder[0];
401 definition->fFiddle = Definition::NormalizedName(typeNameBuilder[0]);
402 definition->fContentStart = fChar;
403 definition->fContentEnd = this->trimmedBracketEnd('\n');
404 definition->fTerminator = this->lineEnd() - 1;
405 fParent->fChildren.push_back(definition);
408 fMarkup.emplace_front(MarkType::kLink, fChar, fLineCount, definition);
411 Definition* link = &fMarkup.front();
418 definition->fContentEnd = link->fContentEnd;
419 definition->fTerminator = fChar;
420 definition->fChildren.emplace_back(link);
429 fAliasMap[alias] = definition;
430 definition->fFiddle = definition->fParent->fFiddle;
440 fMarkup.emplace_front(MarkType::kText, start, fLineCount, definition);
441 Definition* text = &fMarkup.front();
445 definition->fContentEnd = text->fContentEnd;
446 definition->fTerminator = fChar;
447 definition->fChildren.emplace_back(text);
466 SkASSERT(definition);
467 SkASSERT(definition->fName.length() > 0);
472 void BmhParser::reportDuplicates(const Definition& def, const string& dup) const {
483 static Definition* find_fiddle(Definition* def, string name) {
488 Definition* result = find_fiddle(child, name);
496 Definition* BmhParser::findExample(string name) const {
501 Definition* def = find_fiddle(topic.second, name);
509 static void find_examples(const Definition& def, vector<string>* exampleNames) {
580 bool BmhParser::checkParamReturn(const Definition* definition) const {
581 const char* parmEndCheck = definition->fContentEnd;
582 while (parmEndCheck < definition->fTerminator) {
631 const Definition* parent = this->parentSpace();
694 RootDefinition* definition = &fExternals.front();
695 definition->fFileName = fFileName;
696 definition->fName = string(wordStart ,fChar - wordStart);
697 definition->fFiddle = Definition::NormalizedName(definition->fName);
703 static bool dump_examples(FILE* fiddleOut, const Definition& def, bool* continuation) {
706 if (!def.exampleToScript(&result, Definition::ExampleOptions::kAll)) {
785 return this->reportError<bool>("expected definition");
816 Definition* markChar = &fMarkup.front();
869 Definition* comment = &fMarkup.front();
971 const Definition* classMarkup = &mapEntry->second;
972 const Definition* root = classMarkup->fParent;
997 string HackParser::searchTable(const Definition* tableHolder, const Definition* match) {
1007 const Definition* col0 = row->fChildren[0];
1011 && Definition::MethodType::kOperator != match->fMethodType) {
1019 const Definition * col1 = row->fChildren[1];
1036 void HackParser::topicIter(const Definition* topic) {
1084 if (Definition::MethodType::kConstructor == child->fMethodType
1088 if (Definition::MethodType::kOperator == child->fMethodType
1100 const Definition* rootParent = topic;
1151 void HackParser::addOneLiner(const Definition* defTable, const Definition* child, bool hasLine,
1255 const Definition* parent = this->parentSpace();
1304 const Definition* BmhParser::parentSpace() const {
1305 Definition* parent = nullptr;
1306 Definition* test = fParent;
1319 bool BmhParser::popParentStack(Definition* definition) {
1323 if (definition != fParent) {
1324 return this->reportError<bool>("definition end is not parent");
1326 if (!definition->fStart) {
1327 return this->reportError<bool>("definition missing start");
1329 if (definition->fContentEnd) {
1330 return this->reportError<bool>("definition already ended");
1332 definition->fContentEnd = fLine - 1;
1333 definition->fTerminator = fChar;
1334 fParent = definition->fParent;
1341 TextParser::TextParser(const Definition* definition) :
1342 TextParser(definition->fFileName, definition->fContentStart, definition->fContentEnd,
1343 definition->fLineCount) {
1670 const Definition* parent = this->parentSpace();
1709 auto checkName = [markType](const Definition& def, const string& numBuilder) -> bool {
1719 Definition* cloned = nullptr;
1830 static int count_children(const Definition& def, MarkType markType) {