Changeset 1194

Show
Ignore:
Timestamp:
06/21/08 17:01:18 (7 months ago)
Author:
asterite
Message:

Fixed some bugs relating to ddoc of enum members

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/descent.core/src/descent/internal/compiler/parser/Lexer.java

    r1176 r1194  
    46564656        int c; 
    46574657        //Loc start = loc; 
    4658          
    4659         int firstLineBreak = -1; 
    46604658 
    46614659        p++; 
     
    46814679            case '\n': 
    46824680                newline(NOT_IN_COMMENT); 
    4683                  
    4684                 // Changed from DMD to allow better error reporting 
    4685                 error(IProblem.UnterminatedStringConstant, token.lineNumber, 
    4686                         token.ptr, p - token.ptr); 
    4687                 t.ustring = CharOperation.NO_CHAR; 
    4688                 t.len = 0; 
    4689                 t.postfix = 0; 
    4690                  
    4691                 t.sourceLen = 0; 
    4692                 return TOKstring; 
     4681                break; 
    46934682 
    46944683            case '\r': 
     
    46984687                c = '\n'; // treat EndOfLine as \n character 
    46994688                newline(NOT_IN_COMMENT); 
    4700                  
    4701                 // Changed from DMD to allow better error reporting 
    4702                 error(IProblem.UnterminatedStringConstant, token.lineNumber, 
    4703                         token.ptr, p - token.ptr); 
    4704                 t.ustring = CharOperation.NO_CHAR; 
    4705                 t.len = 0; 
    4706                 t.postfix = 0; 
    4707                  
    4708                 t.sourceLen = 0; 
    4709                 return TOKstring; 
     4689                break; 
    47104690 
    47114691            case '"': 
  • trunk/descent.core/src/descent/internal/compiler/parser/Parser.java

    r1192 r1194  
    18751875                        type = parseType(ident, null); 
    18761876                        if (id != null || t != null) { 
    1877                             error(IProblem.TypeOnlyAllowedIfAnonymousEnumAndNoEnumType, t.start, t.length, t.getLineNumber()); 
     1877                            error(IProblem.TypeOnlyAllowedIfAnonymousEnumAndNoEnumType, t == null ? id.start : t.start, t == null ? id.length : t.length, t == null ? id.getLineNumber() : t.getLineNumber()); 
    18781878                        } 
    18791879                    } 
     
    18861886                        value = null; 
    18871887                        if (type != null) { 
    1888                             error(IProblem.IfTypeThereMustBeAnInitializer, t.start, t.length, t.getLineNumber()); 
     1888                            error(IProblem.IfTypeThereMustBeAnInitializer, type.start, type.length, type.getLineNumber()); 
    18891889                        } 
    18901890                    } 
     
    19041904                        } 
    19051905                         
    1906                         lastComments = getLastComments(); 
     1906                        if (token.value != TOK.TOKrcurly) { 
     1907                            lastComments = getLastComments(); 
     1908                        } else { 
     1909                            lastComments = null; 
     1910                        } 
    19071911                         
    19081912                        em = new EnumMember(loc(), ident, value); 
     
    76837687     
    76847688    private void attachCommentToCurrentToken(Comment comment) { 
    7685         if ((!appendLeadingComments ||  
    7686                     //!comment.isDDocComment() ||  
    7687                     (prevToken.value != TOKsemicolon &&  
    7688                         prevToken.value != TOKrcurly && 
    7689                         prevToken.value != TOKcomma))) { 
     7689        if ((!appendLeadingComments  
     7690//              ||  
     7691//                  //!comment.isDDocComment() ||  
     7692//                  (prevToken.value != TOKsemicolon &&  
     7693//                      prevToken.value != TOKrcurly && 
     7694//                      prevToken.value != TOKcomma && 
     7695//                      prevToken.value != TOKidentifier)) 
     7696                        )) { 
    76907697            return; 
    76917698        } 
  • trunk/descent.core/src/descent/internal/core/CompilationUnitStructureRequestor.java

    r1155 r1194  
    111111    protected int topLevelNesting = 0; 
    112112    protected HashtableOfCharArrayAndObject topLevelIdentifiers = new HashtableOfCharArrayAndObject(); 
     113     
     114    protected boolean stillAcceptsImportContainer = true; 
    113115 
    114116protected CompilationUnitStructureRequestor(ICompilationUnit unit, CompilationUnitElementInfo unitInfo, Map newElements) { 
     
    120122public void acceptImport(int declarationStart, int declarationEnd, String name, String alias, String[] selectiveImportsNames,  String[] selectiveImportsAliases, long modifiers) { 
    121123    JavaElement parentHandle= (JavaElement) this.handleStack.peek(); 
    122     if (parentHandle.getElementType() == IJavaElement.COMPILATION_UNIT) { 
     124    if (stillAcceptsImportContainer && (modifiers == 0 || Flags.isStatic(modifiers)) &&  
     125            parentHandle.getElementType() == IJavaElement.COMPILATION_UNIT) { 
    123126        ICompilationUnit parentCU= (ICompilationUnit)parentHandle; 
    124127        //create the import container and its info 
     
    278281    this.infoStack.push(info); 
    279282    this.handleStack.push(handle); 
     283     
     284    stillAcceptsImportContainer = false; 
    280285} 
    281286/** 
     
    286291    long modifiers, 
    287292    char[] displayString) { 
    288         // If there is a mixin, cancel the identifiers cache 
    289         if (topLevelNesting == 0 && ((modifiers & Flags.AccMixin) != 0) || (modifiers & Flags.AccTemplateMixin) != 0) { 
    290             topLevelIdentifiers = null; 
    291         } 
    292      
    293         JavaElementInfo parentInfo = (JavaElementInfo) this.infoStack.peek(); 
    294         JavaElement parentHandle= (JavaElement) this.handleStack.peek(); 
    295         Initializer handle = null; 
    296          
    297         //if (parentHandle.getElementType() == IJavaElement.TYPE) { 
    298         if (displayString.length == 0) { 
    299             handle = new Initializer(parentHandle, 1); 
    300         } else { 
    301             String displayStringStr = JavaModelManager.getJavaModelManager().intern(new String(displayString)); 
    302             handle = new Initializer(parentHandle, 1, displayStringStr); 
    303         } 
    304         //} 
    305         //else { 
    306         //Assert.isTrue(false); // Should not happen 
    307         //} 
    308         resolveDuplicates(handle); 
    309          
    310         InitializerElementInfo info = new InitializerElementInfo(); 
    311         info.setSourceRangeStart(declarationSourceStart); 
    312         info.setFlags(modifiers); 
    313  
    314         addToChildren(parentInfo, handle); 
    315         this.newElements.put(handle, info); 
    316  
    317         this.infoStack.push(info); 
    318         this.handleStack.push(handle); 
     293    // If there is a mixin, cancel the identifiers cache 
     294    if (topLevelNesting == 0 && ((modifiers & Flags.AccMixin) != 0) || (modifiers & Flags.AccTemplateMixin) != 0) { 
     295        topLevelIdentifiers = null; 
     296    } 
     297 
     298    JavaElementInfo parentInfo = (JavaElementInfo) this.infoStack.peek(); 
     299    JavaElement parentHandle= (JavaElement) this.handleStack.peek(); 
     300    Initializer handle = null; 
     301     
     302    //if (parentHandle.getElementType() == IJavaElement.TYPE) { 
     303    if (displayString.length == 0) { 
     304        handle = new Initializer(parentHandle, 1); 
     305    } else { 
     306        String displayStringStr = JavaModelManager.getJavaModelManager().intern(new String(displayString)); 
     307        handle = new Initializer(parentHandle, 1, displayStringStr); 
     308    } 
     309    //} 
     310    //else { 
     311    //Assert.isTrue(false); // Should not happen 
     312    //} 
     313    resolveDuplicates(handle); 
     314     
     315    InitializerElementInfo info = new InitializerElementInfo(); 
     316    info.setSourceRangeStart(declarationSourceStart); 
     317    info.setFlags(modifiers); 
     318 
     319    addToChildren(parentInfo, handle); 
     320    this.newElements.put(handle, info); 
     321 
     322    this.infoStack.push(info); 
     323    this.handleStack.push(handle); 
     324     
     325    stillAcceptsImportContainer = false; 
    319326} 
    320327 
     
    346353    this.infoStack.push(info); 
    347354    this.handleStack.push(handle); 
     355     
     356    stillAcceptsImportContainer = false; 
    348357} 
    349358 
     
    362371    this.infoStack.push(info); 
    363372    this.handleStack.push(handle); 
     373     
     374    stillAcceptsImportContainer = false; 
    364375} 
    365376 
     
    378389    this.infoStack.push(info); 
    379390    this.handleStack.push(handle); 
     391     
     392    stillAcceptsImportContainer = false; 
    380393} 
    381394 
     
    453466        } 
    454467    } 
     468     
     469    stillAcceptsImportContainer = false; 
    455470} 
    456471/** 
     
    511526        } 
    512527    } 
     528     
     529    stillAcceptsImportContainer = false; 
    513530} 
    514531protected void enterTypeParameter(TypeParameterInfo typeParameterInfo) { 
     
    545562    this.infoStack.push(info); 
    546563    this.handleStack.push(handle); 
     564     
     565    stillAcceptsImportContainer = false; 
    547566} 
    548567/** 
  • trunk/descent.core/src/descent/internal/core/Member.java

    r1186 r1194  
    1414import java.util.List; 
    1515 
    16 import descent.core.Flags; 
    1716import descent.core.IBuffer; 
    1817import descent.core.IClassFile; 
    1918import descent.core.ICompilationUnit; 
    2019import descent.core.IJavaElement; 
     20import descent.core.IJavaProject; 
    2121import descent.core.IMember; 
    2222import descent.core.IMethod; 
     
    287287    final int length= range.getLength(); 
    288288     
    289     Parser parser = new Parser(AST.D2, buf.getText(start, length)); 
     289    IJavaProject activeProject = getJavaModel().getActiveProject(); 
     290    int apiLevel = activeProject == null ? AST.D2 : activeProject.getApiLevel(); 
     291     
     292    String source = buf.getText(start, length); 
     293    Parser parser = new Parser(source.toCharArray(), 0, source.length(),  
     294            true, false,  
     295            false, false,  
     296            apiLevel,  
     297            null, null, false,  
     298            null); 
    290299    Module module = parser.parseModuleObj(); 
    291300    if (module.members == null || module.members.size() == 0) { 
  • trunk/descent.core/src/descent/internal/core/SourceField.java

    r1104 r1194  
    1919import descent.core.IField; 
    2020import descent.core.IJavaElement; 
     21import descent.core.IJavaProject; 
    2122import descent.core.ISourceRange; 
    2223import descent.core.IType; 
     
    266267        final int length= range.getLength(); 
    267268         
    268         String text = "enum Foo{" + buf.getText(start, length) + "}"; 
    269          
    270         Parser parser = new Parser(AST.D2, text); 
     269        String source = "enum Foo{" + buf.getText(start, length) + "\n}"; 
     270         
     271        IJavaProject activeProject = getJavaModel().getActiveProject(); 
     272        int apiLevel = activeProject == null ? AST.D2 : activeProject.getApiLevel(); 
     273         
     274        Parser parser = new Parser(source.toCharArray(), 0, source.length(),  
     275                true, false,  
     276                false, false,  
     277                apiLevel,  
     278                null, null, false,  
     279                null); 
    271280        Module module = parser.parseModuleObj(); 
    272281        if (module.members == null || module.members.size() == 0) { 
  • trunk/descent.tests/descent/tests/assist/AbstractCompletionTest.java

    r1105 r1194  
    2020    @Override 
    2121    protected String getPhobosPath() { 
    22         return "C:\\ary\\programacion\\java\\descent\\descent.tests\\phobos"; 
     22        //return "C:\\ary\\programacion\\java\\descent\\descent.tests\\phobos"; 
     23        return "/home/asterite/programming/descent/descent.tests/phobos"; 
    2324    } 
    2425     
  • trunk/descent.tests/descent/tests/binding/AbstractBinding_Test.java

    r981 r1194  
    55import descent.core.dom.ASTParser; 
    66import descent.core.dom.CompilationUnit; 
    7 import descent.internal.compiler.parser.ISignatureConstants
     7import descent.tests.mangling.ISignatureTest
    88import descent.tests.model.AbstractModelTest; 
    99 
    10 public abstract class AbstractBinding_Test extends AbstractModelTest implements ISignatureConstants
     10public abstract class AbstractBinding_Test extends AbstractModelTest implements ISignatureTest
    1111     
    1212    protected ICompilationUnit lastCompilationUnit; 
  • trunk/descent.tests/descent/tests/binding/BindingType_Test.java

    r1096 r1194  
    99import descent.core.dom.IVariableBinding; 
    1010import descent.core.dom.VariableDeclaration; 
    11 import descent.internal.compiler.parser.ISignatureConstants
     11import descent.tests.mangling.ISignatureTest
    1212 
    1313public class BindingType_Test extends AbstractBinding_Test { 
     
    1818    private final static int INTERFACE = 4; 
    1919     
    20     private void assertTypeBinding(String keyword, char signatureStart, int type) throws Exception { 
     20    private void assertTypeBinding(String keyword, String signatureStart, int type) throws Exception { 
    2121        CompilationUnit unit = createCU("test.d", keyword + " Foo { }"); 
    2222        AggregateDeclaration agg = (AggregateDeclaration) unit.declarations().get(0); 
     
    4343     
    4444    public void testTypeBindingInClassDeclaration() throws Exception { 
    45         assertTypeBinding("class", ISignatureConstants.CLASS, CLASS); 
     45        assertTypeBinding("class", ISignatureTest.CLASS, CLASS); 
    4646    } 
    4747     
    4848    public void testTypeBindingInStructDeclaration() throws Exception { 
    49         assertTypeBinding("struct", ISignatureConstants.STRUCT, STRUCT); 
     49        assertTypeBinding("struct", ISignatureTest.STRUCT, STRUCT); 
    5050    } 
    5151 
    5252    public void testTypeBindingInUnionDeclaration() throws Exception { 
    53         assertTypeBinding("union", ISignatureConstants.UNION, UNION); 
     53        assertTypeBinding("union", ISignatureTest.UNION, UNION); 
    5454    } 
    5555     
    5656 
    5757    public void testTypeBindingInInterfaceDeclaration() throws Exception { 
    58         assertTypeBinding("interface", ISignatureConstants.INTERFACE, INTERFACE); 
     58        assertTypeBinding("interface", ISignatureTest.INTERFACE, INTERFACE); 
    5959    } 
    6060 
  • trunk/descent.tests/descent/tests/binding/BindingVar_Test.java

    r981 r1194  
    2020import descent.core.dom.VariableDeclaration; 
    2121import descent.core.dom.VariableDeclarationFragment; 
    22  
    23 public class BindingVar_Test extends AbstractBinding_Test { 
     22import descent.tests.mangling.ISignatureTest; 
     23 
     24public class BindingVar_Test extends AbstractBinding_Test implements ISignatureTest { 
    2425     
    2526    public void testTypeBindingForVar() throws Exception { 
  • trunk/descent.tests/descent/tests/format/AbstractFormatter_Test.java

    r441 r1194  
    11package descent.tests.format; 
    22 
     3import java.io.File; 
    34import java.util.HashMap; 
    45import java.util.Map; 
     
    1819     
    1920    protected final static Map EMPTY_MAP = new HashMap(); 
     21    public final static String LINE_SEPARATOR = System.getProperty("line.separator"); 
    2022     
    2123    /** 
     
    3335     */ 
    3436    protected void assertFormat(String expected, String original, Map overrideOptions) throws Exception { 
     37        // Write tests for Windows, but make them work in other OSs two 
     38        expected = expected.replaceAll("\r\n", LINE_SEPARATOR); 
     39        original = original.replaceAll("\r\n", LINE_SEPARATOR); 
     40         
    3541        Document document = new Document(original); 
    3642         
  • trunk/descent.tests/descent/tests/mangling/AbstractSignatureTest.java

    r1092 r1194  
    11package descent.tests.mangling; 
    22 
    3 import descent.internal.compiler.parser.ISignatureConstants; 
    4 import descent.internal.compiler.parser.TY; 
    53import junit.framework.TestCase; 
     4import descent.core.Signature; 
    65 
    7 public class AbstractSignatureTest extends TestCase implements ISignatureConstants { 
    8      
    9     protected String F = String.valueOf(LINK_D);     
    10     protected String Z = String.valueOf(FUNCTION_PARAMETERS_BREAK); 
    11     protected String Y = String.valueOf(FUNCTION_PARAMETERS_BREAK_VARIADIC); 
    12     protected String X = String.valueOf(FUNCTION_PARAMETERS_BREAK_VARIADIC2); 
    13     protected String i = String.valueOf(TY.Tint32.mangleChar); 
    14     protected String a = String.valueOf(TY.Tchar.mangleChar); 
    15     protected String v = String.valueOf(TY.Tvoid.mangleChar); 
    16     protected String D = String.valueOf(DELEGATE); 
     6public class AbstractSignatureTest extends TestCase implements ISignatureTest { 
    177 
    188    protected String A(String type) { 
    19         return String.valueOf(DYNAMIC_ARRAY) + type; 
     9        return String.valueOf(Signature.C_DYNAMIC_ARRAY) + type; 
    2010    } 
    2111     
    2212    protected String P(String type) { 
    23         return String.valueOf(POINTER) + type; 
     13        return String.valueOf(Signature.C_POINTER) + type; 
    2414    } 
    2515     
    2616    protected String G(String type, String dim) { 
    27         return String.valueOf(STATIC_ARRAY + type + STATIC_ARRAY + string(dim, STATIC_ARRAY)); 
     17        return String.valueOf(Signature.C_STATIC_ARRAY + type + Signature.C_STATIC_ARRAY2 + string(dim, Signature.C_STATIC_ARRAY)); 
    2818    } 
    2919     
    3020    protected String H(String key, String value) { 
    31         return String.valueOf(String.valueOf(ASSOCIATIVE_ARRAY) + key + value); 
     21        return String.valueOf(String.valueOf(Signature.C_ASSOCIATIVE_ARRAY) + key + value); 
    3222    } 
    3323     
    3424    protected String typeof(String exp) { 
    35         return String.valueOf(String.valueOf(TYPEOF) + string(exp, TYPEOF)); 
     25        return String.valueOf(String.valueOf(Signature.C_TYPEOF) + string(exp, Signature.C_TYPEOF)); 
    3626    } 
    3727     
    3828    protected String slice(String type, String lwr, String upr) { 
    39         return String.valueOf(String.valueOf(SLICE) + type + SLICE + string(lwr, SLICE) + string(upr, SLICE)); 
     29        return String.valueOf(String.valueOf(Signature.C_SLICE) + type + Signature.C_SLICE2 + string(lwr, Signature.C_SLICE) + string(upr, Signature.C_SLICE)); 
    4030    } 
    4131     
  • trunk/descent.tests/descent/tests/mangling/CustomSignature_Test.java

    r1140 r1194  
    1111import descent.internal.compiler.parser.ExpStatement; 
    1212import descent.internal.compiler.parser.FuncDeclaration; 
    13 import descent.internal.compiler.parser.ISignatureConstants; 
    1413import descent.internal.compiler.parser.Module; 
    1514import descent.internal.compiler.parser.StructDeclaration; 
     
    2524import descent.tests.lookup.AbstractLookupTest; 
    2625 
    27 public class CustomSignature_Test extends AbstractLookupTest implements ISignatureConstants
     26public class CustomSignature_Test extends AbstractLookupTest implements ISignatureTest
    2827     
    2928    public void testClass() throws Exception { 
  • trunk/descent.tests/descent/tests/mangling/SignatureProcessor_Test.java

    r1099 r1194  
    66import org.jmock.integration.junit3.MockObjectTestCase; 
    77 
    8 import descent.internal.compiler.parser.ISignatureConstants; 
    98import descent.internal.compiler.parser.LINK; 
    109import descent.internal.compiler.parser.STC; 
     
    1413import descent.internal.core.SignatureProcessor; 
    1514 
    16 public class SignatureProcessor_Test extends MockObjectTestCase implements ISignatureConstants
     15public class SignatureProcessor_Test extends MockObjectTestCase implements ISignatureTest
    1716     
    1817    protected Mockery mockery = new Mockery(); 
     
    126125            one(requestor).acceptArgumentModifier(STC.STCin); inSequence(s); 
    127126            one(requestor).acceptModule(expectedModule, "@6object"); 
    128             one(requestor).acceptSymbol(CLASS, className, -1, "@6objectC6Object"); 
     127            one(requestor).acceptSymbol(CLASS.charAt(0), className, -1, "@6objectC6Object"); 
    129128            one(requestor).acceptArgumentModifier(STC.STCin); inSequence(s); 
    130129            one(requestor).acceptModule(expectedModule, "@6object"); 
    131             one(requestor).acceptSymbol(CLASS, className, -1, "@6objectC6Object"); 
     130            one(requestor).acceptSymbol(CLASS.charAt(0), className, -1, "@6objectC6Object"); 
    132131            one(requestor).acceptArgumentBreak('Z'); inSequence(s); 
    133132            one(requestor).acceptModule(expectedModule, "@6object"); 
    134             one(requestor).acceptSymbol(CLASS, className, -1, "@6objectC6Object"); 
     133            one(requestor).acceptSymbol(CLASS.charAt(0), className, -1, "@6objectC6Object"); 
    135134            one(requestor).exitFunctionType(LINK.LINKd, 'Z', "F@6objectC6Object@6objectC6ObjectZ@6objectC6Object"); inSequence(s); 
    136135        }}); 
     
    155154     
    156155    public void testSymbol() { 
    157         for(final char type : new char[] {  
     156        for(final String type : new String[] {  
    158157            CLASS, STRUCT, UNION, INTERFACE, ENUM, ENUM_MEMBER, VARIABLE, ALIAS, TYPEDEF  
    159158            }) { 
     
    163162            checking(new Expectations() {{ 
    164163                char[] expected = "test".toCharArray(); 
    165                 one(requestor).acceptSymbol(type, expected, -1, sig); 
     164                one(requestor).acceptSymbol(type.charAt(0), expected, -1, sig); 
    166165            }}); 
    167166             
     
    175174        final Sequence s = mockery.sequence("seq"); 
    176175         
    177         final char type = FUNCTION
     176        final char type = FUNCTION.charAt(0)
    178177        final String sig = type + "4testFZv"; 
    179178         
     
    196195         
    197196        final String sigModule = MODULE + "4test3foo"; 
    198         final String sigClass = sigModule + CLASS + "3Bar"; 
     197        final String sigClass = sigModule + CLASS.charAt(0) + "3Bar"; 
    199198         
    200199        checking(new Expectations() {{ 
     
    202201            char[] expectedClass = "Bar".toCharArray(); 
    203202            one(requestor).acceptModule(expectedModule, sigModule); inSequence(s); 
    204             one(requestor).acceptSymbol(CLASS, expectedClass, -1, sigClass); inSequence(s); 
     203            one(requestor).acceptSymbol(CLASS.charAt(0), expectedClass, -1, sigClass); inSequence(s); 
    205204        }}); 
    206205         
     
    214213         
    215214        final String sigModule = MODULE + "4test3foo"; 
    216         final String sigClass1 = sigModule + CLASS + "3Bar"; 
    217         final String sigClass2 = sigClass1 + CLASS + "4Bazz"; 
     215        final String sigClass1 = sigModule + CLASS.charAt(0) + "3Bar"; 
     216        final String sigClass2 = sigClass1 + CLASS.charAt(0) + "4Bazz"; 
    218217         
    219218        checking(new Expectations() {{ 
     
    222221            char[] expectedClass2 = "Bazz".toCharArray(); 
    223222            one(requestor).acceptModule(expectedModule, sigModule); inSequence(s); 
    224             one(requestor).acceptSymbol(CLASS, expectedClass1, -1, sigClass1); inSequence(s); 
    225             one(requestor).acceptSymbol(CLASS, expectedClass2, -1, sigClass2); inSequence(s); 
     223            one(requestor).acceptSymbol(CLASS.charAt(0), expectedClass1, -1, sigClass1); inSequence(s); 
     224            one(requestor).acceptSymbol(CLASS.charAt(0), expectedClass2, -1, sigClass2); inSequence(s); 
    226225        }}); 
    227226         
     
    245244            one(requestor).acceptPrimitive(TypeBasic.tvoid); inSequence(s); 
    246245            one(requestor).exitFunctionType(LINK.LINKd, 'Z', "FZv"); inSequence(s); 
    247             one(requestor).acceptSymbol(FUNCTION, expectedFunction, -1, sigFunction); inSequence(s); 
     246            one(requestor).acceptSymbol(FUNCTION.charAt(0), expectedFunction, -1, sigFunction); inSequence(s); 
    248247        }}); 
    249248         
     
    257256         
    258257        final String sigModule = MODULE + "4test3foo"; 
    259         final String sigClass = sigModule + CLASS + "3Bar"; 
     258        final String sigClass = sigModule + CLASS.charAt(0) + "3Bar"; 
    260259        final String sigFunctionType = "F" + sigClass + "Z" + sigClass; 
    261260        final String sigFunction = sigModule + FUNCTION + "8someFunc" + sigFunctionType; 
     
    269268            one(requestor).acceptArgumentModifier(STC.STCin); inSequence(s); 
    270269            one(requestor).acceptModule(expectedModule, sigModule); inSequence(s); 
    271             one(requestor).acceptSymbol(CLASS, expectedClass, -1, sigClass); inSequence(s); 
     270            one(requestor).acceptSymbol(CLASS.charAt(0), expectedClass, -1, sigClass); inSequence(s); 
    272271            one(requestor).acceptArgumentBreak('Z'); inSequence(s); 
    273272            one(requestor).acceptModule(expectedModule, sigModule); inSequence(s); 
    274             one(requestor).acceptSymbol(CLASS, expectedClass, -1, sigClass); inSequence(s); 
     273            one(requestor).acceptSymbol(CLASS.charAt(0), expectedClass, -1, sigClass); inSequence(s); 
    275274            one(requestor).exitFunctionType(LINK.LINKd, 'Z', sigFunctionType); inSequence(s); 
    276             one(requestor).acceptSymbol(FUNCTION, expectedFunction, -1, sigFunction); inSequence(s); 
     275            one(requestor).acceptSymbol(FUNCTION.charAt(0), expectedFunction, -1, sigFunction); inSequence(s); 
    277276        }}); 
    278277         
     
    286285         
    287286        final String sigModule = MODULE + "4test3foo"; 
    288         final String sigTemplate = sigModule + TEMPLATE + "3Bar'"; 
    289          
    290         checking(new Expectations() {{ 
    291             char[][] expectedModule = { "test".toCharArray(), "foo".toCharArray() }; 
    292             char[] expectedTemplate = "Bar".toCharArray(); 
    293             one(requestor).acceptModule(expectedModule, sigModule); inSequence(s); 
    294             one(requestor).enterTemplateParameters(); inSequence(s); 
    295             one(requestor).exitTemplateParameters(); inSequence(s); 
    296             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     287        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar'"; 
     288         
     289        checking(new Expectations() {{ 
     290            char[][] expectedModule = { "test".toCharArray(), "foo".toCharArray() }; 
     291            char[] expectedTemplate = "Bar".toCharArray(); 
     292            one(requestor).acceptModule(expectedModule, sigModule); inSequence(s); 
     293            one(requestor).enterTemplateParameters(); inSequence(s); 
     294            one(requestor).exitTemplateParameters(); inSequence(s); 
     295            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    297296        }}); 
    298297         
     
    306305         
    307306        final String sigModule = MODULE + "4test3foo"; 
    308         final String sigTemplate = sigModule + TEMPLATE + "3Bar" + TEMPLATE_TUPLE_PARAMETER +"'"; 
     307        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar" + TEMPLATE_TUPLE_PARAMETER +"'"; 
    309308         
    310309        checking(new Expectations() {{ 
     
    315314            one(requestor).acceptTemplateTupleParameter(); inSequence(s); 
    316315            one(requestor).exitTemplateParameters(); inSequence(s); 
    317             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     316            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    318317        }}); 
    319318         
     
    327326         
    328327        final String sigModule = MODULE + "4test3foo"; 
    329         final String sigTemplate = sigModule + TEMPLATE + "3Bar" + TEMPLATE_ALIAS_PARAMETER + "'"; 
     328        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar" + TEMPLATE_ALIAS_PARAMETER + "'"; 
    330329         
    331330        checking(new Expectations() {{ 
     
    337336            one(requestor).exitTemplateAliasParameter(String.valueOf(TEMPLATE_ALIAS_PARAMETER)); inSequence(s); 
    338337            one(requestor).exitTemplateParameters(); inSequence(s); 
    339             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     338            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    340339        }}); 
    341340         
     
    349348         
    350349        final String sigModule = MODULE + "4test3foo"; 
    351         final String sigTemplate = sigModule + TEMPLATE + "3Bar" + TEMPLATE_ALIAS_PARAMETER + TEMPLATE_ALIAS_PARAMETER2 + "i'"; 
     350        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar" + TEMPLATE_ALIAS_PARAMETER + TEMPLATE_ALIAS_PARAMETER2 + "i'"; 
    352351         
    353352        checking(new Expectations() {{ 
     
    360359            one(requestor).exitTemplateAliasParameter(String.valueOf(TEMPLATE_ALIAS_PARAMETER) + TEMPLATE_ALIAS_PARAMETER2 + "i"); inSequence(s); 
    361360            one(requestor).exitTemplateParameters(); inSequence(s); 
    362             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     361            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    363362        }}); 
    364363         
     
    372371         
    373372        final String sigModule = MODULE + "4test3foo"; 
    374         final String sigTemplate = sigModule + TEMPLATE + "3Bar" + TEMPLATE_TYPE_PARAMETER + "'"; 
     373        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar" + TEMPLATE_TYPE_PARAMETER + "'"; 
    375374         
    376375        checking(new Expectations() {{ 
     
    382381            one(requestor).exitTemplateTypeParameter(String.valueOf(TEMPLATE_TYPE_PARAMETER)); inSequence(s); 
    383382            one(requestor).exitTemplateParameters(); inSequence(s); 
    384             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     383            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    385384        }}); 
    386385         
     
    394393         
    395394        final String sigModule = MODULE + "4test3foo"; 
    396         final String sigTemplate = sigModule + TEMPLATE + "3Bar" + TEMPLATE_TYPE_PARAMETER + TEMPLATE_TYPE_PARAMETER2 + "i'"; 
     395        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar" + TEMPLATE_TYPE_PARAMETER + TEMPLATE_TYPE_PARAMETER2 + "i'"; 
    397396         
    398397        checking(new Expectations() {{ 
     
    405404            one(requestor).exitTemplateTypeParameter(String.valueOf(TEMPLATE_TYPE_PARAMETER) + TEMPLATE_TYPE_PARAMETER2 + "i"); inSequence(s); 
    406405            one(requestor).exitTemplateParameters(); inSequence(s); 
    407             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     406            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    408407        }}); 
    409408         
     
    417416         
    418417        final String sigModule = MODULE + "4test3foo"; 
    419         final String sigTemplate = sigModule + TEMPLATE + "3Bar" + TEMPLATE_VALUE_PARAMETER + "i'"; 
     418        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar" + TEMPLATE_VALUE_PARAMETER + "i'"; 
    420419         
    421420        checking(new Expectations() {{ 
     
    428427            one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i"); inSequence(s); 
    429428            one(requestor).exitTemplateParameters(); inSequence(s); 
    430             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     429            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    431430        }}); 
    432431         
     
    440439         
    441440        final String sigModule = MODULE + "4test3foo"; 
    442         final String sigTemplate = sigModule + TEMPLATED_CLASS + "3Bar" + TEMPLATE_VALUE_PARAMETER + "i'"; 
     441        final String sigTemplate = sigModule + TEMPLATED_CLASS.charAt(0) + "3Bar" + TEMPLATE_VALUE_PARAMETER + "i'"; 
    443442         
    444443        checking(new Expectations() {{ 
     
    451450            one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i"); inSequence(s); 
    452451            one(requestor).exitTemplateParameters(); inSequence(s); 
    453             one(requestor).acceptSymbol(TEMPLATED_CLASS, expectedTemplate, -1, sigTemplate); inSequence(s); 
     452            one(requestor).acceptSymbol(TEMPLATED_CLASS.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    454453        }}); 
    455454         
     
    478477            one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i"); inSequence(s); 
    479478            one(requestor).exitTemplateParameters(); inSequence(s); 
    480             one(requestor).acceptSymbol(TEMPLATED_FUNCTION, expectedTemplate, -1, sigTemplate); inSequence(s); 
     479            one(requestor).acceptSymbol(TEMPLATED_FUNCTION.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    481480        }}); 
    482481         
     
    490489         
    491490        final String sigModule = MODULE + "4test3foo"; 
    492         final String sigTemplate = sigModule + TEMPLATE + "3Bar" + TEMPLATE_VALUE_PARAMETER + "i" + TEMPLATE_VALUE_PARAMETER2 + "3" + TEMPLATE_VALUE_PARAMETER + "123'"; 
     491        final String sigTemplate = sigModule + TEMPLATE.charAt(0) + "3Bar" + TEMPLATE_VALUE_PARAMETER + "i" + TEMPLATE_VALUE_PARAMETER2 + "3" + TEMPLATE_VALUE_PARAMETER + "123'"; 
    493492         
    494493        checking(new Expectations() {{ 
     
    502501            one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i" + TEMPLATE_VALUE_PARAMETER2 + "3" + TEMPLATE_VALUE_PARAMETER + "123"); inSequence(s); 
    503502            one(requestor).exitTemplateParameters(); inSequence(s); 
    504             one(requestor).acceptSymbol(TEMPLATE, expectedTemplate, -1, sigTemplate); inSequence(s); 
     503            one(requestor).acceptSymbol(TEMPLATE.charAt(0), expectedTemplate, -1, sigTemplate); inSequence(s); 
    505504        }}); 
    506505         
     
    570569            one(requestor).enterTemplateInstanceSymbol(); inSequence(s); 
    571570            one(requestor).acceptModule(expectedModule, "@4test"); inSequence(s); 
    572             one(requestor).acceptSymbol(CLASS, "Bar".toCharArray(), -1, "@4testC3Bar"); inSequence(s); 
     571            one(requestor).acceptSymbol(CLASS.charAt(0), "Bar".toCharArray(), -1, "@4testC3Bar"); inSequence(s); 
    573572            one(requestor).exitTemplateInstanceSymbol(TEMPLATE_INSTANCE_SYMBOL  + "@4testC3Bar"); inSequence(s); 
    574573            one(requestor).exitTemplateInstance(sigInstance); inSequence(s); 
  • trunk/descent.tests/descent/tests/mangling/SignatureToTemplateParameter_Test.java

    r1141 r1194  
    22 
    33import descent.internal.compiler.parser.ASTNodeEncoder; 
    4 import descent.internal.compiler.parser.ISignatureConstants; 
    54import descent.internal.compiler.parser.IntegerExp; 
    65import descent.internal.compiler.parser.TemplateAliasParameter; 
     
    1110import descent.internal.core.InternalSignature; 
    1211 
    13 public class SignatureToTemplateParameter_Test extends AbstractSignatureTest implements ISignatureConstants
     12public class SignatureToTemplateParameter_Test extends AbstractSignatureTest implements ISignatureTest
    1413     
    1514    public void testTuple() { 
  • trunk/descent.tests/descent/tests/mangling/SignatureToType_Test.java

    r1141 r1194  
    55import descent.internal.compiler.parser.ASTNodeEncoder; 
    66import descent.internal.compiler.parser.Argument; 
    7 import descent.internal.compiler.parser.ISignatureConstants; 
    8 import descent.internal.compiler.parser.IdentifierExp; 
    97import descent.internal.compiler.parser.IntegerExp; 
    108import descent.internal.compiler.parser.LINK; 
     
    2826import descent.internal.core.InternalSignature; 
    2927 
    30 public class SignatureToType_Test extends AbstractSignatureTest implements ISignatureConstants
     28public class SignatureToType_Test extends AbstractSignatureTest implements ISignatureTest
    3129     
    3230    public void testPrimitive() { 
  • trunk/descent.tests/descent/tests/mangling/Signature_Test.java

    r1141 r1194  
    33import descent.core.Signature; 
    44import descent.internal.compiler.parser.ASTNodeEncoder; 
    5 import descent.internal.compiler.parser.ISignatureConstants; 
    65import descent.internal.compiler.parser.IntegerExp; 
    76import descent.internal.compiler.parser.Loc; 
     
    1413import descent.internal.compiler.parser.TypeTypeof; 
    1514 
    16 public class Signature_Test extends AbstractSignatureTest implements ISignatureConstants
     15public class Signature_Test extends AbstractSignatureTest implements ISignatureTest
    1716     
    1817    public void testPointer() { 
  • trunk/descent.tests/descent/tests/model/AbstractModelTest.java

    r1105 r1194  
    5050     
    5151    protected String getPhobosPath() { 
    52         return "c:\\ary\\programacion\\d\\1.020\\dmd\\src\\phobos"; 
     52//      return "c:\\ary\\programacion\\d\\1.020\\dmd\\src\\phobos"; 
     53        return "/home/asterite/programming/d/dmd.1.030/dmd/src/phobos"; 
    5354    } 
    5455