package ceylon.language;

import com.redhat.ceylon.compiler.java.metadata.Ceylon;
import com.redhat.ceylon.compiler.java.metadata.Ignore;

@Ignore
@Ceylon(major = 1)
class StringOfNone extends String implements None<Character> {
    
    static StringOfNone instance = new StringOfNone();
    
    private StringOfNone() { 
        super(""); 
    }
    
    @Override
    public long getSize() {
        return 0;
    }
    
    @Override
    public boolean getEmpty() {
        return true;
    }
    
    @Override
    public Character getFirst() {
        return null;
    }

    @Override 
    @Ignore
    public Iterable<? extends Character> getSequence() { 
        return Iterable$impl._getSequence(this); 
    }
    @Override 
    @Ignore
    public Character find(Callable<? extends Boolean> f) { 
        return Iterable$impl._find(this, f); 
    }
    @Override 
    @Ignore
    public Iterable<? extends Character> sorted(Callable<? extends Comparison> f) { 
        return Iterable$impl._sorted(this, f); 
    }
    @Override 
    @Ignore
    public <Result> Iterable<Result> map(Callable<? extends Result> f) { 
        return new MapIterable<Character, Result>(this, f); 
    }
    @Override 
    @Ignore
    public Iterable<? extends Character> filter(Callable<? extends Boolean> f) { 
        return new FilterIterable<Character>(this, f); 
    }
    @Override 
    @Ignore
    public <Result> Result fold(Result ini, Callable<? extends Result> f) { 
        return Iterable$impl._fold(this, ini, f);
    }
}

@@ -984,38 +984,12 @@
 urn 
-Iterable$impl._sorted(this, f)
+this
 ; %0A 
@@ -1289,46 +1289,12 @@
 urn 
-new FilterIterable%3CCharacter%3E(this, f)
+this
 ; %0A 
@@ -1421,41 +1421,225 @@
 urn 
-Iterable$impl._fold(this, ini, f)
+ini;%0A    %7D%0A    @Override @Ignore%0A    public boolean any(Callable%3C? extends Boolean%3E f) %7B%0A        return false;%0A    %7D%0A    @Override @Ignore%0A    public boolean every(Callable%3C? extends Boolean%3E f) %7B%0A        return false
 ;%0A  

Add any/every, and optimize some functions (knowing it's empty string)