}else{
iterator.previous();
iterator.previous();
}
}catch(WeaselCompilerException e){
compiler.addWeaselCompilerMessage(new WeaselCompilerMessage(MessageType.ERROR, e.getLine(), parentClass.getFileName(), e.getMessage()));
iterator.previous();
token = iterator.next();
while(token.tokenType!=WeaselTokenType.SEMICOLON && iterator.hasNext()){
token = iterator.next();
}
}
}else{
iterator.previous();
iterator.previous();
}
}else{
iterator.previous();
}
}
if(auto){
superCaller = true;
if(classCompiler.genericClass.getGenericSuperClass()!=null){
WeaselGenericMethod2 method = classCompiler.genericClass.getGenericSuperClass().getGenericMethodOfThis("<init>()", new WeaselGenericClass[0]);
if(method==null){
compiler.addWeaselCompilerMessage(
new WeaselCompilerMessage(MessageType.ERROR, 0, parentClass.getFileName(),
String.format("No default constructor in %s found", classCompiler.genericClass.getGenericSuperClass())));
}else{
instructions.add(0, new WeaselInstructionInvoke(method.getMethod().getMethod().getClassNameAndDesk()));
}
}
}
}
while(iterator.hasNext()){
try{
instructions.addAll(WeaselTree.parseAndCompile(compiler, this, iterator));
}catch(WeaselCompilerException e){
compiler.addWeaselCompilerMessage(new WeaselCompilerMessage(MessageType.ERROR, e.getLine(), parentClass.getFileName(), e.getMessage()));
iterator.previous();
WeaselToken token = iterator.next();
while(token.tokenType!=WeaselTokenType.SEMICOLON && iterator.hasNext()){
token = iterator.next();
}