[Nice-commit] Nice/src/mlsub/typing Enumeration.java,1.9,1.10
Brought to you by:
bonniot
From: <bo...@us...> - 2003-12-16 11:39:14
|
Update of /cvsroot/nice/Nice/src/mlsub/typing In directory sc8-pr-cvs1:/tmp/cvs-serv7558/src/mlsub/typing Modified Files: Enumeration.java Log Message: Handle coverage tests of methods with an Object parameter. Index: Enumeration.java =================================================================== RCS file: /cvsroot/nice/Nice/src/mlsub/typing/Enumeration.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Enumeration.java 29 Apr 2003 16:45:50 -0000 1.9 --- Enumeration.java 16 Dec 2003 11:39:10 -0000 1.10 *************** *** 19,22 **** --- 19,23 ---- import mlsub.typing.lowlevel.BitVector; import mlsub.typing.lowlevel.Element; + import mlsub.typing.lowlevel.Kind; /** *************** *** 127,140 **** { while(minFloating<tags.length ! && (all[minFloating] != doAll || ! tags[minFloating].getKind() != null ! && tags[minFloating].getKind() != Engine.variablesConstraint)) minFloating++; if(minFloating<tags.length) { ! // There might be a garbagy Engine.variablesConstraint ! // in the monotype variable variable ! tags[minFloating].setKind(null); for(Iterator cs = Engine.listConstraints(); cs.hasNext();) --- 128,150 ---- { while(minFloating<tags.length ! && (all[minFloating] != doAll || ! isFixedKind(tags[minFloating].getKind()))) minFloating++; if(minFloating<tags.length) { ! Element tag = tags[minFloating]; ! ! if (tag.getKind() == TopMonotype.TopKind.instance) ! { ! // Tag is "Object". All TCs are solutions. ! tag = tags[minFloating] = new MonotypeVar("enumeration"); ! } ! else ! { ! // There might be a garbagy Engine.variablesConstraint ! // in the monotype variable variable ! tag.setKind(null); ! } for(Iterator cs = Engine.listConstraints(); cs.hasNext();) *************** *** 146,159 **** { if(linkDbg) ! Debug.println("Choosing kind "+c+" for "+tags[minFloating]); ! if(tags[minFloating] instanceof MonotypeVar) ! Engine.forceKind(tags[minFloating],c.associatedKind); else ! Engine.forceKind(tags[minFloating],c); // recursive call setFloatingKinds(tags, all, minFloating + 1, res, doAll); ! tags[minFloating].setKind(null); } } --- 156,169 ---- { if(linkDbg) ! Debug.println("Choosing kind " + c + " for " + tag); ! if (tag instanceof MonotypeVar) ! Engine.forceKind(tag, c.associatedKind); else ! Engine.forceKind(tag, c); // recursive call setFloatingKinds(tags, all, minFloating + 1, res, doAll); ! tag.setKind(null); } } *************** *** 182,186 **** } } ! private static class SolutionFound extends RuntimeException {} --- 192,203 ---- } } ! ! private static boolean isFixedKind(Kind k) ! { ! return k != null ! && k != Engine.variablesConstraint ! && k != TopMonotype.TopKind.instance; ! } ! private static class SolutionFound extends RuntimeException {} |