### Eclipse Workspace Patch 1.0 #P org.eclipse.wst.jsdt.core Index: src/org/eclipse/wst/jsdt/core/infer/InferredType.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/infer/InferredType.java,v retrieving revision 1.23 diff -u -r1.23 InferredType.java --- src/org/eclipse/wst/jsdt/core/infer/InferredType.java 16 Nov 2009 22:46:11 -0000 1.23 +++ src/org/eclipse/wst/jsdt/core/infer/InferredType.java 16 Dec 2009 08:48:20 -0000 @@ -395,7 +395,7 @@ public boolean isNamed() { - return !isAnonymous || !CharOperation.prefixEquals(InferEngine.ANONYMOUS_PREFIX, this.name); + return !isAnonymous || !CharOperation.prefixEquals(IInferEngine.ANONYMOUS_PREFIX, this.name); } /** Index: src/org/eclipse/wst/jsdt/core/infer/InferrenceProvider.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/infer/InferrenceProvider.java,v retrieving revision 1.7 diff -u -r1.7 InferrenceProvider.java --- src/org/eclipse/wst/jsdt/core/infer/InferrenceProvider.java 26 Aug 2009 00:20:36 -0000 1.7 +++ src/org/eclipse/wst/jsdt/core/infer/InferrenceProvider.java 16 Dec 2009 08:48:21 -0000 @@ -41,7 +41,7 @@ * Get the inference engine for this inference provider, or null if one will not be provided. Implementors returning null are expected to return {@link #NOT_THIS} for all calls to {@link #getInferEngine()} * @return an inference engine */ - public InferEngine getInferEngine(); + public IInferEngine getInferEngine(); /** Index: src/org/eclipse/wst/jsdt/core/infer/DefaultInferrenceProvider.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/infer/DefaultInferrenceProvider.java,v retrieving revision 1.8 diff -u -r1.8 DefaultInferrenceProvider.java --- src/org/eclipse/wst/jsdt/core/infer/DefaultInferrenceProvider.java 14 May 2008 22:52:22 -0000 1.8 +++ src/org/eclipse/wst/jsdt/core/infer/DefaultInferrenceProvider.java 16 Dec 2009 08:48:13 -0000 @@ -41,7 +41,7 @@ return InferrenceProvider.MAYBE_THIS; } - public InferEngine getInferEngine() { + public IInferEngine getInferEngine() { InferEngine engine = new InferEngine(); engine.inferenceProvider=this; return engine; Index: src/org/eclipse/wst/jsdt/core/infer/InferEngine.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/infer/InferEngine.java,v retrieving revision 1.52 diff -u -r1.52 InferEngine.java --- src/org/eclipse/wst/jsdt/core/infer/InferEngine.java 2 Dec 2009 18:42:57 -0000 1.52 +++ src/org/eclipse/wst/jsdt/core/infer/InferEngine.java 16 Dec 2009 08:48:16 -0000 @@ -69,7 +69,7 @@ * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken * (repeatedly) as the API evolves. */ -public class InferEngine extends ASTVisitor { +public class InferEngine extends ASTVisitor implements IInferEngine { InferOptions inferOptions; CompilationUnitDeclaration compUnit; @@ -81,8 +81,6 @@ boolean isTopLevelAnonymousFunction; int anonymousCount=0; - public int appliesTo; - public InferrenceProvider inferenceProvider; public InferredType StringType=new InferredType(new char[]{'S','t','r','i','n','g'}); @@ -115,9 +113,6 @@ static final char[] CONSTRUCTOR_ID={'c','o','n','s','t','r','u','c','t','o','r'}; - public final static char[] ANONYMOUS_PREFIX = {'_','_','_'}; - public static final char[] ANONYMOUS_CLASS_ID= {'a','n','o','n','y','m','o','u','s'}; - static class Context { InferredType currentType; @@ -1869,4 +1864,8 @@ return compUnit.findInferredType(className); } + public void setInferenceProvider(InferrenceProvider inferrenceProvider) { + this.inferenceProvider = inferrenceProvider; + } + } Index: src/org/eclipse/wst/jsdt/core/infer/InferrenceManager.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/infer/InferrenceManager.java,v retrieving revision 1.12 diff -u -r1.12 InferrenceManager.java --- src/org/eclipse/wst/jsdt/core/infer/InferrenceManager.java 20 Nov 2009 15:26:13 -0000 1.12 +++ src/org/eclipse/wst/jsdt/core/infer/InferrenceManager.java 16 Dec 2009 08:48:20 -0000 @@ -98,7 +98,7 @@ - public InferEngine [] getInferenceEngines(CompilationUnitDeclaration script) + public IInferEngine [] getInferenceEngines(CompilationUnitDeclaration script) { InferrenceProvider[] inferenceProviders = getInferenceProviders(); if (inferenceProviders.length==1) @@ -127,9 +127,8 @@ } switch (applies) { case InferrenceProvider.MAYBE_THIS: - InferEngine eng=inferenceProviders[i].getInferEngine(); - eng.appliesTo=InferrenceProvider.MAYBE_THIS; - eng.inferenceProvider=inferenceProviders[i]; + IInferEngine eng=inferenceProviders[i].getInferEngine(); + eng.setInferenceProvider(inferenceProviders[i]); extEngines.add(eng); break; @@ -141,16 +140,15 @@ break; } } - return (InferEngine [] )extEngines.toArray(new InferEngine[extEngines.size()]); + return (IInferEngine [] )extEngines.toArray(new IInferEngine[extEngines.size()]); } - private InferEngine [] getSingleEngine(InferrenceProvider provider) + private IInferEngine [] getSingleEngine(InferrenceProvider provider) { - InferEngine engine=provider.getInferEngine(); - engine.appliesTo=InferrenceProvider.ONLY_THIS; - engine.inferenceProvider=provider; - InferEngine [] thisEngine = {engine}; + IInferEngine engine=provider.getInferEngine(); + engine.setInferenceProvider(provider); + IInferEngine [] thisEngine = {engine}; return thisEngine; } Index: src/org/eclipse/wst/jsdt/internal/core/util/Util.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/Util.java,v retrieving revision 1.23 diff -u -r1.23 Util.java --- src/org/eclipse/wst/jsdt/internal/core/util/Util.java 9 Nov 2009 15:28:05 -0000 1.23 +++ src/org/eclipse/wst/jsdt/internal/core/util/Util.java 16 Dec 2009 08:48:34 -0000 @@ -57,7 +57,7 @@ import org.eclipse.wst.jsdt.core.dom.QualifiedType; import org.eclipse.wst.jsdt.core.dom.SimpleType; import org.eclipse.wst.jsdt.core.dom.Type; -import org.eclipse.wst.jsdt.core.infer.InferEngine; +import org.eclipse.wst.jsdt.core.infer.IInferEngine; import org.eclipse.wst.jsdt.internal.compiler.ast.AbstractMethodDeclaration; import org.eclipse.wst.jsdt.internal.compiler.ast.Argument; import org.eclipse.wst.jsdt.internal.compiler.ast.TypeReference; @@ -2669,7 +2669,7 @@ * * marker and label */ - public static final String ANONYMOUS_MARKER = new String( CharOperation.concat(InferEngine.ANONYMOUS_PREFIX, InferEngine.ANONYMOUS_CLASS_ID) ); + public static final String ANONYMOUS_MARKER = new String( CharOperation.concat(IInferEngine.ANONYMOUS_PREFIX, IInferEngine.ANONYMOUS_CLASS_ID) ); public static final String ANONYMOUS_LABEL = "{}"; //$NON-NLS-1$ /* Index: src/org/eclipse/wst/jsdt/internal/compiler/parser/Parser.java =================================================================== RCS file: /cvsroot/webtools/sourceediting/plugins/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/Parser.java,v retrieving revision 1.73 diff -u -r1.73 Parser.java --- src/org/eclipse/wst/jsdt/internal/compiler/parser/Parser.java 1 Dec 2009 16:00:07 -0000 1.73 +++ src/org/eclipse/wst/jsdt/internal/compiler/parser/Parser.java 16 Dec 2009 08:48:30 -0000 @@ -27,7 +27,7 @@ import org.eclipse.wst.jsdt.core.compiler.CharOperation; import org.eclipse.wst.jsdt.core.compiler.InvalidInputException; -import org.eclipse.wst.jsdt.core.infer.InferEngine; +import org.eclipse.wst.jsdt.core.infer.IInferEngine; import org.eclipse.wst.jsdt.core.infer.InferOptions; import org.eclipse.wst.jsdt.core.infer.InferrenceManager; import org.eclipse.wst.jsdt.internal.compiler.ASTVisitor; @@ -309,7 +309,7 @@ public static final byte FLAG_EMPTY_STATEMENT = 1; - public InferEngine[] inferenceEngines; + public IInferEngine[] inferenceEngines; static { try{ @@ -7041,7 +7041,7 @@ for (int i=0;i