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.add($3);
$$=$1; $$=$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 */ /* 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 //TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes
parameter : { $$ = null; } parameter : { $$ = null; }
| '<'typelist'>'//'<'paralist'>'//typelist statt | '<' typelist '>' //'<'paralist'>'//typelist statt
{ {
$$ = $2; $$ = $2;
} }

View File

@ -1094,7 +1094,6 @@ public class SourceFile
mod.addModifier(new Public()); mod.addModifier(new Public());
//Für Object: //Für Object:
//TODO: toString()-Methode gerät nicht in die BasicAssumptions
imports.add(new UsedId("java.lang.Object",-1)); imports.add(new UsedId("java.lang.Object",-1));
// Für jede einzelne Klasse // 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.add($3);
$$=$1; $$=$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 */ /* 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 //TODO: Das hier ist möglicherweise falsch. Ein Typ hat keine parameterliste, nur eine Liste von RefTypes
parameter : { $$ = null; } parameter : { $$ = null; }
| '<'typelist'>'//'<'paralist'>'//typelist statt | '<' typelist '>' //'<'paralist'>'//typelist statt
{ {
$$ = $2; $$ = $2;
} }

View File

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