001 /* Generated By:JJTree: Do not edit this line. ASTmembers.java */
002
003 package net.sourceforge.javajson.parser;
004
005 public class ASTmembers extends SimpleNode {
006 String key;
007
008 Object value;
009
010 enum Next {
011 KEY, VALUE
012 };
013
014 Next on = Next.KEY;
015
016 public ASTmembers(int id) {
017 super(id);
018 }
019
020 public ASTmembers(JsonParser p, int id) {
021 super(p, id);
022 }
023
024 @Override
025 protected void interpret() {
026 for (int i = 0; i < children.length; i++) {
027 if (children[i] instanceof SimpleNode) {
028 SimpleNode node = (SimpleNode) children[i];
029 node.interpret();
030 }
031 }
032 }
033
034 @Override
035 protected void push(Object o) {
036 //System.out.println("pushing to member object: "
037 // + o.getClass().getSimpleName());
038
039 if (o instanceof TMember) {
040 // recursive call
041 //System.out.println("ignoring child member" + parent.getClass().getSimpleName());
042 ((SimpleNode) parent).push(o);
043 on = Next.KEY;
044 } else if (on == Next.KEY) {
045 key = (String) o; // ((ASTstring) o).val;
046 on = Next.VALUE;
047 } else if (on == Next.VALUE) {
048 value = o;
049 on = Next.KEY;
050 ((SimpleNode) parent).push(new TMember(key, value));
051 }
052 }
053
054 }