Wildcards werden nun auch geparst

This commit is contained in:
JanUlrich 2014-08-07 17:13:55 +02:00
parent 7ff5b6d9db
commit 0aa5c06b73
5 changed files with 1290 additions and 1258 deletions

View File

@ -810,11 +810,22 @@ typelist : type
$1.add($3);
$$=$1;
}
| typelist ',' wildcardparameter
{
$1.add($3);
$$=$1;
}
| wildcardparameter
{
Vector<Type> tl = new Vector<Type>();
tl.add($1);
$$ = tl;
}
/* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */
//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes
parameter : { $$ = null; }
| '<'typelist'>'//'<'paralist'>'//typelist statt
| '<' typelist '>' //'<'paralist'>'//typelist statt
{
$$ = $2;
}

View File

@ -1094,7 +1094,6 @@ public class SourceFile
mod.addModifier(new Public());
//Für Object:
//TODO: toString()-Methode gerät nicht in die BasicAssumptions
imports.add(new UsedId("java.lang.Object",-1));
// Für jede einzelne Klasse

File diff suppressed because it is too large Load Diff

View File

@ -810,11 +810,22 @@ typelist : type
$1.add($3);
$$=$1;
}
| typelist ',' wildcardparameter
{
$1.add($3);
$$=$1;
}
| wildcardparameter
{
Vector<Type> tl = new Vector<Type>();
tl.add($1);
$$ = tl;
}
/* PL 05-07-28 erg�nzt, weil jeder classorinterfacetype auch parametrisiert sein kann */
//TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes
parameter : { $$ = null; }
| '<'typelist'>'//'<'paralist'>'//typelist statt
| '<' typelist '>' //'<'paralist'>'//typelist statt
{
$$ = $2;
}

View File

@ -11,12 +11,12 @@ import org.apache.log4j.Logger;
// ino.class.ParaList.26591.declaration
public class ParaList
public class ParaList extends Vector<Type>
// ino.end
// ino.class.ParaList.26591.body
{
// ino.attribute.paralist.26594.declaration
protected Vector<Type> paralist = new Vector<Type>();
//protected Vector<Type> paralist = new Vector<Type>();
// ino.end
// ino.attribute.parserlog.26597.declaration
protected static Logger parserlog = Logger.getLogger("parser");
@ -33,7 +33,7 @@ public class ParaList
// ino.method.ParaList.26603.body
{
parserlog.debug( "ParaList: " + t );
this.paralist.addElement(t);
this.addElement(t);
}
// ino.end
@ -42,7 +42,7 @@ public class ParaList
// ino.end
// ino.method.get_ParaList.26606.body
{
return this.paralist;
return this;
}
// ino.end
@ -51,7 +51,7 @@ public class ParaList
// ino.end
// ino.method.add_ParaList.26609.body
{
this.paralist.addElement(obj);
this.addElement(obj);
parserlog.debug("ParaList: " + obj);
}
// ino.end
@ -61,7 +61,7 @@ public class ParaList
// ino.end
// ino.method.get_firstElement.26612.body
{
return paralist.firstElement();
return firstElement();
}
// ino.end
// ino.method.getParalist.26615.definition
@ -69,7 +69,7 @@ public class ParaList
// ino.end
// ino.method.getParalist.26615.body
{
return paralist;
return this;
}
// ino.end
// ino.method.setParalist.26618.definition
@ -77,7 +77,8 @@ public class ParaList
// ino.end
// ino.method.setParalist.26618.body
{
this.paralist = paralist;
this.removeAllElements();
this.addAll(paralist);
}
// ino.end
}