private static void parseSplit()

in src/main/java/org/jetbrains/plugins/spotbugs/gui/common/MultiSplitLayout.java [1254:1282]


	private static void parseSplit(final StreamTokenizer st, final Split parent) throws Exception {
		int token;
		while ((token = st.nextToken()) != StreamTokenizer.TT_EOF) {
			if (token == ')') {
				break;
			} else if (token == StreamTokenizer.TT_WORD) {
				if ("WEIGHT".equalsIgnoreCase(st.sval)) {
					parseAttribute(st.sval, st, parent);
				} else {
					addSplitChild(parent, new Leaf(st.sval));
				}
			} else if (token == '(') {
				if (st.nextToken() != StreamTokenizer.TT_WORD) {
					throwParseException(st, "invalid node type");
				}
				final String nodeType = st.sval.toUpperCase(Locale.ENGLISH);
				if ("LEAF".equals(nodeType)) {
					parseLeaf(st, parent);
				} else if ("ROW".equals(nodeType) || "COLUMN".equals(nodeType)) {
					final Split split = new Split();
					split.setRowLayout("ROW".equals(nodeType));
					addSplitChild(parent, split);
					parseSplit(st, split);
				} else {
					throwParseException(st, "unrecognized node type '" + nodeType + '\'');
				}
			}
		}
	}