All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zving.framework.thirdparty.asm.Handler Maven / Gradle / Ivy

package com.zving.framework.thirdparty.asm;

class Handler {
	String desc;
	Label start;
	Label end;
	Label handler;
	int type;
	Handler next;

	static Handler remove(Handler h, Label start, Label end) {
		if (h == null) {
			return null;
		}
		h.next = remove(h.next, start, end);

		int hstart = h.start.position;
		int hend = h.end.position;
		int s = start.position;
		int e = end == null ? Integer.MAX_VALUE : end.position;
		if ((s < hend) && (e > hstart)) {
			if (s <= hstart) {
				if (e >= hend) {
					h = h.next;
				} else {
					h.start = end;
				}
			} else if (e >= hend) {
				h.end = start;
			} else {
				Handler g = new Handler();
				g.start = end;
				g.end = h.end;
				g.handler = h.handler;
				g.desc = h.desc;
				g.type = h.type;
				g.next = h.next;
				h.end = start;
				h.next = g;
			}
		}
		return h;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy