Nice/src/bossa/syntax overloadedsymbol.nice,1.16,1.17
Daniel Bonniot <[email protected]> Mon, 04 Apr 2005 12:21:51 +0000
| Newsgroups | gmane.comp.lang.nice.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/nice/Nice/src/bossa/syntax
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21253/src/bossa/syntax
Modified Files:
overloadedsymbol.nice
Log Message:
Whitespace cleanup.
Index: overloadedsymbol.nice
===================================================================
RCS file: /cvsroot/nice/Nice/src/bossa/syntax/overloadedsymbol.nice,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** overloadedsymbol.nice 11 Mar 2005 17:35:52 -0000 1.16
--- overloadedsymbol.nice 4 Apr 2005 12:21:48 -0000 1.17
***************
*** 37,41 ****
return createSymbolExp(symbols.get(0), this.location());
}
!
private Expression uniqueExpression(VarSymbol sym, mlsub.typing.Polytype t)
{
--- 37,41 ----
return createSymbolExp(symbols.get(0), this.location());
}
!
private Expression uniqueExpression(VarSymbol sym, mlsub.typing.Polytype t)
{
***************
*** 44,48 ****
return res;
}
!
resolveOverloading(CallExp callExp)
{
--- 44,48 ----
return res;
}
!
resolveOverloading(CallExp callExp)
{
***************
*** 51,61 ****
arguments.computeTypes();
! if (bossa.util.Debug.overloading)
bossa.util.Debug.println("Overloading resolution for " + this +
"\nwith parameters " + arguments);
// FIRST PASS: only checks the number of parameters
!
! // remembers removed symbols,
// to list possibilities if none matches
LinkedList<VarSymbol> removed = new LinkedList();
--- 51,61 ----
arguments.computeTypes();
! if (bossa.util.Debug.overloading)
bossa.util.Debug.println("Overloading resolution for " + this +
"\nwith parameters " + arguments);
// FIRST PASS: only checks the number of parameters
!
! // remembers removed symbols,
// to list possibilities if none matches
LinkedList<VarSymbol> removed = new LinkedList();
***************
*** 67,71 ****
{
let s = i.next();
!
if (s.isIgnored())
{
--- 67,71 ----
{
let s = i.next();
!
if (s.isIgnored())
{
***************
*** 76,80 ****
let case = s.match(arguments);
! if (case == 0) // Doesn't match
{
removed.add(s);
--- 76,80 ----
let case = s.match(arguments);
! if (case == 0) // Doesn't match
{
removed.add(s);
***************
*** 89,94 ****
else // Should not happen
{
! Internal.warning("Unknown O.R. case: " + s.getClass());
! i.remove();
}
}
--- 89,94 ----
else // Should not happen
{
! Internal.warning("Unknown O.R. case: " + s.getClass());
! i.remove();
}
}
***************
*** 113,118 ****
{
let s = i.next();
!
! if(bossa.util.Debug.overloading)
bossa.util.Debug.println("Overloading: Trying with "+s);
--- 113,118 ----
{
let s = i.next();
!
! if(bossa.util.Debug.overloading)
bossa.util.Debug.println("Overloading: Trying with "+s);
***************
*** 124,128 ****
s.makeClonedType();
! mlsub.typing.Polytype[] argsType =
this.computeArgsType(notNull(arguments.getExpressions(s)),
s.getClonedType(), arguments.getUsedArguments(s));
--- 124,128 ----
s.makeClonedType();
! mlsub.typing.Polytype[] argsType =
this.computeArgsType(notNull(arguments.getExpressions(s)),
s.getClonedType(), arguments.getUsedArguments(s));
***************
*** 154,158 ****
removeNonMinimal(symbols, arguments);
removeOverlappingJavaMethods(symbols);
!
if (symbols.size() == 1)
{
--- 154,158 ----
removeNonMinimal(symbols, arguments);
removeOverlappingJavaMethods(symbols);
!
if (symbols.size() == 1)
{
***************
*** 210,218 ****
resolveOverloading(mlsub.typing.Polytype expectedType)
{
! if(bossa.util.Debug.overloading)
bossa.util.Debug.println("Overloading resolution (expected type " + expectedType +
") for " + this);
! // remembers removed symbols,
// to list possibilities if none matches
LinkedList<VarSymbol> removed = new LinkedList();
--- 210,218 ----
resolveOverloading(mlsub.typing.Polytype expectedType)
{
! if(bossa.util.Debug.overloading)
bossa.util.Debug.println("Overloading resolution (expected type " + expectedType +
") for " + this);
! // remembers removed symbols,
// to list possibilities if none matches
LinkedList<VarSymbol> removed = new LinkedList();
***************
*** 235,240 ****
i.remove();
s.releaseClonedType();
! if(bossa.util.Debug.overloading)
! bossa.util.Debug.println("Not "+s+" of type\n" + s.getClonedType() +
"\nbecause "+e);
}
--- 235,240 ----
i.remove();
s.releaseClonedType();
! if(bossa.util.Debug.overloading)
! bossa.util.Debug.println("Not "+s+" of type\n" + s.getClonedType() +
"\nbecause "+e);
}
***************
*** 244,248 ****
{
let s = symbols[0];
! let symType = s.getClonedType();
s.releaseClonedType();
return this.uniqueExpression(s, symType);
--- 244,248 ----
{
let s = symbols[0];
! let symType = s.getClonedType();
s.releaseClonedType();
return this.uniqueExpression(s, symType);
***************
*** 259,264 ****
if (symbols.size() == 1)
{
! let s = symbols[0];
! let symType = s.getClonedType();
s.releaseClonedType();
symbols = nonMin;
--- 259,264 ----
if (symbols.size() == 1)
{
! let s = symbols[0];
! let symType = s.getClonedType();
s.releaseClonedType();
symbols = nonMin;
***************
*** 287,291 ****
noOverloading()
{
! if(bossa.util.Debug.overloading)
bossa.util.Debug.println("(no)Overloading resolution for "+this);
--- 287,291 ----
noOverloading()
{
! if(bossa.util.Debug.overloading)
bossa.util.Debug.println("(no)Overloading resolution for "+this);
***************
*** 308,312 ****
throw new AmbiguityError(this);
! throw User.error(this,
"No variable or field in this class has name " + ident);
}
--- 308,312 ----
throw new AmbiguityError(this);
! throw User.error(this,
"No variable or field in this class has name " + ident);
}
***************
*** 379,383 ****
let sym = removed[0];
if (sym.isIgnored())
! return sym.getName() +
" cannot be used because it has been ignored.\n" +
"See above for the reason why it has been ignored";
--- 379,383 ----
let sym = removed[0];
if (sym.isIgnored())
! return sym.getName() +
" cannot be used because it has been ignored.\n" +
"See above for the reason why it has been ignored";
***************
*** 414,418 ****
return ident + " has type " + removed[0].getType();
! return "No symbol with name " + ident + " has type " + expectedType +
":\n" + Util.map("", "\n", "", removed);
}
--- 414,418 ----
return ident + " has type " + removed[0].getType();
! return "No symbol with name " + ident + " has type " + expectedType +
":\n" + Util.map("", "\n", "", removed);
}
***************
*** 431,435 ****
}
! private Expression createOverloadedSymbolExp(List<VarSymbol> symbols, LocatedString ident,
boolean noImplicitThis)
{
--- 431,435 ----
}
! private Expression createOverloadedSymbolExp(List<VarSymbol> symbols, LocatedString ident,
boolean noImplicitThis)
{
***************
*** 450,456 ****
new AmbiguityError(OverloadedSymbolExp sym)
{
! this(sym,
! "Ambiguity for symbol " + sym.ident +
! ". Possibilities are :\n" +
Util.map("", "\n", "", sym.symbols));
}
--- 450,456 ----
new AmbiguityError(OverloadedSymbolExp sym)
{
! this(sym,
! "Ambiguity for symbol " + sym.ident +
! ". Possibilities are :\n" +
Util.map("", "\n", "", sym.symbols));
}
***************
*** 462,474 ****
if(symbols.size()<2)
return removed;
!
int len = symbols.size();
List<VarSymbol> syms = new ArrayList(symbols);
boolean[] remove = new boolean[len];
!
for(int s1 = 0; s1<len; s1++) {
mlsub.typing.Domain d1 = nice.tools.typing.Types.domain(syms[s1].getType());
!
for(int s2 = 0; s2<len; s2++)
/*
--- 462,474 ----
if(symbols.size()<2)
return removed;
!
int len = symbols.size();
List<VarSymbol> syms = new ArrayList(symbols);
boolean[] remove = new boolean[len];
!
for(int s1 = 0; s1<len; s1++) {
mlsub.typing.Domain d1 = nice.tools.typing.Types.domain(syms[s1].getType());
!
for(int s2 = 0; s2<len; s2++)
/*
***************
*** 506,510 ****
if (bossa.util.Debug.overloading)
bossa.util.Debug.println("Removing " + syms[i] + " since it is not minimal");
!
removed.add(syms[i]);
symbols.remove(syms[i]);
--- 506,510 ----
if (bossa.util.Debug.overloading)
bossa.util.Debug.println("Removing " + syms[i] + " since it is not minimal");
!
removed.add(syms[i]);
symbols.remove(syms[i]);
***************
*** 521,525 ****
* removoNonMinimal will remove s1.
*
! * This allows for java-style overloading,
* where the most precise method is choosen at compile-time.
*/
--- 521,525 ----
* removoNonMinimal will remove s1.
*
! * This allows for java-style overloading,
* where the most precise method is choosen at compile-time.
*/
***************
*** 529,542 ****
if(symbols.size()<2)
return;
!
int len = symbols.size();
List<VarSymbol> syms = new ArrayList(symbols);
boolean[] remove = new boolean[len];
!
for(int s1 = 0; s1<len; s1++) {
! mlsub.typing.Domain d1 = domain(syms[s1].getClonedType(),
! arguments.getUsedArguments(syms[s1]));
!
for(int s2 = 0; s2<len; s2++)
/*
--- 529,542 ----
if(symbols.size()<2)
return;
!
int len = symbols.size();
List<VarSymbol> syms = new ArrayList(symbols);
boolean[] remove = new boolean[len];
!
for(int s1 = 0; s1<len; s1++) {
! mlsub.typing.Domain d1 = domain(syms[s1].getClonedType(),
! arguments.getUsedArguments(syms[s1]));
!
for(int s2 = 0; s2<len; s2++)
/*
***************
*** 551,555 ****
if (s1 != s2 && !remove[s2]) {
! mlsub.typing.Domain d2 = domain(syms[s2].getClonedType(),
arguments.getUsedArguments(syms[s2]));
--- 551,555 ----
if (s1 != s2 && !remove[s2]) {
! mlsub.typing.Domain d2 = domain(syms[s2].getClonedType(),
arguments.getUsedArguments(syms[s2]));
***************
*** 574,578 ****
if (bossa.util.Debug.overloading)
bossa.util.Debug.println("Removing " + syms[i] + " since it is not minimal");
!
syms[i].releaseClonedType();
symbols.remove(syms[i]);
--- 574,578 ----
if (bossa.util.Debug.overloading)
bossa.util.Debug.println("Removing " + syms[i] + " since it is not minimal");
!
syms[i].releaseClonedType();
symbols.remove(syms[i]);
***************
*** 607,611 ****
there is no ambiguity between methods of the same signature
defined in both interfaces, since they are implemented by the same
! method in the class. So this method removes all but one of the
overlapping methods.
*/
--- 607,611 ----
there is no ambiguity between methods of the same signature
defined in both interfaces, since they are implemented by the same
! method in the class. So this method removes all but one of the
overlapping methods.
*/
***************
*** 615,619 ****
if(symbols.size()<2)
return;
!
int len = symbols.size();
List<VarSymbol> syms = new ArrayList(symbols);
--- 615,619 ----
if(symbols.size()<2)
return;
!
int len = symbols.size();
List<VarSymbol> syms = new ArrayList(symbols);
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click