Changeset 1194
- Timestamp:
- 06/21/08 17:01:18 (7 months ago)
- Files:
-
- trunk/descent.core/src/descent/internal/compiler/parser/Lexer.java (modified) (3 diffs)
- trunk/descent.core/src/descent/internal/compiler/parser/Parser.java (modified) (4 diffs)
- trunk/descent.core/src/descent/internal/core/CompilationUnitStructureRequestor.java (modified) (10 diffs)
- trunk/descent.core/src/descent/internal/core/Member.java (modified) (2 diffs)
- trunk/descent.core/src/descent/internal/core/SourceField.java (modified) (2 diffs)
- trunk/descent.tests/descent/tests/assist/AbstractCompletionTest.java (modified) (1 diff)
- trunk/descent.tests/descent/tests/binding/AbstractBinding_Test.java (modified) (1 diff)
- trunk/descent.tests/descent/tests/binding/BindingType_Test.java (modified) (3 diffs)
- trunk/descent.tests/descent/tests/binding/BindingVar_Test.java (modified) (1 diff)
- trunk/descent.tests/descent/tests/format/AbstractFormatter_Test.java (modified) (3 diffs)
- trunk/descent.tests/descent/tests/mangling/AbstractSignatureTest.java (modified) (1 diff)
- trunk/descent.tests/descent/tests/mangling/CustomSignature_Test.java (modified) (2 diffs)
- trunk/descent.tests/descent/tests/mangling/SignatureProcessor_Test.java (modified) (32 diffs)
- trunk/descent.tests/descent/tests/mangling/SignatureToTemplateParameter_Test.java (modified) (2 diffs)
- trunk/descent.tests/descent/tests/mangling/SignatureToType_Test.java (modified) (2 diffs)
- trunk/descent.tests/descent/tests/mangling/Signature_Test.java (modified) (2 diffs)
- trunk/descent.tests/descent/tests/model/AbstractModelTest.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/descent.core/src/descent/internal/compiler/parser/Lexer.java
r1176 r1194 4656 4656 int c; 4657 4657 //Loc start = loc; 4658 4659 int firstLineBreak = -1;4660 4658 4661 4659 p++; … … 4681 4679 case '\n': 4682 4680 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; 4693 4682 4694 4683 case '\r': … … 4698 4687 c = '\n'; // treat EndOfLine as \n character 4699 4688 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; 4710 4690 4711 4691 case '"': trunk/descent.core/src/descent/internal/compiler/parser/Parser.java
r1192 r1194 1875 1875 type = parseType(ident, null); 1876 1876 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()); 1878 1878 } 1879 1879 } … … 1886 1886 value = null; 1887 1887 if (type != null) { 1888 error(IProblem.IfTypeThereMustBeAnInitializer, t .start, t.length, t.getLineNumber());1888 error(IProblem.IfTypeThereMustBeAnInitializer, type.start, type.length, type.getLineNumber()); 1889 1889 } 1890 1890 } … … 1904 1904 } 1905 1905 1906 lastComments = getLastComments(); 1906 if (token.value != TOK.TOKrcurly) { 1907 lastComments = getLastComments(); 1908 } else { 1909 lastComments = null; 1910 } 1907 1911 1908 1912 em = new EnumMember(loc(), ident, value); … … 7683 7687 7684 7688 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 )) { 7690 7697 return; 7691 7698 } trunk/descent.core/src/descent/internal/core/CompilationUnitStructureRequestor.java
r1155 r1194 111 111 protected int topLevelNesting = 0; 112 112 protected HashtableOfCharArrayAndObject topLevelIdentifiers = new HashtableOfCharArrayAndObject(); 113 114 protected boolean stillAcceptsImportContainer = true; 113 115 114 116 protected CompilationUnitStructureRequestor(ICompilationUnit unit, CompilationUnitElementInfo unitInfo, Map newElements) { … … 120 122 public void acceptImport(int declarationStart, int declarationEnd, String name, String alias, String[] selectiveImportsNames, String[] selectiveImportsAliases, long modifiers) { 121 123 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) { 123 126 ICompilationUnit parentCU= (ICompilationUnit)parentHandle; 124 127 //create the import container and its info … … 278 281 this.infoStack.push(info); 279 282 this.handleStack.push(handle); 283 284 stillAcceptsImportContainer = false; 280 285 } 281 286 /** … … 286 291 long modifiers, 287 292 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; 319 326 } 320 327 … … 346 353 this.infoStack.push(info); 347 354 this.handleStack.push(handle); 355 356 stillAcceptsImportContainer = false; 348 357 } 349 358 … … 362 371 this.infoStack.push(info); 363 372 this.handleStack.push(handle); 373 374 stillAcceptsImportContainer = false; 364 375 } 365 376 … … 378 389 this.infoStack.push(info); 379 390 this.handleStack.push(handle); 391 392 stillAcceptsImportContainer = false; 380 393 } 381 394 … … 453 466 } 454 467 } 468 469 stillAcceptsImportContainer = false; 455 470 } 456 471 /** … … 511 526 } 512 527 } 528 529 stillAcceptsImportContainer = false; 513 530 } 514 531 protected void enterTypeParameter(TypeParameterInfo typeParameterInfo) { … … 545 562 this.infoStack.push(info); 546 563 this.handleStack.push(handle); 564 565 stillAcceptsImportContainer = false; 547 566 } 548 567 /** trunk/descent.core/src/descent/internal/core/Member.java
r1186 r1194 14 14 import java.util.List; 15 15 16 import descent.core.Flags;17 16 import descent.core.IBuffer; 18 17 import descent.core.IClassFile; 19 18 import descent.core.ICompilationUnit; 20 19 import descent.core.IJavaElement; 20 import descent.core.IJavaProject; 21 21 import descent.core.IMember; 22 22 import descent.core.IMethod; … … 287 287 final int length= range.getLength(); 288 288 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); 290 299 Module module = parser.parseModuleObj(); 291 300 if (module.members == null || module.members.size() == 0) { trunk/descent.core/src/descent/internal/core/SourceField.java
r1104 r1194 19 19 import descent.core.IField; 20 20 import descent.core.IJavaElement; 21 import descent.core.IJavaProject; 21 22 import descent.core.ISourceRange; 22 23 import descent.core.IType; … … 266 267 final int length= range.getLength(); 267 268 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); 271 280 Module module = parser.parseModuleObj(); 272 281 if (module.members == null || module.members.size() == 0) { trunk/descent.tests/descent/tests/assist/AbstractCompletionTest.java
r1105 r1194 20 20 @Override 21 21 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"; 23 24 } 24 25 trunk/descent.tests/descent/tests/binding/AbstractBinding_Test.java
r981 r1194 5 5 import descent.core.dom.ASTParser; 6 6 import descent.core.dom.CompilationUnit; 7 import descent. internal.compiler.parser.ISignatureConstants;7 import descent.tests.mangling.ISignatureTest; 8 8 import descent.tests.model.AbstractModelTest; 9 9 10 public abstract class AbstractBinding_Test extends AbstractModelTest implements ISignature Constants{10 public abstract class AbstractBinding_Test extends AbstractModelTest implements ISignatureTest { 11 11 12 12 protected ICompilationUnit lastCompilationUnit; trunk/descent.tests/descent/tests/binding/BindingType_Test.java
r1096 r1194 9 9 import descent.core.dom.IVariableBinding; 10 10 import descent.core.dom.VariableDeclaration; 11 import descent. internal.compiler.parser.ISignatureConstants;11 import descent.tests.mangling.ISignatureTest; 12 12 13 13 public class BindingType_Test extends AbstractBinding_Test { … … 18 18 private final static int INTERFACE = 4; 19 19 20 private void assertTypeBinding(String keyword, charsignatureStart, int type) throws Exception {20 private void assertTypeBinding(String keyword, String signatureStart, int type) throws Exception { 21 21 CompilationUnit unit = createCU("test.d", keyword + " Foo { }"); 22 22 AggregateDeclaration agg = (AggregateDeclaration) unit.declarations().get(0); … … 43 43 44 44 public void testTypeBindingInClassDeclaration() throws Exception { 45 assertTypeBinding("class", ISignature Constants.CLASS, CLASS);45 assertTypeBinding("class", ISignatureTest.CLASS, CLASS); 46 46 } 47 47 48 48 public void testTypeBindingInStructDeclaration() throws Exception { 49 assertTypeBinding("struct", ISignature Constants.STRUCT, STRUCT);49 assertTypeBinding("struct", ISignatureTest.STRUCT, STRUCT); 50 50 } 51 51 52 52 public void testTypeBindingInUnionDeclaration() throws Exception { 53 assertTypeBinding("union", ISignature Constants.UNION, UNION);53 assertTypeBinding("union", ISignatureTest.UNION, UNION); 54 54 } 55 55 56 56 57 57 public void testTypeBindingInInterfaceDeclaration() throws Exception { 58 assertTypeBinding("interface", ISignature Constants.INTERFACE, INTERFACE);58 assertTypeBinding("interface", ISignatureTest.INTERFACE, INTERFACE); 59 59 } 60 60 trunk/descent.tests/descent/tests/binding/BindingVar_Test.java
r981 r1194 20 20 import descent.core.dom.VariableDeclaration; 21 21 import descent.core.dom.VariableDeclarationFragment; 22 23 public class BindingVar_Test extends AbstractBinding_Test { 22 import descent.tests.mangling.ISignatureTest; 23 24 public class BindingVar_Test extends AbstractBinding_Test implements ISignatureTest { 24 25 25 26 public void testTypeBindingForVar() throws Exception { trunk/descent.tests/descent/tests/format/AbstractFormatter_Test.java
r441 r1194 1 1 package descent.tests.format; 2 2 3 import java.io.File; 3 4 import java.util.HashMap; 4 5 import java.util.Map; … … 18 19 19 20 protected final static Map EMPTY_MAP = new HashMap(); 21 public final static String LINE_SEPARATOR = System.getProperty("line.separator"); 20 22 21 23 /** … … 33 35 */ 34 36 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 35 41 Document document = new Document(original); 36 42 trunk/descent.tests/descent/tests/mangling/AbstractSignatureTest.java
r1092 r1194 1 1 package descent.tests.mangling; 2 2 3 import descent.internal.compiler.parser.ISignatureConstants;4 import descent.internal.compiler.parser.TY;5 3 import junit.framework.TestCase; 4 import descent.core.Signature; 6 5 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); 6 public class AbstractSignatureTest extends TestCase implements ISignatureTest { 17 7 18 8 protected String A(String type) { 19 return String.valueOf( DYNAMIC_ARRAY) + type;9 return String.valueOf(Signature.C_DYNAMIC_ARRAY) + type; 20 10 } 21 11 22 12 protected String P(String type) { 23 return String.valueOf( POINTER) + type;13 return String.valueOf(Signature.C_POINTER) + type; 24 14 } 25 15 26 16 protected String G(String type, String dim) { 27 return String.valueOf(S TATIC_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)); 28 18 } 29 19 30 20 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); 32 22 } 33 23 34 24 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)); 36 26 } 37 27 38 28 protected String slice(String type, String lwr, String upr) { 39 return String.valueOf(String.valueOf(S LICE) + 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)); 40 30 } 41 31 trunk/descent.tests/descent/tests/mangling/CustomSignature_Test.java
r1140 r1194 11 11 import descent.internal.compiler.parser.ExpStatement; 12 12 import descent.internal.compiler.parser.FuncDeclaration; 13 import descent.internal.compiler.parser.ISignatureConstants;14 13 import descent.internal.compiler.parser.Module; 15 14 import descent.internal.compiler.parser.StructDeclaration; … … 25 24 import descent.tests.lookup.AbstractLookupTest; 26 25 27 public class CustomSignature_Test extends AbstractLookupTest implements ISignature Constants{26 public class CustomSignature_Test extends AbstractLookupTest implements ISignatureTest { 28 27 29 28 public void testClass() throws Exception { trunk/descent.tests/descent/tests/mangling/SignatureProcessor_Test.java
r1099 r1194 6 6 import org.jmock.integration.junit3.MockObjectTestCase; 7 7 8 import descent.internal.compiler.parser.ISignatureConstants;9 8 import descent.internal.compiler.parser.LINK; 10 9 import descent.internal.compiler.parser.STC; … … 14 13 import descent.internal.core.SignatureProcessor; 15 14 16 public class SignatureProcessor_Test extends MockObjectTestCase implements ISignature Constants{15 public class SignatureProcessor_Test extends MockObjectTestCase implements ISignatureTest { 17 16 18 17 protected Mockery mockery = new Mockery(); … … 126 125 one(requestor).acceptArgumentModifier(STC.STCin); inSequence(s); 127 126 one(requestor).acceptModule(expectedModule, "@6object"); 128 one(requestor).acceptSymbol(CLASS , className, -1, "@6objectC6Object");127 one(requestor).acceptSymbol(CLASS.charAt(0), className, -1, "@6objectC6Object"); 129 128 one(requestor).acceptArgumentModifier(STC.STCin); inSequence(s); 130 129 one(requestor).acceptModule(expectedModule, "@6object"); 131 one(requestor).acceptSymbol(CLASS , className, -1, "@6objectC6Object");130 one(requestor).acceptSymbol(CLASS.charAt(0), className, -1, "@6objectC6Object"); 132 131 one(requestor).acceptArgumentBreak('Z'); inSequence(s); 133 132 one(requestor).acceptModule(expectedModule, "@6object"); 134 one(requestor).acceptSymbol(CLASS , className, -1, "@6objectC6Object");133 one(requestor).acceptSymbol(CLASS.charAt(0), className, -1, "@6objectC6Object"); 135 134 one(requestor).exitFunctionType(LINK.LINKd, 'Z', "F@6objectC6Object@6objectC6ObjectZ@6objectC6Object"); inSequence(s); 136 135 }}); … … 155 154 156 155 public void testSymbol() { 157 for(final char type : new char[] {156 for(final String type : new String[] { 158 157 CLASS, STRUCT, UNION, INTERFACE, ENUM, ENUM_MEMBER, VARIABLE, ALIAS, TYPEDEF 159 158 }) { … … 163 162 checking(new Expectations() {{ 164 163 char[] expected = "test".toCharArray(); 165 one(requestor).acceptSymbol(type , expected, -1, sig);164 one(requestor).acceptSymbol(type.charAt(0), expected, -1, sig); 166 165 }}); 167 166 … … 175 174 final Sequence s = mockery.sequence("seq"); 176 175 177 final char type = FUNCTION ;176 final char type = FUNCTION.charAt(0); 178 177 final String sig = type + "4testFZv"; 179 178 … … 196 195 197 196 final String sigModule = MODULE + "4test3foo"; 198 final String sigClass = sigModule + CLASS + "3Bar";197 final String sigClass = sigModule + CLASS.charAt(0) + "3Bar"; 199 198 200 199 checking(new Expectations() {{ … … 202 201 char[] expectedClass = "Bar".toCharArray(); 203 202 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); 205 204 }}); 206 205 … … 214 213 215 214 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"; 218 217 219 218 checking(new Expectations() {{ … … 222 221 char[] expectedClass2 = "Bazz".toCharArray(); 223 222 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); 226 225 }}); 227 226 … … 245 244 one(requestor).acceptPrimitive(TypeBasic.tvoid); inSequence(s); 246 245 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); 248 247 }}); 249 248 … … 257 256 258 257 final String sigModule = MODULE + "4test3foo"; 259 final String sigClass = sigModule + CLASS + "3Bar";258 final String sigClass = sigModule + CLASS.charAt(0) + "3Bar"; 260 259 final String sigFunctionType = "F" + sigClass + "Z" + sigClass; 261 260 final String sigFunction = sigModule + FUNCTION + "8someFunc" + sigFunctionType; … … 269 268 one(requestor).acceptArgumentModifier(STC.STCin); inSequence(s); 270 269 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); 272 271 one(requestor).acceptArgumentBreak('Z'); inSequence(s); 273 272 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); 275 274 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); 277 276 }}); 278 277 … … 286 285 287 286 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); 297 296 }}); 298 297 … … 306 305 307 306 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 +"'"; 309 308 310 309 checking(new Expectations() {{ … … 315 314 one(requestor).acceptTemplateTupleParameter(); inSequence(s); 316 315 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); 318 317 }}); 319 318 … … 327 326 328 327 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 + "'"; 330 329 331 330 checking(new Expectations() {{ … … 337 336 one(requestor).exitTemplateAliasParameter(String.valueOf(TEMPLATE_ALIAS_PARAMETER)); inSequence(s); 338 337 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); 340 339 }}); 341 340 … … 349 348 350 349 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'"; 352 351 353 352 checking(new Expectations() {{ … … 360 359 one(requestor).exitTemplateAliasParameter(String.valueOf(TEMPLATE_ALIAS_PARAMETER) + TEMPLATE_ALIAS_PARAMETER2 + "i"); inSequence(s); 361 360 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); 363 362 }}); 364 363 … … 372 371 373 372 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 + "'"; 375 374 376 375 checking(new Expectations() {{ … … 382 381 one(requestor).exitTemplateTypeParameter(String.valueOf(TEMPLATE_TYPE_PARAMETER)); inSequence(s); 383 382 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); 385 384 }}); 386 385 … … 394 393 395 394 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'"; 397 396 398 397 checking(new Expectations() {{ … … 405 404 one(requestor).exitTemplateTypeParameter(String.valueOf(TEMPLATE_TYPE_PARAMETER) + TEMPLATE_TYPE_PARAMETER2 + "i"); inSequence(s); 406 405 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); 408 407 }}); 409 408 … … 417 416 418 417 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'"; 420 419 421 420 checking(new Expectations() {{ … … 428 427 one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i"); inSequence(s); 429 428 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); 431 430 }}); 432 431 … … 440 439 441 440 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'"; 443 442 444 443 checking(new Expectations() {{ … … 451 450 one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i"); inSequence(s); 452 451 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); 454 453 }}); 455 454 … … 478 477 one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i"); inSequence(s); 479 478 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); 481 480 }}); 482 481 … … 490 489 491 490 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'"; 493 492 494 493 checking(new Expectations() {{ … … 502 501 one(requestor).exitTemplateValueParameter(TEMPLATE_VALUE_PARAMETER + "i" + TEMPLATE_VALUE_PARAMETER2 + "3" + TEMPLATE_VALUE_PARAMETER + "123"); inSequence(s); 503 502 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); 505 504 }}); 506 505 … … 570 569 one(requestor).enterTemplateInstanceSymbol(); inSequence(s); 571 570 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); 573 572 one(requestor).exitTemplateInstanceSymbol(TEMPLATE_INSTANCE_SYMBOL + "@4testC3Bar"); inSequence(s); 574 573 one(requestor).exitTemplateInstance(sigInstance); inSequence(s); trunk/descent.tests/descent/tests/mangling/SignatureToTemplateParameter_Test.java
r1141 r1194 2 2 3 3 import descent.internal.compiler.parser.ASTNodeEncoder; 4 import descent.internal.compiler.parser.ISignatureConstants;5 4 import descent.internal.compiler.parser.IntegerExp; 6 5 import descent.internal.compiler.parser.TemplateAliasParameter; … … 11 10 import descent.internal.core.InternalSignature; 12 11 13 public class SignatureToTemplateParameter_Test extends AbstractSignatureTest implements ISignature Constants{12 public class SignatureToTemplateParameter_Test extends AbstractSignatureTest implements ISignatureTest { 14 13 15 14 public void testTuple() { trunk/descent.tests/descent/tests/mangling/SignatureToType_Test.java
r1141 r1194 5 5 import descent.internal.compiler.parser.ASTNodeEncoder; 6 6 import descent.internal.compiler.parser.Argument; 7 import descent.internal.compiler.parser.ISignatureConstants;8 import descent.internal.compiler.parser.IdentifierExp;9 7 import descent.internal.compiler.parser.IntegerExp; 10 8 import descent.internal.compiler.parser.LINK; … … 28 26 import descent.internal.core.InternalSignature; 29 27 30 public class SignatureToType_Test extends AbstractSignatureTest implements ISignature Constants{28 public class SignatureToType_Test extends AbstractSignatureTest implements ISignatureTest { 31 29 32 30 public void testPrimitive() { trunk/descent.tests/descent/tests/mangling/Signature_Test.java
r1141 r1194 3 3 import descent.core.Signature; 4 4 import descent.internal.compiler.parser.ASTNodeEncoder; 5 import descent.internal.compiler.parser.ISignatureConstants;6 5 import descent.internal.compiler.parser.IntegerExp; 7 6 import descent.internal.compiler.parser.Loc; … … 14 13 import descent.internal.compiler.parser.TypeTypeof; 15 14 16 public class Signature_Test extends AbstractSignatureTest implements ISignature Constants{15 public class Signature_Test extends AbstractSignatureTest implements ISignatureTest { 17 16 18 17 public void testPointer() { trunk/descent.tests/descent/tests/model/AbstractModelTest.java
r1105 r1194 50 50 51 51 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"; 53 54 } 54 55
