Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipe Mulet2001-07-30 13:07:35 +0000
committerPhilipe Mulet2001-07-30 13:07:35 +0000
commitdcdb11f13a905cc2d9eed5c3bf38034e243f753b (patch)
treef32244e2b0d647196742e4cf7b1832ddd612a620
parent75b36a9ed5cd2da7220cbd26b35e54ceed421c30 (diff)
downloadeclipse.jdt.core-dcdb11f13a905cc2d9eed5c3bf38034e243f753b.tar.gz
eclipse.jdt.core-dcdb11f13a905cc2d9eed5c3bf38034e243f753b.tar.xz
eclipse.jdt.core-dcdb11f13a905cc2d9eed5c3bf38034e243f753b.zip
*** empty log message ***
-rw-r--r--org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java7
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.java39
-rw-r--r--org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.java2
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaElement.java2
4 files changed, 31 insertions, 19 deletions
diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java
index 808c774ef1..1f09a87d92 100644
--- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java
+++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java
@@ -366,11 +366,12 @@ public void selectType(ISourceType sourceType, char[] typeName) {
// compute parse tree for this most outer type
CompilationResult result = new CompilationResult(outerType.getFileName(), 1, 1);
CompilationUnitDeclaration parsedUnit =
- SourceTypeConverter.buildCompilationUnit(
- outerType,
+ SourceTypeConverter.buildCompilationUnit(
+ outerType,
false, // don't need field and methods
+ true, // by default get member types
this.parser.problemReporter(),
- result);
+ result);
if (parsedUnit != null && parsedUnit.types != null) {
// find the type declaration that corresponds to the original source type
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.java
index 40bdc7b7e1..f8afdc7a06 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter.java
@@ -25,40 +25,48 @@ import org.eclipse.jdt.internal.compiler.problem.*;
import org.eclipse.jdt.internal.compiler.util.*;
public class SourceTypeConverter implements CompilerModifiers {
+
/*
- * Convert a source element type into a parsed type declaration
- *
- * Can optionally ignore fields & methods
- *
- * @deprecated - should use the other API with one extra boolean
+ * Convert a set of source element types into a parsed compilation unit declaration
+ * The argument types are then all grouped in the same unit. The argument types must
+ * at least contain one type.
+ * Can optionally ignore fields & methods or member types
*/
public static CompilationUnitDeclaration buildCompilationUnit(
ISourceType sourceType,
boolean needFieldsAndMethods,
+ boolean needMemberTypes,
ProblemReporter problemReporter,
CompilationResult compilationResult) {
-
- return buildCompilationUnit(sourceType, needFieldsAndMethods, true, problemReporter, compilationResult);
+ return buildCompilationUnit(
+ new ISourceType[]{ sourceType },
+ needFieldsAndMethods,
+ needMemberTypes,
+ problemReporter,
+ compilationResult);
}
+
/*
- * Convert a source element type into a parsed type declaration
- *
+ * Convert a set of source element types into a parsed compilation unit declaration
+ * The argument types are then all grouped in the same unit. The argument types must
+ * at least contain one type.
* Can optionally ignore fields & methods or member types
*/
public static CompilationUnitDeclaration buildCompilationUnit(
- ISourceType sourceType,
+ ISourceType[] sourceTypes,
boolean needFieldsAndMethods,
boolean needMemberTypes,
ProblemReporter problemReporter,
CompilationResult compilationResult) {
+ ISourceType sourceType = sourceTypes[0];
if (sourceType.getName() == null) return null; // do a basic test that the sourceType is valid
CompilationUnitDeclaration compilationUnit =
new CompilationUnitDeclaration(problemReporter, compilationResult, 0); // not filled at this point
/* only positions available */
- int start = sourceType.getNameSourceStart();
+ int start = sourceType.getNameSourceStart();
int end = sourceType.getNameSourceEnd();
/* convert package and imports */
@@ -69,9 +77,12 @@ public static CompilationUnitDeclaration buildCompilationUnit(
compilationUnit.imports = new ImportReference[importCount];
for (int i = 0; i < importCount; i++)
compilationUnit.imports[i] = createImportReference(importNames[i], start, end);
- /* convert type */
- compilationUnit.types = new TypeDeclaration[] {convert(sourceType, needFieldsAndMethods, needMemberTypes)};
-
+ /* convert type(s) */
+ int typeCount = sourceTypes.length;
+ compilationUnit.types = new TypeDeclaration[typeCount];
+ for (int i = 0; i < typeCount; i++){
+ compilationUnit.types[i] = convert(sourceTypes[i], needFieldsAndMethods, needMemberTypes);
+ }
return compilationUnit;
}
/*
diff --git a/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.java b/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.java
index 4221ba4a25..4511cd1515 100644
--- a/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.java
+++ b/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetReturnStatement.java
@@ -28,7 +28,7 @@ public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, Fl
expression.bits &= ~ValueForReturnMASK;
return flowInfo;
}
-/**
+/**
* Dump the suitable return bytecode for a return statement
*
*/
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaElement.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaElement.java
index 286bcd3f32..88b1181f69 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaElement.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaElement.java
@@ -254,7 +254,7 @@ public ICompilationUnit getCompilationUnit() {
*
* @exception JavaModelException if the element is not present or not accessible
*/
-protected JavaElementInfo getElementInfo() throws JavaModelException {
+public JavaElementInfo getElementInfo() throws JavaModelException {
synchronized(fgJavaModelManager){
Object info = fgJavaModelManager.getInfo(this);
if (info == null) {

Back to the top