private int get(final int local) {
		if (outputLocals == null || local >= outputLocals.length) {
			// this local has never been assigned in this basic block,
			// so it is still equal to its value in the input frame
			return LOCAL | local;
		} else {
			int type = outputLocals[local];
			if (type == 0) {
				// this local has never been assigned in this basic block,
				// so it is still equal to its value in the input frame
				type = outputLocals[local] = LOCAL | local;
			}
			return type;
		}
	}