root/org.axdt.as3/src/org/axdt/as3/imp/treeModelBuilder/AS3TreeModelBuilder.java @ 0f874443124e53e6b4e3d1e9dd1c4c5a30e9b80c

Revision 0f874443124e53e6b4e3d1e9dd1c4c5a30e9b80c, 1.6 KB (checked in by mb0 <mb0@…>, 19 months ago)

added default constructures (just in case).
fixed incompatibilities with the new imp version

  • Property mode set to 100644
Line 
1package org.axdt.as3.imp.treeModelBuilder;
2
3import org.eclipse.imp.services.base.TreeModelBuilderBase;
4
5import org.axdt.as3.imp.parser.Ast.*;
6
7public class AS3TreeModelBuilder extends TreeModelBuilderBase {
8
9        public AS3TreeModelBuilder() {
10        }
11
12        @Override
13        public void visitTree(Object root) {
14                if (root == null) return;
15                ASTNode rootNode = (ASTNode) root;
16                AS3ModelVisitor visitor = new AS3ModelVisitor();
17
18                rootNode.accept(visitor);
19        }
20
21        private class AS3ModelVisitor extends AbstractVisitor {
22                // private StringBuffer fRHSLabel;
23
24                @Override
25                public void unimplementedVisitor(String s) {
26                }
27
28                public boolean visit(VariableBinding n) {
29                        if (n.getParent().getParent() instanceof VariableDefinition) {
30                                createSubItem(n);
31                                return true;
32                        }
33                        return false;
34                }
35
36                public boolean visit(FunctionDefinition n) {
37                        createSubItem(n);
38                        return false;
39                }
40
41                @Override
42                public boolean visit(ImportDirectiveList n) {
43                        pushSubItem(n);
44                        return true;
45                }
46
47                public boolean visit(ImportDirective n) {
48                        createSubItem(n);
49                        return true;
50                }
51
52                @Override
53                public void endVisit(ImportDirectiveList n) {
54                        popSubItem();
55                }
56
57                @Override
58                public boolean visit(ClassDefinition n) {
59                        pushSubItem(n);
60                        return true;
61                }
62
63                @Override
64                public void endVisit(ClassDefinition n) {
65                        popSubItem();
66                }
67
68                @Override
69                public boolean visit(InterfaceDefinition n) {
70                        pushSubItem(n);
71                        return true;
72                }
73
74                @Override
75                public void endVisit(InterfaceDefinition n) {
76                        popSubItem();
77                }
78
79                @Override
80                public boolean visit(PackageDefinition n) {
81                        pushSubItem(n);
82                        return true;
83                }
84
85                @Override
86                public void endVisit(PackageDefinition n) {
87                        popSubItem();
88                }
89        }
90}
Note: See TracBrowser for help on using the browser.