/src/kilim/analysis/Range.java
http://github.com/kilim/kilim · Java · 37 lines · 21 code · 5 blank · 11 comment · 7 complexity · 97d2c8da6354a4cea6a3aefe4d9403d5 MD5 · raw file
- /* Copyright (c) 2006, Sriram Srinivasan
- *
- * You may distribute this software under the terms of the license
- * specified in the file "License"
- */
- package kilim.analysis;
- /**
- * Used by catch handlers to handle overlapping ranges
- *
- */
- public class Range {
- int from;
- int to;
- public Range(int aFrom, int aTo) {
- from = aFrom;
- to = aTo;
- }
-
- static Range intersect(int a1, int e1, int a2, int e2) {
- // a2 lies between a1 and e1 or a1 between a2 and e2
- // all comparisons are inclusive of endpoints
- assert a1 <= e1 && a2 <= e2;
- int a;
- if (a1 <= a2 && a2 <= e1) {
- a = a2;
- } else if (a2 <= a1 && a1 <= e2) {
- a = a1;
- } else {
- return null;
- }
- return new Range(a, e1 < e2 ? e1 : e2);
- }
- }