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 }