1
// THIS FILE IS GENERATED
2
// WARNING! All changes made in this file will be lost!
4
#ifndef PHP_DEBUG_VISITOR_H_INCLUDED
5
#define PHP_DEBUG_VISITOR_H_INCLUDED
7
#include "phpdefaultvisitor.h"
9
#include <parserexport.h>
10
#include <kdev-pg-token-stream.h>
11
#include <QtCore/QTextStream>
12
#include <QtCore/QDebug>
17
class KDEVPHPPARSER_EXPORT DebugVisitor: public DefaultVisitor
20
DebugVisitor(TokenStream *str, const QString& content = QString())
21
: m_str(str), m_indent(0), m_content(content) {}
22
virtual void visitAdditiveExpression(AdditiveExpressionAst *node)
24
if (!m_indent) printToken(node, "additiveExpression");
25
if (node->expression) printToken(node->expression, "multiplicativeExpression", "expression");
26
if (node->additionalExpressionSequence)
28
const KDevPG::ListNode<AdditiveExpressionRestAst*> *__it = node->additionalExpressionSequence->front(), *__end = __it;
31
printToken(__it->element, "additiveExpressionRest", "additionalExpression[]");
34
while (__it != __end);
37
DefaultVisitor::visitAdditiveExpression(node);
41
virtual void visitAdditiveExpressionRest(AdditiveExpressionRestAst *node)
43
if (!m_indent) printToken(node, "additiveExpressionRest");
44
if (node->expression) printToken(node->expression, "multiplicativeExpression", "expression");
46
DefaultVisitor::visitAdditiveExpressionRest(node);
50
virtual void visitArrayPairValue(ArrayPairValueAst *node)
52
if (!m_indent) printToken(node, "arrayPairValue");
53
if (node->expr) printToken(node->expr, "expr", "expr");
54
if (node->exprValue) printToken(node->exprValue, "expr", "exprValue");
55
if (node->varValue) printToken(node->varValue, "variable", "varValue");
56
if (node->variable) printToken(node->variable, "variable", "variable");
58
DefaultVisitor::visitArrayPairValue(node);
62
virtual void visitAssignmentExpression(AssignmentExpressionAst *node)
64
if (!m_indent) printToken(node, "assignmentExpression");
65
if (node->expression) printToken(node->expression, "conditionalExpression", "expression");
66
if (node->assignmentExpressionEqual) printToken(node->assignmentExpressionEqual, "assignmentExpressionEqual", "assignmentExpressionEqual");
67
if (node->assignmentExpression) printToken(node->assignmentExpression, "assignmentExpression", "assignmentExpression");
69
DefaultVisitor::visitAssignmentExpression(node);
73
virtual void visitAssignmentExpressionCheckIfVariable(AssignmentExpressionCheckIfVariableAst *node)
75
if (!m_indent) printToken(node, "assignmentExpressionCheckIfVariable");
77
DefaultVisitor::visitAssignmentExpressionCheckIfVariable(node);
81
virtual void visitAssignmentExpressionEqual(AssignmentExpressionEqualAst *node)
83
if (!m_indent) printToken(node, "assignmentExpressionEqual");
84
if (node->assignmentExpression) printToken(node->assignmentExpression, "assignmentExpression", "assignmentExpression");
86
DefaultVisitor::visitAssignmentExpressionEqual(node);
90
virtual void visitAssignmentList(AssignmentListAst *node)
92
if (!m_indent) printToken(node, "assignmentList");
93
if (node->elementSequence)
95
const KDevPG::ListNode<AssignmentListElementAst*> *__it = node->elementSequence->front(), *__end = __it;
98
printToken(__it->element, "assignmentListElement", "element[]");
101
while (__it != __end);
104
DefaultVisitor::visitAssignmentList(node);
108
virtual void visitAssignmentListElement(AssignmentListElementAst *node)
110
if (!m_indent) printToken(node, "assignmentListElement");
111
if (node->variable) printToken(node->variable, "variable", "variable");
112
if (node->assignmentList) printToken(node->assignmentList, "assignmentList", "assignmentList");
114
DefaultVisitor::visitAssignmentListElement(node);
118
virtual void visitBaseVariable(BaseVariableAst *node)
120
if (!m_indent) printToken(node, "baseVariable");
121
if (node->var) printToken(node->var, "compoundVariableWithSimpleIndirectReference", "var");
122
if (node->offsetItemsSequence)
124
const KDevPG::ListNode<DimListItemAst*> *__it = node->offsetItemsSequence->front(), *__end = __it;
127
printToken(__it->element, "dimListItem", "offsetItems[]");
130
while (__it != __end);
132
if (node->staticMember) printToken(node->staticMember, "staticMember", "staticMember");
134
DefaultVisitor::visitBaseVariable(node);
138
virtual void visitBaseVariableWithFunctionCalls(BaseVariableWithFunctionCallsAst *node)
140
if (!m_indent) printToken(node, "baseVariableWithFunctionCalls");
141
if (node->functionCall) printToken(node->functionCall, "functionCall", "functionCall");
142
if (node->baseVariable) printToken(node->baseVariable, "baseVariable", "baseVariable");
144
DefaultVisitor::visitBaseVariableWithFunctionCalls(node);
148
virtual void visitBitAndExpression(BitAndExpressionAst *node)
150
if (!m_indent) printToken(node, "bitAndExpression");
151
if (node->expressionSequence)
153
const KDevPG::ListNode<EqualityExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
156
printToken(__it->element, "equalityExpression", "expression[]");
159
while (__it != __end);
162
DefaultVisitor::visitBitAndExpression(node);
166
virtual void visitBitOrExpression(BitOrExpressionAst *node)
168
if (!m_indent) printToken(node, "bitOrExpression");
169
if (node->expressionSequence)
171
const KDevPG::ListNode<BitXorExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
174
printToken(__it->element, "bitXorExpression", "expression[]");
177
while (__it != __end);
180
DefaultVisitor::visitBitOrExpression(node);
184
virtual void visitBitXorExpression(BitXorExpressionAst *node)
186
if (!m_indent) printToken(node, "bitXorExpression");
187
if (node->expressionSequence)
189
const KDevPG::ListNode<BitAndExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
192
printToken(__it->element, "bitAndExpression", "expression[]");
195
while (__it != __end);
198
DefaultVisitor::visitBitXorExpression(node);
202
virtual void visitBooleanAndExpression(BooleanAndExpressionAst *node)
204
if (!m_indent) printToken(node, "booleanAndExpression");
205
if (node->expressionSequence)
207
const KDevPG::ListNode<BitOrExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
210
printToken(__it->element, "bitOrExpression", "expression[]");
213
while (__it != __end);
216
DefaultVisitor::visitBooleanAndExpression(node);
220
virtual void visitBooleanOrExpression(BooleanOrExpressionAst *node)
222
if (!m_indent) printToken(node, "booleanOrExpression");
223
if (node->expressionSequence)
225
const KDevPG::ListNode<BooleanAndExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
228
printToken(__it->element, "booleanAndExpression", "expression[]");
231
while (__it != __end);
234
DefaultVisitor::visitBooleanOrExpression(node);
238
virtual void visitCaseList(CaseListAst *node)
240
if (!m_indent) printToken(node, "caseList");
241
if (node->caseItemsSequence)
243
const KDevPG::ListNode<Case_itemAst*> *__it = node->caseItemsSequence->front(), *__end = __it;
246
printToken(__it->element, "case_item", "caseItems[]");
249
while (__it != __end);
252
DefaultVisitor::visitCaseList(node);
256
virtual void visitCase_item(Case_itemAst *node)
258
if (!m_indent) printToken(node, "case_item");
259
if (node->expr) printToken(node->expr, "expr", "expr");
260
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
262
DefaultVisitor::visitCase_item(node);
266
virtual void visitCatchItem(CatchItemAst *node)
268
if (!m_indent) printToken(node, "catchItem");
269
if (node->catchClass) printToken(node->catchClass, "identifier", "catchClass");
270
if (node->var) printToken(node->var, "variableIdentifier", "var");
271
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
273
DefaultVisitor::visitCatchItem(node);
277
virtual void visitClassBody(ClassBodyAst *node)
279
if (!m_indent) printToken(node, "classBody");
280
if (node->classStatementsSequence)
282
const KDevPG::ListNode<ClassStatementAst*> *__it = node->classStatementsSequence->front(), *__end = __it;
285
printToken(__it->element, "classStatement", "classStatements[]");
288
while (__it != __end);
291
DefaultVisitor::visitClassBody(node);
295
virtual void visitClassConstantDeclaration(ClassConstantDeclarationAst *node)
297
if (!m_indent) printToken(node, "classConstantDeclaration");
298
if (node->identifier) printToken(node->identifier, "identifier", "identifier");
299
if (node->scalar) printToken(node->scalar, "staticScalar", "scalar");
301
DefaultVisitor::visitClassConstantDeclaration(node);
305
virtual void visitClassDeclarationStatement(ClassDeclarationStatementAst *node)
307
if (!m_indent) printToken(node, "classDeclarationStatement");
308
if (node->modifier) printToken(node->modifier, "optionalClassModifier", "modifier");
309
if (node->className) printToken(node->className, "identifier", "className");
310
if (node->extends) printToken(node->extends, "classExtends", "extends");
311
if (node->implements) printToken(node->implements, "classImplements", "implements");
312
if (node->body) printToken(node->body, "classBody", "body");
314
DefaultVisitor::visitClassDeclarationStatement(node);
318
virtual void visitClassExtends(ClassExtendsAst *node)
320
if (!m_indent) printToken(node, "classExtends");
321
if (node->identifier) printToken(node->identifier, "identifier", "identifier");
323
DefaultVisitor::visitClassExtends(node);
327
virtual void visitClassImplements(ClassImplementsAst *node)
329
if (!m_indent) printToken(node, "classImplements");
330
if (node->implementsSequence)
332
const KDevPG::ListNode<IdentifierAst*> *__it = node->implementsSequence->front(), *__end = __it;
335
printToken(__it->element, "identifier", "implements[]");
338
while (__it != __end);
341
DefaultVisitor::visitClassImplements(node);
345
virtual void visitClassNameReference(ClassNameReferenceAst *node)
347
if (!m_indent) printToken(node, "classNameReference");
348
if (node->identifier) printToken(node->identifier, "identifier", "identifier");
349
if (node->dynamicClassNameReference) printToken(node->dynamicClassNameReference, "dynamicClassNameReference", "dynamicClassNameReference");
351
DefaultVisitor::visitClassNameReference(node);
355
virtual void visitClassStatement(ClassStatementAst *node)
357
if (!m_indent) printToken(node, "classStatement");
358
if (node->consts) printToken(node->consts, "classConstantDeclaration", "consts");
359
if (node->variable) printToken(node->variable, "classVariableDeclaration", "variable");
360
if (node->modifiers) printToken(node->modifiers, "optionalModifiers", "modifiers");
361
if (node->methodName) printToken(node->methodName, "identifier", "methodName");
362
if (node->parameters) printToken(node->parameters, "parameterList", "parameters");
363
if (node->methodBody) printToken(node->methodBody, "methodBody", "methodBody");
365
DefaultVisitor::visitClassStatement(node);
369
virtual void visitClassVariable(ClassVariableAst *node)
371
if (!m_indent) printToken(node, "classVariable");
372
if (node->variable) printToken(node->variable, "variableIdentifier", "variable");
373
if (node->value) printToken(node->value, "staticScalar", "value");
375
DefaultVisitor::visitClassVariable(node);
379
virtual void visitClassVariableDeclaration(ClassVariableDeclarationAst *node)
381
if (!m_indent) printToken(node, "classVariableDeclaration");
382
if (node->varsSequence)
384
const KDevPG::ListNode<ClassVariableAst*> *__it = node->varsSequence->front(), *__end = __it;
387
printToken(__it->element, "classVariable", "vars[]");
390
while (__it != __end);
393
DefaultVisitor::visitClassVariableDeclaration(node);
397
virtual void visitCommonScalar(CommonScalarAst *node)
399
if (!m_indent) printToken(node, "commonScalar");
401
DefaultVisitor::visitCommonScalar(node);
405
virtual void visitCompoundVariable(CompoundVariableAst *node)
407
if (!m_indent) printToken(node, "compoundVariable");
408
if (node->variable) printToken(node->variable, "variableIdentifier", "variable");
409
if (node->expr) printToken(node->expr, "expr", "expr");
411
DefaultVisitor::visitCompoundVariable(node);
415
virtual void visitCompoundVariableWithSimpleIndirectReference(CompoundVariableWithSimpleIndirectReferenceAst *node)
417
if (!m_indent) printToken(node, "compoundVariableWithSimpleIndirectReference");
418
if (node->indirectVariable) printToken(node->indirectVariable, "variableIdentifier", "indirectVariable");
419
if (node->expr) printToken(node->expr, "expr", "expr");
420
if (node->variable) printToken(node->variable, "variableIdentifier", "variable");
422
DefaultVisitor::visitCompoundVariableWithSimpleIndirectReference(node);
426
virtual void visitConditionalExpression(ConditionalExpressionAst *node)
428
if (!m_indent) printToken(node, "conditionalExpression");
429
if (node->expression) printToken(node->expression, "booleanOrExpression", "expression");
430
if (node->ifExpression) printToken(node->ifExpression, "expr", "ifExpression");
431
if (node->elseExpression) printToken(node->elseExpression, "conditionalExpression", "elseExpression");
433
DefaultVisitor::visitConditionalExpression(node);
437
virtual void visitConstantOrClassConst(ConstantOrClassConstAst *node)
439
if (!m_indent) printToken(node, "constantOrClassConst");
440
if (node->className) printToken(node->className, "identifier", "className");
441
if (node->constant) printToken(node->constant, "identifier", "constant");
443
DefaultVisitor::visitConstantOrClassConst(node);
447
virtual void visitCtorArguments(CtorArgumentsAst *node)
449
if (!m_indent) printToken(node, "ctorArguments");
450
if (node->parameterList) printToken(node->parameterList, "functionCallParameterList", "parameterList");
452
DefaultVisitor::visitCtorArguments(node);
456
virtual void visitDeclareItem(DeclareItemAst *node)
458
if (!m_indent) printToken(node, "declareItem");
459
if (node->scalar) printToken(node->scalar, "staticScalar", "scalar");
461
DefaultVisitor::visitDeclareItem(node);
465
virtual void visitDeclareStatement(DeclareStatementAst *node)
467
if (!m_indent) printToken(node, "declareStatement");
468
if (node->statement) printToken(node->statement, "statement", "statement");
469
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
471
DefaultVisitor::visitDeclareStatement(node);
475
virtual void visitDimListItem(DimListItemAst *node)
477
if (!m_indent) printToken(node, "dimListItem");
478
if (node->dimOffset) printToken(node->dimOffset, "dimOffset", "dimOffset");
479
if (node->expr) printToken(node->expr, "expr", "expr");
481
DefaultVisitor::visitDimListItem(node);
485
virtual void visitDimOffset(DimOffsetAst *node)
487
if (!m_indent) printToken(node, "dimOffset");
488
if (node->expr) printToken(node->expr, "expr", "expr");
490
DefaultVisitor::visitDimOffset(node);
494
virtual void visitDynamicClassNameReference(DynamicClassNameReferenceAst *node)
496
if (!m_indent) printToken(node, "dynamicClassNameReference");
497
if (node->baseVariable) printToken(node->baseVariable, "baseVariable", "baseVariable");
498
if (node->objectProperty) printToken(node->objectProperty, "objectProperty", "objectProperty");
499
if (node->properties) printToken(node->properties, "dynamicClassNameVariableProperties", "properties");
501
DefaultVisitor::visitDynamicClassNameReference(node);
505
virtual void visitDynamicClassNameVariableProperties(DynamicClassNameVariablePropertiesAst *node)
507
if (!m_indent) printToken(node, "dynamicClassNameVariableProperties");
508
if (node->propertiesSequence)
510
const KDevPG::ListNode<DynamicClassNameVariablePropertyAst*> *__it = node->propertiesSequence->front(), *__end = __it;
513
printToken(__it->element, "dynamicClassNameVariableProperty", "properties[]");
516
while (__it != __end);
519
DefaultVisitor::visitDynamicClassNameVariableProperties(node);
523
virtual void visitDynamicClassNameVariableProperty(DynamicClassNameVariablePropertyAst *node)
525
if (!m_indent) printToken(node, "dynamicClassNameVariableProperty");
526
if (node->property) printToken(node->property, "objectProperty", "property");
528
DefaultVisitor::visitDynamicClassNameVariableProperty(node);
532
virtual void visitElseSingle(ElseSingleAst *node)
534
if (!m_indent) printToken(node, "elseSingle");
535
if (node->statement) printToken(node->statement, "statement", "statement");
537
DefaultVisitor::visitElseSingle(node);
541
virtual void visitElseifList(ElseifListAst *node)
543
if (!m_indent) printToken(node, "elseifList");
544
if (node->elseifListItemSequence)
546
const KDevPG::ListNode<ElseifListItemAst*> *__it = node->elseifListItemSequence->front(), *__end = __it;
549
printToken(__it->element, "elseifListItem", "elseifListItem[]");
552
while (__it != __end);
555
DefaultVisitor::visitElseifList(node);
559
virtual void visitElseifListItem(ElseifListItemAst *node)
561
if (!m_indent) printToken(node, "elseifListItem");
562
if (node->expr) printToken(node->expr, "expr", "expr");
563
if (node->statement) printToken(node->statement, "statement", "statement");
565
DefaultVisitor::visitElseifListItem(node);
569
virtual void visitEncaps(EncapsAst *node)
571
if (!m_indent) printToken(node, "encaps");
572
if (node->var) printToken(node->var, "encapsVar", "var");
574
DefaultVisitor::visitEncaps(node);
578
virtual void visitEncapsList(EncapsListAst *node)
580
if (!m_indent) printToken(node, "encapsList");
581
if (node->encapsSequence)
583
const KDevPG::ListNode<EncapsAst*> *__it = node->encapsSequence->front(), *__end = __it;
586
printToken(__it->element, "encaps", "encaps[]");
589
while (__it != __end);
592
DefaultVisitor::visitEncapsList(node);
596
virtual void visitEncapsVar(EncapsVarAst *node)
598
if (!m_indent) printToken(node, "encapsVar");
599
if (node->expr) printToken(node->expr, "expr", "expr");
600
if (node->variable) printToken(node->variable, "variableIdentifier", "variable");
601
if (node->propertyIdentifier) printToken(node->propertyIdentifier, "identifier", "propertyIdentifier");
602
if (node->offset) printToken(node->offset, "encapsVarOffset", "offset");
604
DefaultVisitor::visitEncapsVar(node);
608
virtual void visitEncapsVarOffset(EncapsVarOffsetAst *node)
610
if (!m_indent) printToken(node, "encapsVarOffset");
612
DefaultVisitor::visitEncapsVarOffset(node);
616
virtual void visitEqualityExpression(EqualityExpressionAst *node)
618
if (!m_indent) printToken(node, "equalityExpression");
619
if (node->expression) printToken(node->expression, "relationalExpression", "expression");
620
if (node->additionalExpressionSequence)
622
const KDevPG::ListNode<EqualityExpressionRestAst*> *__it = node->additionalExpressionSequence->front(), *__end = __it;
625
printToken(__it->element, "equalityExpressionRest", "additionalExpression[]");
628
while (__it != __end);
631
DefaultVisitor::visitEqualityExpression(node);
635
virtual void visitEqualityExpressionRest(EqualityExpressionRestAst *node)
637
if (!m_indent) printToken(node, "equalityExpressionRest");
638
if (node->expression) printToken(node->expression, "relationalExpression", "expression");
640
DefaultVisitor::visitEqualityExpressionRest(node);
644
virtual void visitExpr(ExprAst *node)
646
if (!m_indent) printToken(node, "expr");
647
if (node->expression) printToken(node->expression, "logicalOrExpression", "expression");
649
DefaultVisitor::visitExpr(node);
653
virtual void visitForExpr(ForExprAst *node)
655
if (!m_indent) printToken(node, "forExpr");
656
if (node->exprsSequence)
658
const KDevPG::ListNode<ExprAst*> *__it = node->exprsSequence->front(), *__end = __it;
661
printToken(__it->element, "expr", "exprs[]");
664
while (__it != __end);
667
DefaultVisitor::visitForExpr(node);
671
virtual void visitForStatement(ForStatementAst *node)
673
if (!m_indent) printToken(node, "forStatement");
674
if (node->statement) printToken(node->statement, "statement", "statement");
675
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
677
DefaultVisitor::visitForStatement(node);
681
virtual void visitForeachStatement(ForeachStatementAst *node)
683
if (!m_indent) printToken(node, "foreachStatement");
684
if (node->statement) printToken(node->statement, "statement", "statement");
685
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
687
DefaultVisitor::visitForeachStatement(node);
691
virtual void visitForeachVariable(ForeachVariableAst *node)
693
if (!m_indent) printToken(node, "foreachVariable");
694
if (node->variable) printToken(node->variable, "variableIdentifier", "variable");
696
DefaultVisitor::visitForeachVariable(node);
700
virtual void visitFunctionCall(FunctionCallAst *node)
702
if (!m_indent) printToken(node, "functionCall");
703
if (node->stringFunctionNameOrClass) printToken(node->stringFunctionNameOrClass, "identifier", "stringFunctionNameOrClass");
704
if (node->stringParameterList) printToken(node->stringParameterList, "functionCallParameterList", "stringParameterList");
705
if (node->stringFunctionName) printToken(node->stringFunctionName, "identifier", "stringFunctionName");
706
if (node->varFunctionName) printToken(node->varFunctionName, "variableWithoutObjects", "varFunctionName");
707
if (node->varParameterList) printToken(node->varParameterList, "functionCallParameterList", "varParameterList");
709
DefaultVisitor::visitFunctionCall(node);
713
virtual void visitFunctionCallParameterList(FunctionCallParameterListAst *node)
715
if (!m_indent) printToken(node, "functionCallParameterList");
716
if (node->parametersSequence)
718
const KDevPG::ListNode<FunctionCallParameterListElementAst*> *__it = node->parametersSequence->front(), *__end = __it;
721
printToken(__it->element, "functionCallParameterListElement", "parameters[]");
724
while (__it != __end);
727
DefaultVisitor::visitFunctionCallParameterList(node);
731
virtual void visitFunctionCallParameterListElement(FunctionCallParameterListElementAst *node)
733
if (!m_indent) printToken(node, "functionCallParameterListElement");
734
if (node->variable) printToken(node->variable, "variable", "variable");
735
if (node->expr) printToken(node->expr, "expr", "expr");
737
DefaultVisitor::visitFunctionCallParameterListElement(node);
741
virtual void visitFunctionDeclarationStatement(FunctionDeclarationStatementAst *node)
743
if (!m_indent) printToken(node, "functionDeclarationStatement");
744
if (node->functionName) printToken(node->functionName, "identifier", "functionName");
745
if (node->parameters) printToken(node->parameters, "parameterList", "parameters");
746
if (node->functionBody) printToken(node->functionBody, "innerStatementList", "functionBody");
748
DefaultVisitor::visitFunctionDeclarationStatement(node);
752
virtual void visitGlobalVar(GlobalVarAst *node)
754
if (!m_indent) printToken(node, "globalVar");
755
if (node->var) printToken(node->var, "variableIdentifier", "var");
756
if (node->dollarVar) printToken(node->dollarVar, "variable", "dollarVar");
757
if (node->expr) printToken(node->expr, "expr", "expr");
759
DefaultVisitor::visitGlobalVar(node);
763
virtual void visitIdentifier(IdentifierAst *node)
765
if (!m_indent) printToken(node, "identifier");
767
DefaultVisitor::visitIdentifier(node);
771
virtual void visitInnerStatementList(InnerStatementListAst *node)
773
if (!m_indent) printToken(node, "innerStatementList");
774
if (node->statementsSequence)
776
const KDevPG::ListNode<TopStatementAst*> *__it = node->statementsSequence->front(), *__end = __it;
779
printToken(__it->element, "topStatement", "statements[]");
782
while (__it != __end);
785
DefaultVisitor::visitInnerStatementList(node);
789
virtual void visitInterfaceDeclarationStatement(InterfaceDeclarationStatementAst *node)
791
if (!m_indent) printToken(node, "interfaceDeclarationStatement");
792
if (node->interfaceName) printToken(node->interfaceName, "identifier", "interfaceName");
793
if (node->extends) printToken(node->extends, "classImplements", "extends");
794
if (node->body) printToken(node->body, "classBody", "body");
796
DefaultVisitor::visitInterfaceDeclarationStatement(node);
800
virtual void visitLogicalAndExpression(LogicalAndExpressionAst *node)
802
if (!m_indent) printToken(node, "logicalAndExpression");
803
if (node->expressionSequence)
805
const KDevPG::ListNode<PrintExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
808
printToken(__it->element, "printExpression", "expression[]");
811
while (__it != __end);
814
DefaultVisitor::visitLogicalAndExpression(node);
818
virtual void visitLogicalOrExpression(LogicalOrExpressionAst *node)
820
if (!m_indent) printToken(node, "logicalOrExpression");
821
if (node->expressionSequence)
823
const KDevPG::ListNode<LogicalXorExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
826
printToken(__it->element, "logicalXorExpression", "expression[]");
829
while (__it != __end);
832
DefaultVisitor::visitLogicalOrExpression(node);
836
virtual void visitLogicalXorExpression(LogicalXorExpressionAst *node)
838
if (!m_indent) printToken(node, "logicalXorExpression");
839
if (node->expressionSequence)
841
const KDevPG::ListNode<LogicalAndExpressionAst*> *__it = node->expressionSequence->front(), *__end = __it;
844
printToken(__it->element, "logicalAndExpression", "expression[]");
847
while (__it != __end);
850
DefaultVisitor::visitLogicalXorExpression(node);
854
virtual void visitMethodBody(MethodBodyAst *node)
856
if (!m_indent) printToken(node, "methodBody");
857
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
859
DefaultVisitor::visitMethodBody(node);
863
virtual void visitMultiplicativeExpression(MultiplicativeExpressionAst *node)
865
if (!m_indent) printToken(node, "multiplicativeExpression");
866
if (node->expression) printToken(node->expression, "unaryExpression", "expression");
867
if (node->additionalExpressionSequence)
869
const KDevPG::ListNode<MultiplicativeExpressionRestAst*> *__it = node->additionalExpressionSequence->front(), *__end = __it;
872
printToken(__it->element, "multiplicativeExpressionRest", "additionalExpression[]");
875
while (__it != __end);
878
DefaultVisitor::visitMultiplicativeExpression(node);
882
virtual void visitMultiplicativeExpressionRest(MultiplicativeExpressionRestAst *node)
884
if (!m_indent) printToken(node, "multiplicativeExpressionRest");
885
if (node->expression) printToken(node->expression, "unaryExpression", "expression");
887
DefaultVisitor::visitMultiplicativeExpressionRest(node);
891
virtual void visitNewElseSingle(NewElseSingleAst *node)
893
if (!m_indent) printToken(node, "newElseSingle");
894
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
896
DefaultVisitor::visitNewElseSingle(node);
900
virtual void visitNewElseifList(NewElseifListAst *node)
902
if (!m_indent) printToken(node, "newElseifList");
903
if (node->newElseifListItemSequence)
905
const KDevPG::ListNode<NewelseifListItemAst*> *__it = node->newElseifListItemSequence->front(), *__end = __it;
908
printToken(__it->element, "newelseifListItem", "newElseifListItem[]");
911
while (__it != __end);
914
DefaultVisitor::visitNewElseifList(node);
918
virtual void visitNewelseifListItem(NewelseifListItemAst *node)
920
if (!m_indent) printToken(node, "newelseifListItem");
921
if (node->expr) printToken(node->expr, "expr", "expr");
922
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
924
DefaultVisitor::visitNewelseifListItem(node);
928
virtual void visitObjectDimList(ObjectDimListAst *node)
930
if (!m_indent) printToken(node, "objectDimList");
931
if (node->variableName) printToken(node->variableName, "variableName", "variableName");
932
if (node->offsetItemsSequence)
934
const KDevPG::ListNode<DimListItemAst*> *__it = node->offsetItemsSequence->front(), *__end = __it;
937
printToken(__it->element, "dimListItem", "offsetItems[]");
940
while (__it != __end);
943
DefaultVisitor::visitObjectDimList(node);
947
virtual void visitObjectProperty(ObjectPropertyAst *node)
949
if (!m_indent) printToken(node, "objectProperty");
950
if (node->objectDimList) printToken(node->objectDimList, "objectDimList", "objectDimList");
951
if (node->variableWithoutObjects) printToken(node->variableWithoutObjects, "variableWithoutObjects", "variableWithoutObjects");
953
DefaultVisitor::visitObjectProperty(node);
957
virtual void visitOptionalClassModifier(OptionalClassModifierAst *node)
959
if (!m_indent) printToken(node, "optionalClassModifier");
961
DefaultVisitor::visitOptionalClassModifier(node);
965
virtual void visitOptionalModifiers(OptionalModifiersAst *node)
967
if (!m_indent) printToken(node, "optionalModifiers");
969
DefaultVisitor::visitOptionalModifiers(node);
973
virtual void visitParameter(ParameterAst *node)
975
if (!m_indent) printToken(node, "parameter");
976
if (node->parameterType) printToken(node->parameterType, "identifier", "parameterType");
977
if (node->variable) printToken(node->variable, "variableIdentifier", "variable");
978
if (node->defaultValue) printToken(node->defaultValue, "staticScalar", "defaultValue");
980
DefaultVisitor::visitParameter(node);
984
virtual void visitParameterList(ParameterListAst *node)
986
if (!m_indent) printToken(node, "parameterList");
987
if (node->parametersSequence)
989
const KDevPG::ListNode<ParameterAst*> *__it = node->parametersSequence->front(), *__end = __it;
992
printToken(__it->element, "parameter", "parameters[]");
995
while (__it != __end);
998
DefaultVisitor::visitParameterList(node);
1002
virtual void visitPostprefixOperator(PostprefixOperatorAst *node)
1004
if (!m_indent) printToken(node, "postprefixOperator");
1006
DefaultVisitor::visitPostprefixOperator(node);
1010
virtual void visitPrintExpression(PrintExpressionAst *node)
1012
if (!m_indent) printToken(node, "printExpression");
1013
if (node->expression) printToken(node->expression, "assignmentExpression", "expression");
1015
DefaultVisitor::visitPrintExpression(node);
1019
virtual void visitRelationalExpression(RelationalExpressionAst *node)
1021
if (!m_indent) printToken(node, "relationalExpression");
1022
if (node->expression) printToken(node->expression, "shiftExpression", "expression");
1023
if (node->additionalExpressionSequence)
1025
const KDevPG::ListNode<RelationalExpressionRestAst*> *__it = node->additionalExpressionSequence->front(), *__end = __it;
1028
printToken(__it->element, "relationalExpressionRest", "additionalExpression[]");
1031
while (__it != __end);
1033
if (node->instanceofType) printToken(node->instanceofType, "classNameReference", "instanceofType");
1035
DefaultVisitor::visitRelationalExpression(node);
1039
virtual void visitRelationalExpressionRest(RelationalExpressionRestAst *node)
1041
if (!m_indent) printToken(node, "relationalExpressionRest");
1042
if (node->expression) printToken(node->expression, "shiftExpression", "expression");
1044
DefaultVisitor::visitRelationalExpressionRest(node);
1048
virtual void visitScalar(ScalarAst *node)
1050
if (!m_indent) printToken(node, "scalar");
1051
if (node->commonScalar) printToken(node->commonScalar, "commonScalar", "commonScalar");
1052
if (node->constantOrClassConst) printToken(node->constantOrClassConst, "constantOrClassConst", "constantOrClassConst");
1053
if (node->encapsList) printToken(node->encapsList, "encapsList", "encapsList");
1055
DefaultVisitor::visitScalar(node);
1059
virtual void visitSemicolonOrCloseTag(SemicolonOrCloseTagAst *node)
1061
if (!m_indent) printToken(node, "semicolonOrCloseTag");
1063
DefaultVisitor::visitSemicolonOrCloseTag(node);
1067
virtual void visitShiftExpression(ShiftExpressionAst *node)
1069
if (!m_indent) printToken(node, "shiftExpression");
1070
if (node->expression) printToken(node->expression, "additiveExpression", "expression");
1071
if (node->additionalExpressionSequence)
1073
const KDevPG::ListNode<ShiftExpressionRestAst*> *__it = node->additionalExpressionSequence->front(), *__end = __it;
1076
printToken(__it->element, "shiftExpressionRest", "additionalExpression[]");
1079
while (__it != __end);
1082
DefaultVisitor::visitShiftExpression(node);
1086
virtual void visitShiftExpressionRest(ShiftExpressionRestAst *node)
1088
if (!m_indent) printToken(node, "shiftExpressionRest");
1089
if (node->expression) printToken(node->expression, "additiveExpression", "expression");
1091
DefaultVisitor::visitShiftExpressionRest(node);
1095
virtual void visitStart(StartAst *node)
1097
if (!m_indent) printToken(node, "start");
1098
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
1100
DefaultVisitor::visitStart(node);
1104
virtual void visitStatement(StatementAst *node)
1106
if (!m_indent) printToken(node, "statement");
1107
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
1108
if (node->ifExpr) printToken(node->ifExpr, "expr", "ifExpr");
1109
if (node->ifStatement) printToken(node->ifStatement, "statement", "ifStatement");
1110
if (node->elseifList) printToken(node->elseifList, "elseifList", "elseifList");
1111
if (node->elseSingle) printToken(node->elseSingle, "elseSingle", "elseSingle");
1112
if (node->whileExpr) printToken(node->whileExpr, "expr", "whileExpr");
1113
if (node->whilteStatement) printToken(node->whilteStatement, "whileStatement", "whilteStatement");
1114
if (node->forExpr1) printToken(node->forExpr1, "forExpr", "forExpr1");
1115
if (node->forExpr2) printToken(node->forExpr2, "forExpr", "forExpr2");
1116
if (node->forExpr3) printToken(node->forExpr3, "forExpr", "forExpr3");
1117
if (node->forStatement) printToken(node->forStatement, "forStatement", "forStatement");
1118
if (node->swtichExpr) printToken(node->swtichExpr, "expr", "swtichExpr");
1119
if (node->switchCaseList) printToken(node->switchCaseList, "switchCaseList", "switchCaseList");
1120
if (node->foreachVar) printToken(node->foreachVar, "variable", "foreachVar");
1121
if (node->foreachVarAsVar) printToken(node->foreachVarAsVar, "foreachVariable", "foreachVarAsVar");
1122
if (node->foreachExpr) printToken(node->foreachExpr, "expr", "foreachExpr");
1123
if (node->foreachExprAsVar) printToken(node->foreachExprAsVar, "variableIdentifier", "foreachExprAsVar");
1124
if (node->foreachVariable) printToken(node->foreachVariable, "foreachVariable", "foreachVariable");
1125
if (node->foreachStatement) printToken(node->foreachStatement, "foreachStatement", "foreachStatement");
1126
if (node->declareItem) printToken(node->declareItem, "declareItem", "declareItem");
1127
if (node->catchesSequence)
1129
const KDevPG::ListNode<CatchItemAst*> *__it = node->catchesSequence->front(), *__end = __it;
1132
printToken(__it->element, "catchItem", "catches[]");
1135
while (__it != __end);
1137
if (node->unsetVariablesSequence)
1139
const KDevPG::ListNode<VariableAst*> *__it = node->unsetVariablesSequence->front(), *__end = __it;
1142
printToken(__it->element, "variable", "unsetVariables[]");
1145
while (__it != __end);
1147
if (node->expr) printToken(node->expr, "expr", "expr");
1148
if (node->doStatement) printToken(node->doStatement, "statement", "doStatement");
1149
if (node->whilteExpr) printToken(node->whilteExpr, "expr", "whilteExpr");
1150
if (node->breakExpr) printToken(node->breakExpr, "expr", "breakExpr");
1151
if (node->continueExpr) printToken(node->continueExpr, "expr", "continueExpr");
1152
if (node->returnExpr) printToken(node->returnExpr, "expr", "returnExpr");
1153
if (node->globalVarsSequence)
1155
const KDevPG::ListNode<GlobalVarAst*> *__it = node->globalVarsSequence->front(), *__end = __it;
1158
printToken(__it->element, "globalVar", "globalVars[]");
1161
while (__it != __end);
1163
if (node->staticVarsSequence)
1165
const KDevPG::ListNode<StaticVarAst*> *__it = node->staticVarsSequence->front(), *__end = __it;
1168
printToken(__it->element, "staticVar", "staticVars[]");
1171
while (__it != __end);
1173
if (node->echoExprsSequence)
1175
const KDevPG::ListNode<ExprAst*> *__it = node->echoExprsSequence->front(), *__end = __it;
1178
printToken(__it->element, "expr", "echoExprs[]");
1181
while (__it != __end);
1183
if (node->throwExpr) printToken(node->throwExpr, "expr", "throwExpr");
1185
DefaultVisitor::visitStatement(node);
1189
virtual void visitStaticArrayPairValue(StaticArrayPairValueAst *node)
1191
if (!m_indent) printToken(node, "staticArrayPairValue");
1192
if (node->val1Sequence)
1194
const KDevPG::ListNode<StaticScalarAst*> *__it = node->val1Sequence->front(), *__end = __it;
1197
printToken(__it->element, "staticScalar", "val1[]");
1200
while (__it != __end);
1202
if (node->val2Sequence)
1204
const KDevPG::ListNode<StaticScalarAst*> *__it = node->val2Sequence->front(), *__end = __it;
1207
printToken(__it->element, "staticScalar", "val2[]");
1210
while (__it != __end);
1213
DefaultVisitor::visitStaticArrayPairValue(node);
1217
virtual void visitStaticMember(StaticMemberAst *node)
1219
if (!m_indent) printToken(node, "staticMember");
1220
if (node->className) printToken(node->className, "identifier", "className");
1221
if (node->variable) printToken(node->variable, "variableWithoutObjects", "variable");
1223
DefaultVisitor::visitStaticMember(node);
1227
virtual void visitStaticScalar(StaticScalarAst *node)
1229
if (!m_indent) printToken(node, "staticScalar");
1230
if (node->value) printToken(node->value, "commonScalar", "value");
1231
if (node->constantOrClassConst) printToken(node->constantOrClassConst, "constantOrClassConst", "constantOrClassConst");
1232
if (node->plusValue) printToken(node->plusValue, "staticScalar", "plusValue");
1233
if (node->minusValue) printToken(node->minusValue, "staticScalar", "minusValue");
1234
if (node->arrayValuesSequence)
1236
const KDevPG::ListNode<StaticArrayPairValueAst*> *__it = node->arrayValuesSequence->front(), *__end = __it;
1239
printToken(__it->element, "staticArrayPairValue", "arrayValues[]");
1242
while (__it != __end);
1245
DefaultVisitor::visitStaticScalar(node);
1249
virtual void visitStaticVar(StaticVarAst *node)
1251
if (!m_indent) printToken(node, "staticVar");
1252
if (node->var) printToken(node->var, "variableIdentifier", "var");
1253
if (node->value) printToken(node->value, "staticScalar", "value");
1255
DefaultVisitor::visitStaticVar(node);
1259
virtual void visitSwitchCaseList(SwitchCaseListAst *node)
1261
if (!m_indent) printToken(node, "switchCaseList");
1262
if (node->caseList) printToken(node->caseList, "caseList", "caseList");
1264
DefaultVisitor::visitSwitchCaseList(node);
1268
virtual void visitTopStatement(TopStatementAst *node)
1270
if (!m_indent) printToken(node, "topStatement");
1271
if (node->statement) printToken(node->statement, "statement", "statement");
1272
if (node->functionDeclaration) printToken(node->functionDeclaration, "functionDeclarationStatement", "functionDeclaration");
1273
if (node->classDeclaration) printToken(node->classDeclaration, "classDeclarationStatement", "classDeclaration");
1274
if (node->interfaceDeclaration) printToken(node->interfaceDeclaration, "interfaceDeclarationStatement", "interfaceDeclaration");
1276
DefaultVisitor::visitTopStatement(node);
1280
virtual void visitUnaryExpression(UnaryExpressionAst *node)
1282
if (!m_indent) printToken(node, "unaryExpression");
1283
if (node->unaryExpression) printToken(node->unaryExpression, "unaryExpression", "unaryExpression");
1284
if (node->assignmentList) printToken(node->assignmentList, "assignmentList", "assignmentList");
1285
if (node->expression) printToken(node->expression, "expr", "expression");
1286
if (node->includeExpression) printToken(node->includeExpression, "unaryExpression", "includeExpression");
1287
if (node->unaryExpressionNotPlusminus) printToken(node->unaryExpressionNotPlusminus, "unaryExpressionNotPlusminus", "unaryExpressionNotPlusminus");
1289
DefaultVisitor::visitUnaryExpression(node);
1293
virtual void visitUnaryExpressionNotPlusminus(UnaryExpressionNotPlusminusAst *node)
1295
if (!m_indent) printToken(node, "unaryExpressionNotPlusminus");
1296
if (node->prefixOperatorSequence)
1298
const KDevPG::ListNode<PostprefixOperatorAst*> *__it = node->prefixOperatorSequence->front(), *__end = __it;
1301
printToken(__it->element, "postprefixOperator", "prefixOperator[]");
1304
while (__it != __end);
1306
if (node->varExpression) printToken(node->varExpression, "varExpression", "varExpression");
1307
if (node->postfixOperatorSequence)
1309
const KDevPG::ListNode<PostprefixOperatorAst*> *__it = node->postfixOperatorSequence->front(), *__end = __it;
1312
printToken(__it->element, "postprefixOperator", "postfixOperator[]");
1315
while (__it != __end);
1318
DefaultVisitor::visitUnaryExpressionNotPlusminus(node);
1322
virtual void visitVarExpression(VarExpressionAst *node)
1324
if (!m_indent) printToken(node, "varExpression");
1325
if (node->variable) printToken(node->variable, "variable", "variable");
1326
if (node->newObject) printToken(node->newObject, "varExpressionNewObject", "newObject");
1327
if (node->varExpressionNormal) printToken(node->varExpressionNormal, "varExpressionNormal", "varExpressionNormal");
1329
DefaultVisitor::visitVarExpression(node);
1333
virtual void visitVarExpressionNewObject(VarExpressionNewObjectAst *node)
1335
if (!m_indent) printToken(node, "varExpressionNewObject");
1336
if (node->className) printToken(node->className, "classNameReference", "className");
1337
if (node->ctor) printToken(node->ctor, "ctorArguments", "ctor");
1339
DefaultVisitor::visitVarExpressionNewObject(node);
1343
virtual void visitVarExpressionNormal(VarExpressionNormalAst *node)
1345
if (!m_indent) printToken(node, "varExpressionNormal");
1346
if (node->expression) printToken(node->expression, "expr", "expression");
1347
if (node->encapsList) printToken(node->encapsList, "encapsList", "encapsList");
1348
if (node->variable) printToken(node->variable, "variable", "variable");
1349
if (node->scalar) printToken(node->scalar, "scalar", "scalar");
1350
if (node->arrayValuesSequence)
1352
const KDevPG::ListNode<ArrayPairValueAst*> *__it = node->arrayValuesSequence->front(), *__end = __it;
1355
printToken(__it->element, "arrayPairValue", "arrayValues[]");
1358
while (__it != __end);
1360
if (node->issetVariableSequence)
1362
const KDevPG::ListNode<VariableAst*> *__it = node->issetVariableSequence->front(), *__end = __it;
1365
printToken(__it->element, "variable", "issetVariable[]");
1368
while (__it != __end);
1370
if (node->emptyVarialbe) printToken(node->emptyVarialbe, "variable", "emptyVarialbe");
1371
if (node->newObject) printToken(node->newObject, "varExpressionNewObject", "newObject");
1372
if (node->cloneCar) printToken(node->cloneCar, "varExpressionNormal", "cloneCar");
1374
DefaultVisitor::visitVarExpressionNormal(node);
1378
virtual void visitVariable(VariableAst *node)
1380
if (!m_indent) printToken(node, "variable");
1381
if (node->var) printToken(node->var, "baseVariableWithFunctionCalls", "var");
1382
if (node->variablePropertiesSequence)
1384
const KDevPG::ListNode<VariablePropertyAst*> *__it = node->variablePropertiesSequence->front(), *__end = __it;
1387
printToken(__it->element, "variableProperty", "variableProperties[]");
1390
while (__it != __end);
1393
DefaultVisitor::visitVariable(node);
1397
virtual void visitVariableIdentifier(VariableIdentifierAst *node)
1399
if (!m_indent) printToken(node, "variableIdentifier");
1401
DefaultVisitor::visitVariableIdentifier(node);
1405
virtual void visitVariableName(VariableNameAst *node)
1407
if (!m_indent) printToken(node, "variableName");
1408
if (node->name) printToken(node->name, "identifier", "name");
1409
if (node->expr) printToken(node->expr, "expr", "expr");
1411
DefaultVisitor::visitVariableName(node);
1415
virtual void visitVariableProperty(VariablePropertyAst *node)
1417
if (!m_indent) printToken(node, "variableProperty");
1418
if (node->objectProperty) printToken(node->objectProperty, "objectProperty", "objectProperty");
1419
if (node->parameterList) printToken(node->parameterList, "functionCallParameterList", "parameterList");
1421
DefaultVisitor::visitVariableProperty(node);
1425
virtual void visitVariableWithoutObjects(VariableWithoutObjectsAst *node)
1427
if (!m_indent) printToken(node, "variableWithoutObjects");
1428
if (node->variable) printToken(node->variable, "compoundVariableWithSimpleIndirectReference", "variable");
1429
if (node->offsetItemsSequence)
1431
const KDevPG::ListNode<DimListItemAst*> *__it = node->offsetItemsSequence->front(), *__end = __it;
1434
printToken(__it->element, "dimListItem", "offsetItems[]");
1437
while (__it != __end);
1440
DefaultVisitor::visitVariableWithoutObjects(node);
1444
virtual void visitWhileStatement(WhileStatementAst *node)
1446
if (!m_indent) printToken(node, "whileStatement");
1447
if (node->statement) printToken(node->statement, "statement", "statement");
1448
if (node->statements) printToken(node->statements, "innerStatementList", "statements");
1450
DefaultVisitor::visitWhileStatement(node);
1455
void printToken(AstNode *node, const QString &mType, const QString &mName = QString())
1457
QString tokenString;
1458
if (!m_content.isEmpty())
1460
TokenStream::Token startToken = m_str->token(node->startToken);
1461
TokenStream::Token endToken = m_str->token(node->endToken);
1462
int begin = startToken.begin;
1463
int end = endToken.end;
1466
tokenString = m_content.mid(begin, 10);
1467
tokenString += " ...";
1468
tokenString += QString("%1 more").arg(end-begin-20);
1469
tokenString += "... ";
1470
tokenString += m_content.mid(end-10, 10);
1474
tokenString = m_content.mid(begin, end-begin+1);
1476
tokenString = tokenString.replace('\n', "\\n");
1477
tokenString = tokenString.replace('\r', "\\r");
1479
qint64 beginLine,endLine,beginCol,endCol;
1480
m_str->startPosition(node->startToken, &beginLine, &beginCol);
1481
m_str->endPosition(node->endToken, &endLine, &endCol);
1482
qDebug() << QString().fill(' ', m_indent) + mName + (!mName.isEmpty() ? "->" : "") + mType + "[" << m_str->token( node->startToken ).begin << "," << beginLine << "," << beginCol << "] --- [" << m_str->token( node->endToken ).end << "," << endLine << "," << endCol << "] " << tokenString;
1489
} // end of namespace Php