-
Notifications
You must be signed in to change notification settings - Fork 0
/
Log.txt
1234 lines (1133 loc) · 88.9 KB
/
Log.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1. ->class cager.parser.ASTProcDeclaration - Run - Nivel: 0
1. ->class cager.parser.ASTProcDeclaration - a - Nivel: 0
1. ->class cager.parser.ASTProcDeclaration - Suma - Nivel: 0
1. ->class cager.parser.ASTProcDeclaration - WaitOnProgram - Nivel: 0
1. ->class cager.parser.ASTProcDeclaration - m_WaitForm_Timer - Nivel: 0
0 - 29 -> cager.parser.ASTCompilationUnit 1 CompilationUnit: VERSION...
1 - 1 -> cager.parser.ASTPrimaryExpression 9 PrimaryExpression: VB_Name
2 - 0 -> cager.parser.ASTName 9 Name: VB_Name
1 - 1 -> cager.parser.ASTExpression 9 Expression: "ProgRunner"
2 - 0 -> cager.parser.ASTLiteral 9 Literal: "ProgRunner"
1 - 1 -> cager.parser.ASTPrimaryExpression 10 PrimaryExpression: VB_GlobalNameSpace
2 - 0 -> cager.parser.ASTName 10 Name: VB_GlobalNameSpace
1 - 1 -> cager.parser.ASTExpression 10 Expression: False
2 - 0 -> cager.parser.ASTLiteral 10 Literal: False
1 - 1 -> cager.parser.ASTPrimaryExpression 11 PrimaryExpression: VB_Creatable
2 - 0 -> cager.parser.ASTName 11 Name: VB_Creatable
1 - 1 -> cager.parser.ASTExpression 11 Expression: True
2 - 0 -> cager.parser.ASTLiteral 11 Literal: True
1 - 1 -> cager.parser.ASTPrimaryExpression 12 PrimaryExpression: VB_PredeclaredId
2 - 0 -> cager.parser.ASTName 12 Name: VB_PredeclaredId
1 - 1 -> cager.parser.ASTExpression 12 Expression: False
2 - 0 -> cager.parser.ASTLiteral 12 Literal: False
1 - 1 -> cager.parser.ASTPrimaryExpression 13 PrimaryExpression: VB_Exposed
2 - 0 -> cager.parser.ASTName 13 Name: VB_Exposed
1 - 1 -> cager.parser.ASTExpression 13 Expression: True
2 - 0 -> cager.parser.ASTLiteral 13 Literal: True
1 - 1 -> cager.parser.ASTOption 14 Option: Option...
2 - 0 -> cager.parser.ASTName 14 Name: Explicit
1 - 4 -> cager.parser.ASTDeclare 16 Declare: Private...
2 - 0 -> cager.parser.ASTName 16 Name: OpenProcess
2 - 0 -> cager.parser.ASTLiteral 16 Literal: "kernel32.dll"
2 - 3 -> cager.parser.ASTFormalParamList 16 FormalParamList: ByVal...
3 - 2 -> cager.parser.ASTParamSpec 16 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 16 Name: dwAccess
4 - 1 -> cager.parser.ASTTypeName 16 TypeName: Long
5 - 0 -> cager.parser.ASTName 16 Name: Long
3 - 2 -> cager.parser.ASTParamSpec 16 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 16 Name: fInherit
4 - 1 -> cager.parser.ASTTypeName 16 TypeName: Integer
5 - 0 -> cager.parser.ASTName 16 Name: Integer
3 - 2 -> cager.parser.ASTParamSpec 16 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 16 Name: hObject
4 - 1 -> cager.parser.ASTTypeName 16 TypeName: Long
5 - 0 -> cager.parser.ASTName 16 Name: Long
2 - 0 -> cager.parser.ASTName 16 Name: Long
1 - 4 -> cager.parser.ASTDeclare 17 Declare: Private...
2 - 0 -> cager.parser.ASTName 17 Name: WaitForSingleObject
2 - 0 -> cager.parser.ASTLiteral 17 Literal: "kernel32"
2 - 2 -> cager.parser.ASTFormalParamList 17 FormalParamList: ByVal...
3 - 2 -> cager.parser.ASTParamSpec 17 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 17 Name: hHandle
4 - 1 -> cager.parser.ASTTypeName 17 TypeName: Long
5 - 0 -> cager.parser.ASTName 17 Name: Long
3 - 2 -> cager.parser.ASTParamSpec 17 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 17 Name: lngMilliseconds
4 - 1 -> cager.parser.ASTTypeName 17 TypeName: Long
5 - 0 -> cager.parser.ASTName 17 Name: Long
2 - 0 -> cager.parser.ASTName 17 Name: Long
1 - 4 -> cager.parser.ASTDeclare 18 Declare: Private...
2 - 0 -> cager.parser.ASTName 18 Name: CloseHandle
2 - 0 -> cager.parser.ASTLiteral 18 Literal: "kernel32"
2 - 1 -> cager.parser.ASTFormalParamList 18 FormalParamList: ByVal...
3 - 2 -> cager.parser.ASTParamSpec 18 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 18 Name: hObject
4 - 1 -> cager.parser.ASTTypeName 18 TypeName: Long
5 - 0 -> cager.parser.ASTName 18 Name: Long
2 - 0 -> cager.parser.ASTName 18 Name: Long
1 - 3 -> cager.parser.ASTDeclare 19 Declare: Private...
2 - 0 -> cager.parser.ASTName 19 Name: Sleep
2 - 0 -> cager.parser.ASTLiteral 19 Literal: "kernel32"
2 - 1 -> cager.parser.ASTFormalParamList 19 FormalParamList: ByVal...
3 - 2 -> cager.parser.ASTParamSpec 19 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 19 Name: dwMilliseconds
4 - 1 -> cager.parser.ASTTypeName 19 TypeName: Long
5 - 0 -> cager.parser.ASTName 19 Name: Long
1 - 4 -> cager.parser.ASTDeclare 20 Declare: Private...
2 - 0 -> cager.parser.ASTName 20 Name: GetExitCodeProcess
2 - 0 -> cager.parser.ASTLiteral 20 Literal: "kernel32"
2 - 2 -> cager.parser.ASTFormalParamList 20 FormalParamList: ByVal...
3 - 2 -> cager.parser.ASTParamSpec 20 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 20 Name: hProcess
4 - 1 -> cager.parser.ASTTypeName 20 TypeName: Long
5 - 0 -> cager.parser.ASTName 20 Name: Long
3 - 2 -> cager.parser.ASTParamSpec 20 ParamSpec( ): lpExitCode...
4 - 0 -> cager.parser.ASTName 20 Name: lpExitCode
4 - 1 -> cager.parser.ASTTypeName 20 TypeName: Long
5 - 0 -> cager.parser.ASTName 20 Name: Long
2 - 0 -> cager.parser.ASTName 20 Name: Long
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTConstDeclaration
1 - 2 -> cager.parser.ASTConstDeclaration 22 ConstDeclaration: Private...
2 - 0 -> cager.parser.ASTName 22 Name: PROCESS_QUERY_INFORMATION
2 - 1 -> cager.parser.ASTExpression 22 Expression: &H400
3 - 0 -> cager.parser.ASTLiteral 22 Literal: &H400
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTConstDeclaration
1 - 2 -> cager.parser.ASTConstDeclaration 23 ConstDeclaration: Private...
2 - 0 -> cager.parser.ASTName 23 Name: PROCESS_ALL_ACCESS
2 - 1 -> cager.parser.ASTExpression 23 Expression: &H1F0FFF
3 - 0 -> cager.parser.ASTLiteral 23 Literal: &H1F0FFF
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTConstDeclaration
1 - 2 -> cager.parser.ASTConstDeclaration 24 ConstDeclaration: Private...
2 - 0 -> cager.parser.ASTName 24 Name: STILL_ACTIVE
2 - 1 -> cager.parser.ASTExpression 24 Expression: &H103
3 - 0 -> cager.parser.ASTLiteral 24 Literal: &H103
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
1 - 1 -> cager.parser.ASTDeclaration 26 Declaration: Private...
2 - 2 -> cager.parser.ASTVarDecl 26 VarDecl: WithEvents...
3 - 0 -> cager.parser.ASTName 26 Name: m_WaitForm
3 - 1 -> cager.parser.ASTTypeName 26 TypeName: frmWait
4 - 0 -> cager.parser.ASTName 26 Name: frmWait
1 - 2 -> cager.parser.ASTPrimaryExpression 27 PrimaryExpression: m_WaitForm...
2 - 0 -> cager.parser.ASTName 27 Name: m_WaitForm
2 - 0 -> cager.parser.ASTName 27 Name: VB_VarHelpID
1 - 1 -> cager.parser.ASTExpression 27 Expression: -...
2 - 1 -> cager.parser.ASTUnaryOp 27 UnaryOp Unary -
3 - 0 -> cager.parser.ASTLiteral 27 Literal: 1
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
1 - 1 -> cager.parser.ASTDeclaration 29 Declaration: Private...
2 - 2 -> cager.parser.ASTVarDecl 29 VarDecl: m_ExitCode...
3 - 0 -> cager.parser.ASTName 29 Name: m_ExitCode
3 - 1 -> cager.parser.ASTTypeName 29 TypeName: Long
4 - 0 -> cager.parser.ASTName 29 Name: Long
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
1 - 1 -> cager.parser.ASTDeclaration 30 Declaration: Private...
2 - 2 -> cager.parser.ASTVarDecl 30 VarDecl: m_ProgHandle...
3 - 0 -> cager.parser.ASTName 30 Name: m_ProgHandle
3 - 1 -> cager.parser.ASTTypeName 30 TypeName: Long
4 - 0 -> cager.parser.ASTName 30 Name: Long
1 - 4 -> cager.parser.ASTProcDeclaration 32 ProcDeclaration: Public...
2 - 0 -> cager.parser.ASTName 32 Name: Run
2 - 3 -> cager.parser.ASTFormalParamList 32 FormalParamList: ByVal...
3 - 2 -> cager.parser.ASTParamSpec 32 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 32 Name: cmd
4 - 1 -> cager.parser.ASTTypeName 32 TypeName: String
5 - 0 -> cager.parser.ASTName 32 Name: String
3 - 3 -> cager.parser.ASTParamSpec 32 ParamSpec( Optional ): Optional...
4 - 0 -> cager.parser.ASTName 32 Name: WindowStyle
4 - 2 -> cager.parser.ASTTypeName 32 TypeName: VBA...
5 - 0 -> cager.parser.ASTName 32 Name: VBA
5 - 0 -> cager.parser.ASTName 32 Name: VbAppWinStyle
4 - 1 -> cager.parser.ASTExpression 32 Expression: vbNormalFocus
5 - 0 -> cager.parser.ASTName 32 Name: vbNormalFocus
3 - 2 -> cager.parser.ASTParamSpec 32 ParamSpec( Optional ByVal ): Optional...
4 - 0 -> cager.parser.ASTName 32 Name: Wait
4 - 1 -> cager.parser.ASTTypeName 32 TypeName: Boolean
5 - 0 -> cager.parser.ASTName 32 Name: Boolean
2 - 1 -> cager.parser.ASTTypeName 32 TypeName: Long
3 - 0 -> cager.parser.ASTName 32 Name: Long
2 - 4 -> cager.parser.ASTStatements 33 Statements: Debug.Print...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTStatement
3 - 0 -> cager.parser.ASTStatement 33 Statement: Debug.Print...
METODO: Shell: 107
3 - 2 -> cager.parser.ASTAssignment 34 Assignment: m_ProgHandle...
4 - 1 -> cager.parser.ASTPrimaryExpression 34 PrimaryExpression: m_ProgHandle
5 - 0 -> cager.parser.ASTName 34 Name: m_ProgHandle
4 - 1 -> cager.parser.ASTExpression 34 Expression: Shell...
5 - 2 -> cager.parser.ASTBinOp 34 BinOp Binary ()
6 - 0 -> cager.parser.ASTName 34 Name: Shell
6 - 2 -> cager.parser.ASTArgList 34 ArgList: cmd...
7 - 1 -> cager.parser.ASTArgSpec 34 ArgSpec: cmd
8 - 1 -> cager.parser.ASTExpression 34 Expression: cmd
9 - 0 -> cager.parser.ASTName 34 Name: cmd
7 - 1 -> cager.parser.ASTArgSpec 34 ArgSpec: WindowStyle
8 - 1 -> cager.parser.ASTExpression 34 Expression: WindowStyle
9 - 0 -> cager.parser.ASTName 34 Name: WindowStyle
SENTENCIA IF encontrada!!cager.parser.ASTIfStatement
36 IfStatement: If...
3 - 3 -> cager.parser.ASTIfStatement 36 IfStatement: If...
4 - 1 -> cager.parser.ASTExpression 36 Expression: m_ProgHandle...
5 - 2 -> cager.parser.ASTBinOp 36 BinOp Binary =
6 - 0 -> cager.parser.ASTName 36 Name: m_ProgHandle
6 - 0 -> cager.parser.ASTLiteral 36 Literal: 0
4 - 1 -> cager.parser.ASTStatements 38 Statements: Run...
Detectado un StorabeUnit nuevo!!!! ¿Que hacemos?: Run
5 - 2 -> cager.parser.ASTAssignment 38 Assignment: Run...
6 - 1 -> cager.parser.ASTPrimaryExpression 38 PrimaryExpression: Run
7 - 0 -> cager.parser.ASTName 38 Name: Run
6 - 1 -> cager.parser.ASTExpression 38 Expression: -...
7 - 1 -> cager.parser.ASTUnaryOp 38 UnaryOp Unary -
8 - 0 -> cager.parser.ASTLiteral 38 Literal: 1
4 - 2 -> cager.parser.ASTStatements 40 Statements: Run...
5 - 2 -> cager.parser.ASTAssignment 40 Assignment: Run...
6 - 1 -> cager.parser.ASTPrimaryExpression 40 PrimaryExpression: Run
7 - 0 -> cager.parser.ASTName 40 Name: Run
6 - 1 -> cager.parser.ASTExpression 40 Expression: WaitOnProgram...
7 - 2 -> cager.parser.ASTBinOp 40 BinOp Binary ()
8 - 0 -> cager.parser.ASTName 40 Name: WaitOnProgram
8 - 0 -> cager.parser.ASTArgList ArgList:
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTStatement
5 - 0 -> cager.parser.ASTStatement 41 Statement: Debug.Print...
SENTENCIA IF encontrada!!cager.parser.ASTIfStatement
44 IfStatement: If...
3 - 3 -> cager.parser.ASTIfStatement 44 IfStatement: If...
4 - 1 -> cager.parser.ASTExpression 44 Expression: suma...
5 - 2 -> cager.parser.ASTBinOp 44 BinOp Binary =
6 - 2 -> cager.parser.ASTBinOp 44 BinOp Binary ()
7 - 0 -> cager.parser.ASTName 44 Name: suma
7 - 2 -> cager.parser.ASTArgList 44 ArgList: 3...
8 - 1 -> cager.parser.ASTArgSpec 44 ArgSpec: 3
9 - 1 -> cager.parser.ASTExpression 44 Expression: 3
10 - 0 -> cager.parser.ASTLiteral 44 Literal: 3
8 - 1 -> cager.parser.ASTArgSpec 44 ArgSpec: 4
9 - 1 -> cager.parser.ASTExpression 44 Expression: 4
10 - 0 -> cager.parser.ASTLiteral 44 Literal: 4
6 - 0 -> cager.parser.ASTLiteral 44 Literal: 7
4 - 1 -> cager.parser.ASTStatements 45 Statements: Run...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
5 - 2 -> cager.parser.ASTMethodCall 45 MethodCall: Run...
6 - 1 -> cager.parser.ASTPrimaryExpression 45 PrimaryExpression: Run
7 - 0 -> cager.parser.ASTName 45 Name: Run
6 - 1 -> cager.parser.ASTArgList 45 ArgList: -...
7 - 1 -> cager.parser.ASTArgSpec 45 ArgSpec: -...
8 - 1 -> cager.parser.ASTExpression 45 Expression: -...
9 - 1 -> cager.parser.ASTUnaryOp 45 UnaryOp Unary -
10 - 0 -> cager.parser.ASTLiteral 45 Literal: 1
4 - 2 -> cager.parser.ASTStatements 47 Statements: Run...
5 - 2 -> cager.parser.ASTAssignment 47 Assignment: Run...
6 - 1 -> cager.parser.ASTPrimaryExpression 47 PrimaryExpression: Run
7 - 0 -> cager.parser.ASTName 47 Name: Run
6 - 1 -> cager.parser.ASTExpression 47 Expression: WaitOnProgram...
7 - 2 -> cager.parser.ASTBinOp 47 BinOp Binary ()
8 - 0 -> cager.parser.ASTName 47 Name: WaitOnProgram
8 - 0 -> cager.parser.ASTArgList ArgList:
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTStatement
5 - 0 -> cager.parser.ASTStatement 48 Statement: Debug.Print...
1 - 4 -> cager.parser.ASTProcDeclaration 53 ProcDeclaration: Public...
2 - 0 -> cager.parser.ASTName 53 Name: a
2 - 0 -> cager.parser.ASTFormalParamList FormalParamList:
2 - 1 -> cager.parser.ASTTypeName 53 TypeName: Long
3 - 0 -> cager.parser.ASTName 53 Name: Long
2 - 1 -> cager.parser.ASTStatements 55 Statements: a...
Detectado un StorabeUnit nuevo!!!! ¿Que hacemos?: a
ESTO ES UN ASTBinOp distinto.
3 - 2 -> cager.parser.ASTAssignment 55 Assignment: a...
4 - 1 -> cager.parser.ASTPrimaryExpression 55 PrimaryExpression: a
5 - 0 -> cager.parser.ASTName 55 Name: a
4 - 1 -> cager.parser.ASTExpression 55 Expression: 3...
5 - 2 -> cager.parser.ASTBinOp 55 BinOp Binary +
6 - 0 -> cager.parser.ASTLiteral 55 Literal: 3
6 - 0 -> cager.parser.ASTLiteral 55 Literal: 5
1 - 4 -> cager.parser.ASTProcDeclaration 61 ProcDeclaration: Public...
2 - 0 -> cager.parser.ASTName 61 Name: Suma
2 - 2 -> cager.parser.ASTFormalParamList 61 FormalParamList: ByVal...
3 - 2 -> cager.parser.ASTParamSpec 61 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 61 Name: a
4 - 1 -> cager.parser.ASTTypeName 61 TypeName: Long
5 - 0 -> cager.parser.ASTName 61 Name: Long
3 - 2 -> cager.parser.ASTParamSpec 61 ParamSpec( ByVal ): ByVal...
4 - 0 -> cager.parser.ASTName 61 Name: b
4 - 1 -> cager.parser.ASTTypeName 61 TypeName: Long
5 - 0 -> cager.parser.ASTName 61 Name: Long
2 - 1 -> cager.parser.ASTTypeName 61 TypeName: Long
3 - 0 -> cager.parser.ASTName 61 Name: Long
2 - 2 -> cager.parser.ASTStatements 63 Statements: Suma...
Detectado un StorabeUnit nuevo!!!! ¿Que hacemos?: Suma
3 - 2 -> cager.parser.ASTAssignment 63 Assignment: Suma...
4 - 1 -> cager.parser.ASTPrimaryExpression 63 PrimaryExpression: Suma
5 - 0 -> cager.parser.ASTName 63 Name: Suma
4 - 1 -> cager.parser.ASTExpression 63 Expression: a...
5 - 2 -> cager.parser.ASTBinOp 63 BinOp Binary +
6 - 0 -> cager.parser.ASTName 63 Name: a
6 - 0 -> cager.parser.ASTName 63 Name: b
ESTO ES UN ASTBinOp distinto.
3 - 2 -> cager.parser.ASTAssignment 65 Assignment: Suma...
4 - 1 -> cager.parser.ASTPrimaryExpression 65 PrimaryExpression: Suma
5 - 0 -> cager.parser.ASTName 65 Name: Suma
4 - 1 -> cager.parser.ASTExpression 65 Expression: b...
5 - 2 -> cager.parser.ASTBinOp 65 BinOp Binary +
6 - 2 -> cager.parser.ASTBinOp 65 BinOp Binary +
7 - 0 -> cager.parser.ASTName 65 Name: b
7 - 0 -> cager.parser.ASTName 65 Name: a
6 - 2 -> cager.parser.ASTBinOp 65 BinOp Binary ()
7 - 0 -> cager.parser.ASTName 65 Name: Suma
7 - 2 -> cager.parser.ASTArgList 65 ArgList: 3...
8 - 1 -> cager.parser.ASTArgSpec 65 ArgSpec: 3
9 - 1 -> cager.parser.ASTExpression 65 Expression: 3
10 - 0 -> cager.parser.ASTLiteral 65 Literal: 3
8 - 1 -> cager.parser.ASTArgSpec 65 ArgSpec: 4
9 - 1 -> cager.parser.ASTExpression 65 Expression: 4
10 - 0 -> cager.parser.ASTLiteral 65 Literal: 4
1 - 4 -> cager.parser.ASTProcDeclaration 69 ProcDeclaration: Private...
2 - 0 -> cager.parser.ASTName 69 Name: WaitOnProgram
2 - 0 -> cager.parser.ASTFormalParamList FormalParamList:
2 - 1 -> cager.parser.ASTTypeName 69 TypeName: Long
3 - 0 -> cager.parser.ASTName 69 Name: Long
2 - 3 -> cager.parser.ASTStatements 70 Statements: Set...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTSetStatement
3 - 2 -> cager.parser.ASTSetStatement 70 SetStatement: Set...
4 - 1 -> cager.parser.ASTPrimaryExpression 70 PrimaryExpression: m_WaitForm
5 - 0 -> cager.parser.ASTName 70 Name: m_WaitForm
4 - 1 -> cager.parser.ASTExpression 70 Expression: New...
5 - 1 -> cager.parser.ASTUnaryOp 70 UnaryOp Unary New
6 - 0 -> cager.parser.ASTName 70 Name: frmWait
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
3 - 2 -> cager.parser.ASTMethodCall 71 MethodCall: m_WaitForm...
4 - 2 -> cager.parser.ASTPrimaryExpression 71 PrimaryExpression: m_WaitForm...
5 - 0 -> cager.parser.ASTName 71 Name: m_WaitForm
5 - 0 -> cager.parser.ASTName 71 Name: ShowWait
4 - 1 -> cager.parser.ASTArgList 71 ArgList: 500
5 - 1 -> cager.parser.ASTArgSpec 71 ArgSpec: 500
6 - 1 -> cager.parser.ASTExpression 71 Expression: 500
7 - 0 -> cager.parser.ASTLiteral 71 Literal: 500
Detectado un StorabeUnit nuevo!!!! ¿Que hacemos?: WaitOnProgram
3 - 2 -> cager.parser.ASTAssignment 73 Assignment: WaitOnProgram...
4 - 1 -> cager.parser.ASTPrimaryExpression 73 PrimaryExpression: WaitOnProgram
5 - 0 -> cager.parser.ASTName 73 Name: WaitOnProgram
4 - 1 -> cager.parser.ASTExpression 73 Expression: m_ExitCode
5 - 0 -> cager.parser.ASTName 73 Name: m_ExitCode
1 - 3 -> cager.parser.ASTProcDeclaration 76 ProcDeclaration: Private...
2 - 0 -> cager.parser.ASTName 76 Name: m_WaitForm_Timer
2 - 0 -> cager.parser.ASTFormalParamList FormalParamList:
2 - 18 -> cager.parser.ASTStatements 77 Statements: Dim...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
3 - 1 -> cager.parser.ASTDeclaration 77 Declaration: Dim...
4 - 2 -> cager.parser.ASTVarDecl 77 VarDecl: iExit...
5 - 0 -> cager.parser.ASTName 77 Name: iExit
5 - 1 -> cager.parser.ASTTypeName 77 TypeName: Long
6 - 0 -> cager.parser.ASTName 77 Name: Long
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
3 - 1 -> cager.parser.ASTDeclaration 78 Declaration: Dim...
4 - 2 -> cager.parser.ASTVarDecl 78 VarDecl: hProg...
5 - 0 -> cager.parser.ASTName 78 Name: hProg
5 - 1 -> cager.parser.ASTTypeName 78 TypeName: Long
6 - 0 -> cager.parser.ASTName 78 Name: Long
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
3 - 1 -> cager.parser.ASTDeclaration 81 Declaration: Dim...
4 - 2 -> cager.parser.ASTVarDecl 81 VarDecl: aux...
5 - 0 -> cager.parser.ASTName 81 Name: aux
5 - 1 -> cager.parser.ASTTypeName 81 TypeName: Long
6 - 0 -> cager.parser.ASTName 81 Name: Long
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
3 - 1 -> cager.parser.ASTDeclaration 84 Declaration: Dim...
4 - 2 -> cager.parser.ASTVarDecl 84 VarDecl: Counts...
5 - 0 -> cager.parser.ASTName 84 Name: Counts
5 - 1 -> cager.parser.ASTTypeName 84 TypeName: Integer
6 - 0 -> cager.parser.ASTName 84 Name: Integer
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
3 - 1 -> cager.parser.ASTDeclaration 85 Declaration: Dim...
4 - 2 -> cager.parser.ASTVarDecl 85 VarDecl: found...
5 - 0 -> cager.parser.ASTName 85 Name: found
5 - 1 -> cager.parser.ASTTypeName 85 TypeName: Boolean
6 - 0 -> cager.parser.ASTName 85 Name: Boolean
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
3 - 1 -> cager.parser.ASTDeclaration 86 Declaration: Dim...
4 - 2 -> cager.parser.ASTVarDecl 86 VarDecl: thisCollection...
5 - 0 -> cager.parser.ASTName 86 Name: thisCollection
5 - 1 -> cager.parser.ASTUnaryOp 86 UnaryOp Unary New
6 - 1 -> cager.parser.ASTTypeName 86 TypeName: Collection
7 - 0 -> cager.parser.ASTName 86 Name: Collection
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTDeclaration
3 - 1 -> cager.parser.ASTDeclaration 87 Declaration: Dim...
4 - 2 -> cager.parser.ASTVarDecl 87 VarDecl: counter...
5 - 0 -> cager.parser.ASTName 87 Name: counter
5 - 1 -> cager.parser.ASTTypeName 87 TypeName: Integer
6 - 0 -> cager.parser.ASTName 87 Name: Integer
3 - 2 -> cager.parser.ASTAssignment 90 Assignment: hProg...
4 - 1 -> cager.parser.ASTPrimaryExpression 90 PrimaryExpression: hProg
5 - 0 -> cager.parser.ASTName 90 Name: hProg
4 - 1 -> cager.parser.ASTExpression 90 Expression: OpenProcess...
5 - 2 -> cager.parser.ASTBinOp 90 BinOp Binary ()
6 - 0 -> cager.parser.ASTName 90 Name: OpenProcess
6 - 3 -> cager.parser.ASTArgList 90 ArgList: PROCESS_ALL_ACCESS...
7 - 1 -> cager.parser.ASTArgSpec 90 ArgSpec: PROCESS_ALL_ACCESS
8 - 1 -> cager.parser.ASTExpression 90 Expression: PROCESS_ALL_ACCESS
9 - 0 -> cager.parser.ASTName 90 Name: PROCESS_ALL_ACCESS
7 - 1 -> cager.parser.ASTArgSpec 90 ArgSpec: False
8 - 1 -> cager.parser.ASTExpression 90 Expression: False
9 - 0 -> cager.parser.ASTLiteral 90 Literal: False
7 - 1 -> cager.parser.ASTArgSpec 90 ArgSpec: m_ProgHandle
8 - 1 -> cager.parser.ASTExpression 90 Expression: m_ProgHandle
9 - 0 -> cager.parser.ASTName 90 Name: m_ProgHandle
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
3 - 2 -> cager.parser.ASTMethodCall 92 MethodCall: GetExitCodeProcess...
4 - 1 -> cager.parser.ASTPrimaryExpression 92 PrimaryExpression: GetExitCodeProcess
5 - 0 -> cager.parser.ASTName 92 Name: GetExitCodeProcess
4 - 2 -> cager.parser.ASTArgList 92 ArgList: hProg...
5 - 1 -> cager.parser.ASTArgSpec 92 ArgSpec: hProg
6 - 1 -> cager.parser.ASTExpression 92 Expression: hProg
7 - 0 -> cager.parser.ASTName 92 Name: hProg
5 - 1 -> cager.parser.ASTArgSpec 92 ArgSpec: iExit
6 - 1 -> cager.parser.ASTExpression 92 Expression: iExit
7 - 0 -> cager.parser.ASTName 92 Name: iExit
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
3 - 2 -> cager.parser.ASTMethodCall 94 MethodCall: CloseHandle...
4 - 1 -> cager.parser.ASTPrimaryExpression 94 PrimaryExpression: CloseHandle
5 - 0 -> cager.parser.ASTName 94 Name: CloseHandle
4 - 1 -> cager.parser.ASTArgList 94 ArgList: hProg
5 - 1 -> cager.parser.ASTArgSpec 94 ArgSpec: hProg
6 - 1 -> cager.parser.ASTExpression 94 Expression: hProg
7 - 0 -> cager.parser.ASTName 94 Name: hProg
SENTENCIA IF encontrada!!cager.parser.ASTIfStatement
98 IfStatement: If...
3 - 2 -> cager.parser.ASTIfStatement 98 IfStatement: If...
4 - 1 -> cager.parser.ASTExpression 98 Expression: iExit...
5 - 2 -> cager.parser.ASTBinOp 98 BinOp Binary <>
6 - 0 -> cager.parser.ASTName 98 Name: iExit
6 - 0 -> cager.parser.ASTName 98 Name: STILL_ACTIVE
4 - 3 -> cager.parser.ASTStatements 99 Statements: m_ExitCode...
5 - 2 -> cager.parser.ASTAssignment 99 Assignment: m_ExitCode...
6 - 1 -> cager.parser.ASTPrimaryExpression 99 PrimaryExpression: m_ExitCode
7 - 0 -> cager.parser.ASTName 99 Name: m_ExitCode
6 - 1 -> cager.parser.ASTExpression 99 Expression: iExit
7 - 0 -> cager.parser.ASTName 99 Name: iExit
Detectado un StorabeUnit nuevo!!!! ¿Que hacemos?: m_WaitForm
5 - 2 -> cager.parser.ASTAssignment 100 Assignment: m_WaitForm...
6 - 2 -> cager.parser.ASTPrimaryExpression 100 PrimaryExpression: m_WaitForm...
7 - 0 -> cager.parser.ASTName 100 Name: m_WaitForm
7 - 0 -> cager.parser.ASTName 100 Name: Visible
6 - 1 -> cager.parser.ASTExpression 100 Expression: False
7 - 0 -> cager.parser.ASTLiteral 100 Literal: False
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTSetStatement
5 - 2 -> cager.parser.ASTSetStatement 101 SetStatement: Set...
6 - 1 -> cager.parser.ASTPrimaryExpression 101 PrimaryExpression: m_WaitForm
7 - 0 -> cager.parser.ASTName 101 Name: m_WaitForm
6 - 1 -> cager.parser.ASTExpression 101 Expression: Nothing
7 - 0 -> cager.parser.ASTName 101 Name: Nothing
SENTENCIA FOR encontrada!!cager.parser.ASTForStatement
3 - 5 -> cager.parser.ASTForStatement 106 ForStatement: FOR...
4 - 0 -> cager.parser.ASTName 106 Name: i
4 - 1 -> cager.parser.ASTExpression 106 Expression: 0
5 - 0 -> cager.parser.ASTLiteral 106 Literal: 0
4 - 1 -> cager.parser.ASTExpression 106 Expression: 6
5 - 0 -> cager.parser.ASTLiteral 106 Literal: 6
4 - 1 -> cager.parser.ASTExpression 106 Expression: 2
5 - 0 -> cager.parser.ASTLiteral 106 Literal: 2
4 - 1 -> cager.parser.ASTStatements 107 Statements: aux...
Encontrado un Hijo de ASTExpression que no es ASTName
5 - 2 -> cager.parser.ASTAssignment 107 Assignment: aux...
6 - 1 -> cager.parser.ASTPrimaryExpression 107 PrimaryExpression: aux
7 - 0 -> cager.parser.ASTName 107 Name: aux
6 - 1 -> cager.parser.ASTExpression 107 Expression: i
7 - 0 -> cager.parser.ASTName 107 Name: i
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTCaseStatement
3 - 12 -> cager.parser.ASTCaseStatement 112 CaseStatement: Select...
4 - 1 -> cager.parser.ASTExpression 112 Expression: number
5 - 0 -> cager.parser.ASTName 112 Name: number
4 - 2 -> cager.parser.ASTCaseExpr 113 CaseExpr: 1...
5 - 1 -> cager.parser.ASTExpression 113 Expression: 1
6 - 0 -> cager.parser.ASTLiteral 113 Literal: 1
5 - 1 -> cager.parser.ASTExpression 113 Expression: 5
6 - 0 -> cager.parser.ASTLiteral 113 Literal: 5
4 - 1 -> cager.parser.ASTStatements 113 Statements:
...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
5 - 2 -> cager.parser.ASTMethodCall 114 MethodCall: Debug...
6 - 3 -> cager.parser.ASTPrimaryExpression 114 PrimaryExpression: Debug...
7 - 0 -> cager.parser.ASTName 114 Name: Debug
7 - 0 -> cager.parser.ASTName 114 Name: WriteLine
7 - 1 -> cager.parser.ASTArgList 114 ArgList: "Between 1 and 5, inclusive"
8 - 1 -> cager.parser.ASTArgSpec 114 ArgSpec: "Between 1 and 5, inclusive"
9 - 1 -> cager.parser.ASTExpression 114 Expression: "Between 1 and 5, inclusive"
10 - 0 -> cager.parser.ASTLiteral 114 Literal: "Between 1 and 5, inclusive"
6 - 0 -> cager.parser.ASTArgList ArgList:
4 - 1 -> cager.parser.ASTCaseExpr 116 CaseExpr: 6
5 - 1 -> cager.parser.ASTExpression 116 Expression: 6
6 - 0 -> cager.parser.ASTLiteral 116 Literal: 6
4 - 1 -> cager.parser.ASTCaseExpr 116 CaseExpr: 7
5 - 1 -> cager.parser.ASTExpression 116 Expression: 7
6 - 0 -> cager.parser.ASTLiteral 116 Literal: 7
4 - 1 -> cager.parser.ASTCaseExpr 116 CaseExpr: 8
5 - 1 -> cager.parser.ASTExpression 116 Expression: 8
6 - 0 -> cager.parser.ASTLiteral 116 Literal: 8
4 - 1 -> cager.parser.ASTStatements 116 Statements:
...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
5 - 2 -> cager.parser.ASTMethodCall 117 MethodCall: Debug...
6 - 3 -> cager.parser.ASTPrimaryExpression 117 PrimaryExpression: Debug...
7 - 0 -> cager.parser.ASTName 117 Name: Debug
7 - 0 -> cager.parser.ASTName 117 Name: WriteLine
7 - 1 -> cager.parser.ASTArgList 117 ArgList: "Between 6 and 8, inclusive"
8 - 1 -> cager.parser.ASTArgSpec 117 ArgSpec: "Between 6 and 8, inclusive"
9 - 1 -> cager.parser.ASTExpression 117 Expression: "Between 6 and 8, inclusive"
10 - 0 -> cager.parser.ASTLiteral 117 Literal: "Between 6 and 8, inclusive"
6 - 0 -> cager.parser.ASTArgList ArgList:
4 - 1 -> cager.parser.ASTCaseExpr 118 CaseExpr: IS...
5 - 1 -> cager.parser.ASTExpression 118 Expression: 9
6 - 0 -> cager.parser.ASTLiteral 118 Literal: 9
4 - 1 -> cager.parser.ASTCaseExpr 118 CaseExpr: IS...
5 - 1 -> cager.parser.ASTExpression 118 Expression: 10
6 - 0 -> cager.parser.ASTLiteral 118 Literal: 10
4 - 1 -> cager.parser.ASTStatements 118 Statements:
...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
5 - 2 -> cager.parser.ASTMethodCall 119 MethodCall: Debug...
6 - 3 -> cager.parser.ASTPrimaryExpression 119 PrimaryExpression: Debug...
7 - 0 -> cager.parser.ASTName 119 Name: Debug
7 - 0 -> cager.parser.ASTName 119 Name: WriteLine
7 - 1 -> cager.parser.ASTArgList 119 ArgList: "Equal to 9 or 10"
8 - 1 -> cager.parser.ASTArgSpec 119 ArgSpec: "Equal to 9 or 10"
9 - 1 -> cager.parser.ASTExpression 119 Expression: "Equal to 9 or 10"
10 - 0 -> cager.parser.ASTLiteral 119 Literal: "Equal to 9 or 10"
6 - 0 -> cager.parser.ASTArgList ArgList:
4 - 0 -> cager.parser.ASTCaseExpr 120 CaseExpr: Else
4 - 1 -> cager.parser.ASTStatements 120 Statements:
...
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTMethodCall
5 - 2 -> cager.parser.ASTMethodCall 121 MethodCall: Debug...
6 - 3 -> cager.parser.ASTPrimaryExpression 121 PrimaryExpression: Debug...
7 - 0 -> cager.parser.ASTName 121 Name: Debug
7 - 0 -> cager.parser.ASTName 121 Name: WriteLine
7 - 1 -> cager.parser.ASTArgList 121 ArgList: "Not between 1 and 10, inclusive"
8 - 1 -> cager.parser.ASTArgSpec 121 ArgSpec: "Not between 1 and 10, inclusive"
9 - 1 -> cager.parser.ASTExpression 121 Expression: "Not between 1 and 10, inclusive"
10 - 0 -> cager.parser.ASTLiteral 121 Literal: "Not between 1 and 10, inclusive"
6 - 0 -> cager.parser.ASTArgList ArgList:
Detectado un StorabeUnit nuevo!!!! ¿Que hacemos?: Check
3 - 2 -> cager.parser.ASTAssignment 125 Assignment: Check...
4 - 1 -> cager.parser.ASTPrimaryExpression 125 PrimaryExpression: Check
5 - 0 -> cager.parser.ASTName 125 Name: Check
4 - 1 -> cager.parser.ASTExpression 125 Expression: True
5 - 0 -> cager.parser.ASTLiteral 125 Literal: True
3 - 2 -> cager.parser.ASTAssignment 126 Assignment: Counts...
4 - 1 -> cager.parser.ASTPrimaryExpression 126 PrimaryExpression: Counts
5 - 0 -> cager.parser.ASTName 126 Name: Counts
4 - 1 -> cager.parser.ASTExpression 126 Expression: 0
5 - 0 -> cager.parser.ASTLiteral 126 Literal: 0
SENTENCIA DOWHILE encontrada!!cager.parser.ASTDoWhileStatement
3 - 2 -> cager.parser.ASTDoWhileStatement 127 DoWhileStatement: Do...
4 - 1 -> cager.parser.ASTStatements 128 Statements: Do...
SENTENCIA DOWHILE encontrada!!cager.parser.ASTDoWhileStatement
5 - 2 -> cager.parser.ASTDoWhileStatement 128 DoWhileStatement: Do...
6 - 1 -> cager.parser.ASTDoCondition 128 DoCondition: While...
7 - 1 -> cager.parser.ASTExpression 128 Expression: Counts...
8 - 2 -> cager.parser.ASTBinOp 128 BinOp Binary <
9 - 0 -> cager.parser.ASTName 128 Name: Counts
9 - 0 -> cager.parser.ASTLiteral 128 Literal: 20
6 - 2 -> cager.parser.ASTStatements 129 Statements: Counts...
METODO: Counts: 259
7 - 2 -> cager.parser.ASTAssignment 129 Assignment: Counts...
8 - 1 -> cager.parser.ASTPrimaryExpression 129 PrimaryExpression: Counts
9 - 0 -> cager.parser.ASTName 129 Name: Counts
8 - 1 -> cager.parser.ASTExpression 129 Expression: Counts...
9 - 2 -> cager.parser.ASTBinOp 129 BinOp Binary +
10 - 0 -> cager.parser.ASTName 129 Name: Counts
10 - 0 -> cager.parser.ASTLiteral 129 Literal: 1
SENTENCIA IF encontrada!!cager.parser.ASTIfStatement
130 IfStatement: If...
7 - 2 -> cager.parser.ASTIfStatement 130 IfStatement: If...
8 - 1 -> cager.parser.ASTExpression 130 Expression: Counts...
9 - 2 -> cager.parser.ASTBinOp 130 BinOp Binary =
10 - 0 -> cager.parser.ASTName 130 Name: Counts
10 - 0 -> cager.parser.ASTLiteral 130 Literal: 10
8 - 2 -> cager.parser.ASTStatements 131 Statements: Check...
9 - 2 -> cager.parser.ASTAssignment 131 Assignment: Check...
10 - 1 -> cager.parser.ASTPrimaryExpression 131 PrimaryExpression: Check
11 - 0 -> cager.parser.ASTName 131 Name: Check
10 - 1 -> cager.parser.ASTExpression 131 Expression: False
11 - 0 -> cager.parser.ASTLiteral 131 Literal: False
SENTENCIA encontrada SIN DETERMINAR!!cager.parser.ASTExitStatement
9 - 0 -> cager.parser.ASTExitStatement 132 ExitStatement: Exit...
4 - 1 -> cager.parser.ASTDoCondition 135 DoCondition: Until...
5 - 1 -> cager.parser.ASTExpression 135 Expression: Check...
6 - 2 -> cager.parser.ASTBinOp 135 BinOp Binary =
7 - 0 -> cager.parser.ASTName 135 Name: Check
7 - 0 -> cager.parser.ASTLiteral 135 Literal: False
3 - 2 -> cager.parser.ASTAssignment 139 Assignment: Counts...
4 - 1 -> cager.parser.ASTPrimaryExpression 139 PrimaryExpression: Counts
5 - 0 -> cager.parser.ASTName 139 Name: Counts
4 - 1 -> cager.parser.ASTExpression 139 Expression: 0
5 - 0 -> cager.parser.ASTLiteral 139 Literal: 0
SENTENCIA WHILEWEND encontrada!!cager.parser.ASTWhileWendStatement
3 - 2 -> cager.parser.ASTWhileWendStatement 140 WhileWendStatement: While...
4 - 1 -> cager.parser.ASTExpression 140 Expression: Counts...
5 - 2 -> cager.parser.ASTBinOp 140 BinOp Binary <
6 - 0 -> cager.parser.ASTName 140 Name: Counts
6 - 0 -> cager.parser.ASTLiteral 140 Literal: 20
4 - 1 -> cager.parser.ASTStatements 141 Statements: Counts...
5 - 2 -> cager.parser.ASTAssignment 141 Assignment: Counts...
6 - 1 -> cager.parser.ASTPrimaryExpression 141 PrimaryExpression: Counts
7 - 0 -> cager.parser.ASTName 141 Name: Counts
6 - 1 -> cager.parser.ASTExpression 141 Expression: Counts...
7 - 2 -> cager.parser.ASTBinOp 141 BinOp Binary +
8 - 0 -> cager.parser.ASTName 141 Name: Counts
8 - 0 -> cager.parser.ASTLiteral 141 Literal: 1
<?xml version="1.0" encoding="UTF-8"?>
<kdm:Segment xmlns:kdm="http://kdm.omg.org/kdm" xmlns:action="http://kdm.omg.org/action" xmlns:code="http://kdm.omg.org/code" xmlns:source="http://kdm.omg.org/source" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="testvbPRU">
<model xmi:id="id.0" name="testvbPRU" xmi:type="code:CodeModel">
<codeElement xmi:id="id.1" name="testvbPRU.cls" xmi:type="code:CompilationUnit">
<codeElement xmi:id="id.15" name="OpenProcess" export="private" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.16" language="VisualBasic" snippet="
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwAccess As Long, ByVal fInherit As Integer, ByVal hObject As Long) As Long" />
<codeElement xmi:id="id.17" xmi:type="code:Signature" name="OpenProcess">
<parameterUnit xmi:id="id.18" name="dwAccess" kind="byValue" type="id.11" pos="0" />
<parameterUnit xmi:id="id.19" name="fInherit" kind="byValue" type="id.10" pos="1" />
<parameterUnit xmi:id="id.20" name="hObject" kind="byValue" type="id.11" pos="2" />
<parameterUnit xmi:id="id.21" type="id.11" kind="return" />
</codeElement>
<codeElement xmi:id="id.188" xmi:type="action:ActionElement" name="a60" kind="local" />
<codeElement xmi:id="id.189" xmi:type="action:ActionElement" name="a61" kind="local" />
<codeElement xmi:id="id.190" xmi:type="action:ActionElement" name="a62" kind="local" />
</codeElement>
<codeElement xmi:id="id.22" name="WaitForSingleObject" export="private" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.23" language="VisualBasic" snippet="Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal lngMilliseconds As Long) As Long" />
<codeElement xmi:id="id.24" xmi:type="code:Signature" name="WaitForSingleObject">
<parameterUnit xmi:id="id.25" name="hHandle" kind="byValue" type="id.11" pos="0" />
<parameterUnit xmi:id="id.26" name="lngMilliseconds" kind="byValue" type="id.11" pos="1" />
<parameterUnit xmi:id="id.27" type="id.11" kind="return" />
</codeElement>
</codeElement>
<codeElement xmi:id="id.28" name="CloseHandle" export="private" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.29" language="VisualBasic" snippet="Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long" />
<codeElement xmi:id="id.30" xmi:type="code:Signature" name="CloseHandle">
<parameterUnit xmi:id="id.31" name="hObject" kind="byValue" type="id.11" pos="0" />
<parameterUnit xmi:id="id.32" type="id.11" kind="return" />
</codeElement>
<codeElement xmi:id="id.197" xmi:type="action:ActionElement" name="a67" kind="local" />
<codeElement xmi:id="id.199" xmi:type="action:ActionElement" name="a68" kind="Condition">
<actionRelation xmi:id="id.200" xmi:type="action:Reads" from="id.199" />
<actionRelation xmi:id="id.201" xmi:type="action:TrueFlow" from="id.199" />
<actionRelation xmi:id="id.202" xmi:type="action:FalseFlow" from="id.199" />
</codeElement>
<codeElement xmi:id="id.203" xmi:type="action:ActionElement" name="a69" kind="local" />
<codeElement xmi:id="id.204" xmi:type="action:ActionElement" name="a70" kind="local">
<actionRelation xmi:id="id.205" xmi:type="action:Writes" to="id.45" from="id.204" />
<actionRelation xmi:id="id.206" xmi:type="action:Reads" to="id.74" from="id.204" />
</codeElement>
<codeElement xmi:id="id.207" xmi:type="action:ActionElement" name="a71" kind="local" />
<codeElement xmi:id="id.208" xmi:type="action:ActionElement" name="a72" kind="local">
<actionRelation xmi:id="id.210" xmi:type="action:Writes" to="id.209" from="id.208" />
</codeElement>
<codeElement xmi:id="id.211" xmi:type="action:ActionElement" name="a73" kind="local" />
<codeElement xmi:id="id.214" xmi:type="action:ActionElement" name="a75" kind="local" />
<codeElement xmi:id="id.217" xmi:type="action:ActionElement" name="a77" kind="local" />
<codeElement xmi:id="id.218" xmi:type="action:ActionElement" name="a78" kind="local" />
<codeElement xmi:id="id.219" xmi:type="action:ActionElement" name="a79" kind="local" />
<codeElement xmi:id="id.220" xmi:type="action:ActionElement" name="a80" kind="local">
<actionRelation xmi:id="id.221" xmi:type="action:Writes" to="id.76" from="id.220" />
</codeElement>
<codeElement xmi:id="id.222" xmi:type="action:ActionElement" name="a81" kind="local" />
<codeElement xmi:id="id.225" xmi:type="action:ActionElement" name="a83" kind="local" />
<codeElement xmi:id="id.226" xmi:type="action:ActionElement" name="a84" kind="local" />
<codeElement xmi:id="id.227" xmi:type="action:ActionElement" name="a85" kind="local" />
<codeElement xmi:id="id.230" xmi:type="action:ActionElement" name="a87" kind="local" />
<codeElement xmi:id="id.231" xmi:type="action:ActionElement" name="a88" kind="local" />
<codeElement xmi:id="id.232" xmi:type="action:ActionElement" name="a89" kind="local" />
<codeElement xmi:id="id.233" xmi:type="action:ActionElement" name="a90" kind="local" />
<codeElement xmi:id="id.236" xmi:type="action:ActionElement" name="a92" kind="local" />
<codeElement xmi:id="id.237" xmi:type="action:ActionElement" name="a93" kind="local" />
<codeElement xmi:id="id.238" xmi:type="action:ActionElement" name="a94" kind="local" />
<codeElement xmi:id="id.241" xmi:type="action:ActionElement" name="a96" kind="local" />
<codeElement xmi:id="id.244" xmi:type="action:ActionElement" name="a98" kind="local" />
<codeElement xmi:id="id.245" xmi:type="action:ActionElement" name="a99" kind="local">
<actionRelation xmi:id="id.247" xmi:type="action:Writes" to="id.246" from="id.245" />
</codeElement>
<codeElement xmi:id="id.248" xmi:type="action:ActionElement" name="a100" kind="local" />
<codeElement xmi:id="id.249" xmi:type="action:ActionElement" name="a101" kind="local">
<actionRelation xmi:id="id.250" xmi:type="action:Writes" to="id.77" from="id.249" />
</codeElement>
<codeElement xmi:id="id.251" xmi:type="action:ActionElement" name="a102" kind="local" />
<codeElement xmi:id="id.256" xmi:type="action:ActionElement" name="a105" kind="local" />
<codeElement xmi:id="id.257" xmi:type="action:ActionElement" name="a106" kind="local">
<actionRelation xmi:id="id.258" xmi:type="action:Writes" to="id.77" from="id.257" />
<actionRelation xmi:id="id.260" xmi:type="action:Calls" to="id.259" from="id.257" />
</codeElement>
</codeElement>
<codeElement xmi:id="id.33" name="Sleep" export="private" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.34" language="VisualBasic" snippet="Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)" />
<codeElement xmi:id="id.35" xmi:type="code:Signature" name="Sleep">
<parameterUnit xmi:id="id.36" name="dwMilliseconds" kind="byValue" type="id.11" pos="0" />
<parameterUnit xmi:id="id.37" type="id.14" kind="return" />
</codeElement>
</codeElement>
<codeElement xmi:id="id.38" name="GetExitCodeProcess" export="private" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.39" language="VisualBasic" snippet="Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long" />
<codeElement xmi:id="id.40" xmi:type="code:Signature" name="GetExitCodeProcess">
<parameterUnit xmi:id="id.41" name="hProcess" kind="byValue" type="id.11" pos="0" />
<parameterUnit xmi:id="id.42" name="lpExitCode" type="id.11" pos="1" />
<parameterUnit xmi:id="id.43" type="id.11" kind="return" />
</codeElement>
<codeElement xmi:id="id.88" xmi:type="action:ActionElement" name="a6" kind="local" />
<codeElement xmi:id="id.91" xmi:type="action:ActionElement" name="a8" kind="local" />
<codeElement xmi:id="id.94" xmi:type="action:ActionElement" name="a10" kind="local" />
<codeElement xmi:id="id.97" xmi:type="action:ActionElement" name="a12" kind="local" />
<codeElement xmi:id="id.193" xmi:type="action:ActionElement" name="a64" kind="local" />
<codeElement xmi:id="id.194" xmi:type="action:ActionElement" name="a65" kind="local" />
</codeElement>
<codeElement xmi:id="id.44" name="m_WaitForm" xmi:type="code:StorableUnit" type="id.13" kind="global" />
<codeElement xmi:id="id.45" name="m_ExitCode" xmi:type="code:StorableUnit" type="id.11" kind="global" />
<codeElement xmi:id="id.46" name="m_ProgHandle" xmi:type="code:StorableUnit" type="id.11" kind="global" />
<codeElement xmi:id="id.47" name="Run" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.48" language="VisualBasic" snippet="
Public Function Run(ByVal cmd As String, Optional WindowStyle As VBA.VbAppWinStyle = vbNormalFocus, Optional ByVal Wait As Boolean) As Long
 Debug.Print "RUN: " & cmd
 m_ProgHandle = Shell(cmd, WindowStyle)
 
 If m_ProgHandle = 0 Then
 ' Failed
 Run = -1
 Else
 Run = WaitOnProgram()
 Debug.Print "EXIT " & Run
 End If
 
 If suma (3,4) = 7 Then
 	Run -1
 	Else
 		Run = WaitOnProgram()
 Debug.Print "EXIT " & Run	
 	End If
 	
End Function" />
<codeElement xmi:id="id.49" xmi:type="code:Signature" name="Run">
<parameterUnit xmi:id="id.50" name="cmd" kind="byValue" type="id.13" pos="0" />
<parameterUnit xmi:id="id.53" name="WindowStyle" type="id.51" pos="1" />
<parameterUnit xmi:id="id.54" name="Wait" kind="byValue" type="id.4" pos="2" />
<parameterUnit xmi:id="id.55" type="id.14" kind="return" />
</codeElement>
<codeElement xmi:id="id.102" xmi:type="action:ActionElement" name="a15" kind="local" />
<codeElement xmi:id="id.105" xmi:type="action:ActionElement" name="a17" kind="local">
<actionRelation xmi:id="id.106" xmi:type="action:Writes" to="id.46" from="id.105" />
<actionRelation xmi:id="id.108" xmi:type="action:Calls" to="id.107" from="id.105" />
</codeElement>
<codeElement xmi:id="id.109" xmi:type="action:ActionElement" name="a18" kind="local" />
<codeElement xmi:id="id.121" xmi:type="action:ActionElement" name="a24" kind="local" />
<codeElement xmi:id="id.122" xmi:type="action:ActionElement" name="a25" kind="local">
<actionRelation xmi:id="id.123" xmi:type="action:Writes" to="id.119" from="id.122" />
<actionRelation xmi:id="id.124" xmi:type="action:Calls" to="id.66" from="id.122" />
</codeElement>
<codeElement xmi:id="id.125" xmi:type="action:ActionElement" name="a26" kind="local" />
<codeElement xmi:id="id.138" xmi:type="action:ActionElement" name="a33" kind="local" />
<codeElement xmi:id="id.139" xmi:type="action:ActionElement" name="a34" kind="local">
<actionRelation xmi:id="id.140" xmi:type="action:Writes" to="id.119" from="id.139" />
<actionRelation xmi:id="id.141" xmi:type="action:Calls" to="id.66" from="id.139" />
</codeElement>
<codeElement xmi:id="id.142" xmi:type="action:ActionElement" name="a35" kind="local" />
</codeElement>
<codeElement xmi:id="id.56" name="a" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.57" language="VisualBasic" snippet="
Public Function a () As Long

 a = 3 + 5

End Function" />
<codeElement xmi:id="id.58" xmi:type="code:Signature" name="a">
<parameterUnit xmi:id="id.59" type="id.14" kind="return" />
</codeElement>
<codeElement xmi:id="id.145" xmi:type="action:ActionElement" name="a37" kind="local">
<actionRelation xmi:id="id.147" xmi:type="action:Writes" to="id.146" from="id.145" />
</codeElement>
<codeElement xmi:id="id.148" xmi:type="action:ActionElement" name="a38" kind="local" />
<codeElement xmi:id="id.149" xmi:type="action:ActionElement" name="a39" kind="local">
<actionRelation xmi:id="id.151" xmi:type="action:Writes" to="id.150" from="id.149" />
<actionRelation xmi:id="id.152" xmi:type="action:Calls" to="id.56" from="id.149" />
</codeElement>
<codeElement xmi:id="id.154" xmi:type="action:ActionElement" name="a41" kind="local">
<actionRelation xmi:id="id.155" xmi:type="action:Writes" to="id.150" from="id.154" />
</codeElement>
</codeElement>
<codeElement xmi:id="id.60" name="Suma" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.61" language="VisualBasic" snippet="


Public Function Suma ( ByVal a As Long, ByVal b As Long ) As Long

	Suma = a + b 
	
	Suma = b + a + Suma (3,4)

End Function" />
<codeElement xmi:id="id.62" xmi:type="code:Signature" name="Suma">
<parameterUnit xmi:id="id.63" name="a" kind="byValue" type="id.11" pos="0" />
<parameterUnit xmi:id="id.64" name="b" kind="byValue" type="id.11" pos="1" />
<parameterUnit xmi:id="id.65" type="id.14" kind="return" />
</codeElement>
<codeElement xmi:id="id.153" xmi:type="action:ActionElement" name="a40" kind="local" />
<codeElement xmi:id="id.156" xmi:type="action:ActionElement" name="a42" kind="local" />
<codeElement xmi:id="id.157" xmi:type="action:ActionElement" name="a43" kind="local" />
<codeElement xmi:id="id.158" xmi:type="action:ActionElement" name="a44" kind="local" />
</codeElement>
<codeElement xmi:id="id.66" name="WaitOnProgram" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.67" language="VisualBasic" snippet="
Private Function WaitOnProgram() As Long
 Set m_WaitForm = New frmWait
 m_WaitForm.ShowWait 500
 
 WaitOnProgram = m_ExitCode
End Function" />
<codeElement xmi:id="id.68" xmi:type="code:Signature" name="WaitOnProgram">
<parameterUnit xmi:id="id.69" type="id.14" kind="return" />
</codeElement>
<codeElement xmi:id="id.129" xmi:type="action:ActionElement" name="a28" kind="Condition">
<actionRelation xmi:id="id.130" xmi:type="action:Reads" from="id.129" />
<actionRelation xmi:id="id.131" xmi:type="action:TrueFlow" from="id.129" />
<actionRelation xmi:id="id.132" xmi:type="action:FalseFlow" from="id.129" />
</codeElement>
<codeElement xmi:id="id.133" xmi:type="action:ActionElement" name="a29" kind="local" />
<codeElement xmi:id="id.134" xmi:type="action:ActionElement" name="a30" kind="local" />
<codeElement xmi:id="id.135" xmi:type="action:ActionElement" name="a31" kind="local" />
<codeElement xmi:id="id.161" xmi:type="action:ActionElement" name="a46" kind="local" />
<codeElement xmi:id="id.164" xmi:type="action:ActionElement" name="a48" kind="local" />
<codeElement xmi:id="id.165" xmi:type="action:ActionElement" name="a49" kind="local">
<actionRelation xmi:id="id.167" xmi:type="action:Writes" to="id.166" from="id.165" />
<actionRelation xmi:id="id.168" xmi:type="action:Reads" to="id.45" from="id.165" />
</codeElement>
<codeElement xmi:id="id.169" xmi:type="action:ActionElement" name="a50" kind="local" />
</codeElement>
<codeElement xmi:id="id.70" name="m_WaitForm_Timer" xmi:type="code:MethodUnit" kind="method">
<source xmi:id="id.71" language="VisualBasic" snippet="
Private Sub m_WaitForm_Timer()
 Dim iExit As Long
 Dim hProg As Long
 
 
 Dim aux As Long
 'Dim number As Integer = 8
 'Dim index As Integer = 0
 Dim Counts As Integer
 Dim found As Boolean 
	Dim thisCollection As New Collection
 Dim counter As Integer
 
 
 hProg = OpenProcess(PROCESS_ALL_ACCESS, False, m_ProgHandle)
 
 GetExitCodeProcess hProg, iExit
 
 CloseHandle hProg
 
 
 'Sentencia IF
 If iExit <> STILL_ACTIVE Then
 m_ExitCode = iExit
 m_WaitForm.Visible = False
 Set m_WaitForm = Nothing
 End If
 
 
 'Bucle FOR
	FOR i=0 TO 6 STEP 2
		aux = i
	NEXT 

	
	'Sentencia CASE
	Select Case number
	Case 1 To 5
	 Debug.WriteLine("Between 1 and 5, inclusive")
	 ' The following is the only Case clause that evaluates to True.
	Case 6, 7, 8
	 Debug.WriteLine("Between 6 and 8, inclusive")
	Case IS = 9, IS = 10
	 Debug.WriteLine("Equal to 9 or 10")
	Case Else
	 Debug.WriteLine("Not between 1 and 10, inclusive")
	End Select

	'Sentencias DO LOOP UNTIL y DO WHILE LOOP
	Check = True ' Se inicializan las variables.
	Counts = 0
	Do ' Empieza sin comprobar ninguna condición.
		Do While Counts < 20 ' Bucle que acaba si Counts>=20 o con Exit Do.
			Counts = Counts + 1 ' Se incrementa Counts.
			If Counts = 10 Then ' Si Counts es 10.
				Check = False ' Se asigna a Check el valor False.
				Exit Do ' Se acaba el segundo Do.
			End If
		Loop
	Loop Until Check = False ' Salir del "loop" si Check es False.

	
	'Bucle WHILEWEND	
	Counts = 0
	While Counts < 20 
		Counts = Counts + 1 
	Wend
	
	'Bucle FOR EACH
	
	'found = false
	
	'For Each thisObject As String In thisCollection
	 ' If thisObject = "Hello" Then
	 ' found = True
	 ' Exit For
	 ' End If
	'Next thisObject
	
	'counter = 0
	
	'While counter < 20
 '	counter = counter + 1
 	' Insert code to use current value of counter.
	'End While
	
	
	'While counter <= 10
	'	Debug.Write(counter.ToString & " ")
	'	counter = counter + 1
	'End While
	
End Sub" />
<codeElement xmi:id="id.72" xmi:type="code:Signature" name="m_WaitForm_Timer">
<parameterUnit xmi:id="id.73" type="id.14" kind="return" />
</codeElement>
<codeElement xmi:id="id.74" name="iExit" xmi:type="code:StorableUnit" type="id.11" kind="local" />
<codeElement xmi:id="id.75" name="hProg" xmi:type="code:StorableUnit" type="id.11" kind="local" />
<codeElement xmi:id="id.76" name="aux" xmi:type="code:StorableUnit" type="id.11" kind="local" />
<codeElement xmi:id="id.77" name="Counts" xmi:type="code:StorableUnit" type="id.10" kind="local" />
<codeElement xmi:id="id.78" name="found" xmi:type="code:StorableUnit" type="id.4" kind="local" />
<codeElement xmi:id="id.79" name="thisCollection" xmi:type="code:StorableUnit" type="id.13" kind="local" />
<codeElement xmi:id="id.80" name="counter" xmi:type="code:StorableUnit" type="id.10" kind="local" />
<codeElement xmi:id="id.184" xmi:type="action:ActionElement" name="a58" kind="local">
<actionRelation xmi:id="id.185" xmi:type="action:Writes" to="id.75" from="id.184" />
<actionRelation xmi:id="id.186" xmi:type="action:Calls" to="id.15" from="id.184" />
</codeElement>
<codeElement xmi:id="id.187" xmi:type="action:ActionElement" name="a59" kind="local" />
</codeElement>
<codeElement xmi:id="id.81" xmi:type="action:ActionElement" name="a0" kind="global" />
<codeElement xmi:id="id.82" xmi:type="action:ActionElement" name="a1" kind="global" />
<codeElement xmi:id="id.83" xmi:type="action:ActionElement" name="a2" kind="global" />
<codeElement xmi:id="id.84" xmi:type="action:ActionElement" name="a3" kind="global" />
<codeElement xmi:id="id.85" xmi:type="action:ActionElement" name="a4" kind="global" />
<codeElement xmi:id="id.107" name="Shell" xmi:type="code:MethodUnit" kind="unknown">
<codeElement xmi:id="id.110" xmi:type="action:ActionElement" name="a19" kind="local" />
<codeElement xmi:id="id.111" xmi:type="action:ActionElement" name="a20" kind="local" />
<codeElement xmi:id="id.113" xmi:type="action:ActionElement" name="a21" kind="Condition">
<actionRelation xmi:id="id.114" xmi:type="action:Reads" from="id.113" />
<actionRelation xmi:id="id.115" xmi:type="action:TrueFlow" from="id.113" />
<actionRelation xmi:id="id.116" xmi:type="action:FalseFlow" from="id.113" />
</codeElement>
<codeElement xmi:id="id.117" xmi:type="action:ActionElement" name="a22" kind="local" />
<codeElement xmi:id="id.118" xmi:type="action:ActionElement" name="a23" kind="local">
<actionRelation xmi:id="id.120" xmi:type="action:Writes" to="id.119" from="id.118" />
</codeElement>
</codeElement>
<codeElement xmi:id="id.119" name="Run" xmi:type="code:StorableUnit" type="" kind="unknown" />
<codeElement xmi:id="id.146" name="a" xmi:type="code:StorableUnit" type="" kind="unknown" />
<codeElement xmi:id="id.150" name="Suma" xmi:type="code:StorableUnit" type="" kind="unknown" />
<codeElement xmi:id="id.166" name="WaitOnProgram" xmi:type="code:StorableUnit" type="" kind="unknown" />
<codeElement xmi:id="id.209" name="m_WaitForm.Visible" xmi:type="code:StorableUnit" type="" kind="unknown" />
<codeElement xmi:id="id.246" name="Check" xmi:type="code:StorableUnit" type="" kind="unknown" />
<codeElement xmi:id="id.259" name="Counts" xmi:type="code:MethodUnit" kind="unknown">
<codeElement xmi:id="id.261" xmi:type="action:ActionElement" name="a107" kind="local" />
<codeElement xmi:id="id.263" xmi:type="action:ActionElement" name="a108" kind="Condition">
<actionRelation xmi:id="id.264" xmi:type="action:Reads" from="id.263" />
<actionRelation xmi:id="id.265" xmi:type="action:TrueFlow" from="id.263" />
<actionRelation xmi:id="id.266" xmi:type="action:FalseFlow" from="id.263" />
</codeElement>
<codeElement xmi:id="id.267" xmi:type="action:ActionElement" name="a109" kind="local" />
<codeElement xmi:id="id.268" xmi:type="action:ActionElement" name="a110" kind="local">
<actionRelation xmi:id="id.269" xmi:type="action:Writes" to="id.246" from="id.268" />
</codeElement>
<codeElement xmi:id="id.270" xmi:type="action:ActionElement" name="a111" kind="local" />
<codeElement xmi:id="id.273" xmi:type="action:ActionElement" name="a113" kind="local" />
<codeElement xmi:id="id.274" xmi:type="action:ActionElement" name="a114" kind="local">
<actionRelation xmi:id="id.275" xmi:type="action:Writes" to="id.77" from="id.274" />
</codeElement>
<codeElement xmi:id="id.276" xmi:type="action:ActionElement" name="a115" kind="local" />
<codeElement xmi:id="id.279" xmi:type="action:ActionElement" name="a117" kind="local" />
<codeElement xmi:id="id.280" xmi:type="action:ActionElement" name="a118" kind="local">
<actionRelation xmi:id="id.281" xmi:type="action:Writes" to="id.77" from="id.280" />
<actionRelation xmi:id="id.282" xmi:type="action:Calls" to="id.259" from="id.280" />
</codeElement>
<codeElement xmi:id="id.283" xmi:type="action:ActionElement" name="a119" kind="local" />
</codeElement>
</codeElement>
<codeElement xmi:id="id.3" xmi:type="code:LanguageUnit">
<codeElement xmi:id="id.4" xmi:type="code:BooleanType" name="Boolean" />
<codeElement xmi:id="id.5" xmi:type="code:OctetType" name="Byte" />
<codeElement xmi:id="id.6" xmi:type="code:CharType" name="Char" />
<codeElement xmi:id="id.7" xmi:type="code:DateType" name="Date" />
<codeElement xmi:id="id.8" xmi:type="code:DecimalType" name="Decimal" />
<codeElement xmi:id="id.9" xmi:type="code:DecimalType" name="Double" />
<codeElement xmi:id="id.10" xmi:type="code:IntegerType" name="Integer" />
<codeElement xmi:id="id.11" xmi:type="code:DecimalType" name="Long" />
<codeElement xmi:id="id.12" xmi:type="code:DecimalType" name="Short" />
<codeElement xmi:id="id.13" xmi:type="code:StringType" name="String" />
<codeElement xmi:id="id.14" xmi:type="code:VoidType" name="Void" />
<codeElement xmi:id="id.51" xmi:type="code:EnumeratedType" name="VBA.VbAppWinStyle">
<value xmi:id="id.52" name="vbNormalFocus" type="id.51" />
</codeElement>
</codeElement>
</model>
</kdm:Segment>
private Long OpenProcess ( Long dwAccess, Integer fInherit, Long hObject ) {
/*
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwAccess As Long, ByVal fInherit As Integer, ByVal hObject As Long) As Long
*/
}
private Long WaitForSingleObject ( Long hHandle, Long lngMilliseconds ) {
/*
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal lngMilliseconds As Long) As Long
*/
}
private Long CloseHandle ( Long hObject ) {
/*
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
*/
}
private void Sleep ( Long dwMilliseconds ) {
/*
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
*/
}
private Long GetExitCodeProcess ( Long hProcess, Long lpExitCode ) {
/*
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
*/
}
private void Run ( String cmd, VBA.VbAppWinStyle WindowStyle, Boolean Wait ) {
/*
Public Function Run(ByVal cmd As String, Optional WindowStyle As VBA.VbAppWinStyle = vbNormalFocus, Optional ByVal Wait As Boolean) As Long
Debug.Print "RUN: " & cmd
m_ProgHandle = Shell(cmd, WindowStyle)
If m_ProgHandle = 0 Then
' Failed
Run = -1
Else
Run = WaitOnProgram()
Debug.Print "EXIT " & Run
End If
If suma (3,4) = 7 Then
Run -1
Else
Run = WaitOnProgram()
Debug.Print "EXIT " & Run
End If
End Function
*/
}
private void a ( ) {
/*
Public Function a () As Long
a = 3 + 5
End Function
*/
}
private void Suma ( Long a, Long b ) {
/*
Public Function Suma ( ByVal a As Long, ByVal b As Long ) As Long
Suma = a + b
Suma = b + a + Suma (3,4)
End Function
*/
}
private void WaitOnProgram ( ) {
/*
Private Function WaitOnProgram() As Long
Set m_WaitForm = New frmWait
m_WaitForm.ShowWait 500
WaitOnProgram = m_ExitCode
End Function
*/
}
private void m_WaitForm_Timer ( ) {
/*
Private Sub m_WaitForm_Timer()
Dim iExit As Long
Dim hProg As Long
Dim aux As Long
'Dim number As Integer = 8
'Dim index As Integer = 0
Dim Counts As Integer
Dim found As Boolean
Dim thisCollection As New Collection
Dim counter As Integer
hProg = OpenProcess(PROCESS_ALL_ACCESS, False, m_ProgHandle)
GetExitCodeProcess hProg, iExit
CloseHandle hProg
'Sentencia IF
If iExit <> STILL_ACTIVE Then
m_ExitCode = iExit
m_WaitForm.Visible = False
Set m_WaitForm = Nothing
End If
'Bucle FOR
FOR i=0 TO 6 STEP 2
aux = i
NEXT
'Sentencia CASE
Select Case number
Case 1 To 5
Debug.WriteLine("Between 1 and 5, inclusive")
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8
Debug.WriteLine("Between 6 and 8, inclusive")
Case IS = 9, IS = 10
Debug.WriteLine("Equal to 9 or 10")
Case Else
Debug.WriteLine("Not between 1 and 10, inclusive")
End Select
'Sentencias DO LOOP UNTIL y DO WHILE LOOP
Check = True ' Se inicializan las variables.
Counts = 0
Do ' Empieza sin comprobar ninguna condición.
Do While Counts < 20 ' Bucle que acaba si Counts>=20 o con Exit Do.
Counts = Counts + 1 ' Se incrementa Counts.
If Counts = 10 Then ' Si Counts es 10.
Check = False ' Se asigna a Check el valor False.
Exit Do ' Se acaba el segundo Do.
End If
Loop
Loop Until Check = False ' Salir del "loop" si Check es False.