Changeset 1248
- Timestamp:
- 09/02/08 11:29:09 (4 months ago)
- Files:
-
- trunk/descent.core/src/descent/core/Flags.java (modified) (2 diffs)
- trunk/descent.core/src/descent/core/dom/ASTConverter.java (modified) (1 diff)
- trunk/descent.core/src/descent/core/dom/Modifier.java (modified) (2 diffs)
- trunk/descent.core/src/descent/internal/compiler/lookup/ModuleBuilder.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/compiler/parser/TypeEnum.java (modified) (1 diff)
- trunk/descent.core/src/descent/internal/core/SourceField.java (modified) (1 diff)
- trunk/descent.ui/src/descent/internal/ui/javaeditor/EditorUtility.java (modified) (1 diff)
- trunk/descent.ui/src/descent/internal/ui/text/java/JavaCodeScanner.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/descent.core/src/descent/core/Flags.java
r1235 r1248 249 249 250 250 /** 251 * Thread property flag. 252 * @since 2.0 253 */ 254 public static final int AccThread = 0x8000000; 255 256 /** 251 257 * Nothrow property flag. 252 258 * @since 2.0 … … 490 496 public static boolean isConst(long flags) { 491 497 return (flags & AccConst) != 0; 498 } 499 500 /** 501 * Returns whether the given integer includes the <code>__thread</code> modifier. 502 * 503 * @param flags the flags 504 * @return <code>true</code> if the <code>__thread</code> modifier is included 505 */ 506 public static boolean isThread(long flags) { 507 return (flags & AccThread) != 0; 492 508 } 493 509 trunk/descent.core/src/descent/core/dom/ASTConverter.java
r1237 r1248 3357 3357 case TOKpure: b.setModifierKeyword(descent.core.dom.Modifier.ModifierKeyword.PURE_KEYWORD); break; 3358 3358 case TOKnothrow: b.setModifierKeyword(descent.core.dom.Modifier.ModifierKeyword.NOTHROW_KEYWORD); break; 3359 case TOKtls: b.setModifierKeyword(descent.core.dom.Modifier.ModifierKeyword.THREAD_KEYWORD); break; 3359 3360 default: 3360 3361 throw new IllegalStateException("Invalid modifier: " + a.tok); trunk/descent.core/src/descent/core/dom/Modifier.java
r1227 r1248 68 68 PURE_KEYWORD("pure", PURE), 69 69 NOTHROW_KEYWORD("nothrow", NOTHROW), 70 THREAD_KEYWORD("__thread", THREAD), 70 71 ; 71 72 … … 271 272 272 273 /** 274 * "__thread" modifier constant (bit mask). 275 */ 276 public static final int THREAD = Flags.AccThread; 277 278 /** 273 279 * The "modifierKeyword" structural property of this node type. 274 280 */ trunk/descent.core/src/descent/internal/compiler/lookup/ModuleBuilder.java
r1246 r1248 518 518 519 519 public void fillField(Module module, Dsymbols members, final IField field) throws JavaModelException { 520 if (field.isVariable() ) {520 if (field.isVariable() || field.isEnumConstant()) { // enum constant for D2, like "enum int foo = 2;" 521 521 VarDeclaration member = new VarDeclaration(getLoc(module, field), getType(field.getTypeSignature()), getIdent(field), getInitializer(field)); 522 522 member.setJavaElement(field); trunk/descent.core/src/descent/internal/compiler/parser/TypeEnum.java
r1236 r1248 58 58 // Initialize to first member of enum 59 59 Expression e; 60 e = new IntegerExp(loc, (integer_t) sym.defaultval, this); 60 if (context.isD2()) { 61 e = (Expression) sym.defaultval; 62 } else { 63 e = new IntegerExp(loc, (integer_t) sym.defaultval, this); 64 } 61 65 return e; 62 66 } trunk/descent.core/src/descent/internal/core/SourceField.java
r1194 r1248 156 156 */ 157 157 public String getTypeSignature() throws JavaModelException { 158 // Descent: if I'm an enum constant, my type is my parent's type159 if (this.isEnumConstant()) {160 return getParent().getElementSignature();161 }162 163 158 // Else, return my signature 164 159 SourceFieldElementInfo info = (SourceFieldElementInfo) getElementInfo(); 165 return info.getTypeSignature(); 160 String signature = info.getTypeSignature(); 161 162 // If I'm an enum constant, my type is my parent's type 163 if (signature == null && this.isEnumConstant()) { 164 signature = getParent().getElementSignature(); 165 } 166 167 return signature; 166 168 } 167 169 /** trunk/descent.ui/src/descent/internal/ui/javaeditor/EditorUtility.java
r559 r1248 483 483 } 484 484 } 485 /* TODO JDT UI binary486 485 else if (input instanceof IClassFileEditorInput) { 487 486 jProject= ((IClassFileEditorInput)input).getClassFile().getJavaProject(); 488 487 } 489 */490 488 return jProject; 491 489 } trunk/descent.ui/src/descent/internal/ui/text/java/JavaCodeScanner.java
r1116 r1248 156 156 "__traits", //$NON-NLS-1$, 157 157 "__overloadset", //$NON-NLS-1$ 158 "__thread", //$NON-NLS-1$ 158 159 "nothrow", //$NON-NLS-1$ 159 160 "pure", //$NON-NLS-1$
