blob: 43074084a7bbd6a55a7b1b6c8790aac7a1e9c098 [file] [log] [blame]
/*
* Copyright (c) 2013, the Dart project authors.
*
* Licensed under the Eclipse Public License v1.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.eclipse.org/legal/epl-v10.html
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.dart.engine.services.internal.completion;
/**
* Completion proposal data.
*
* @coverage com.google.dart.engine.services.completion
*/
import com.google.dart.engine.element.Element;
import com.google.dart.engine.services.completion.CompletionProposal;
import com.google.dart.engine.services.completion.ProposalKind;
import com.google.dart.engine.utilities.general.StringUtilities;
public class CompletionProposalImpl implements CompletionProposal {
// All fields must be initialized to ensure getters never return null.
private Element element;
private String completion = "";
private String returnType = "";
private String declaringType = "";
private String[] parameterNames = StringUtilities.EMPTY_ARRAY;
private String[] parameterTypes = StringUtilities.EMPTY_ARRAY;
private String parameterName;
private String parameterType;
private ProposalKind kind = ProposalKind.NONE;
private int location = 0;
private int replacementLength = 0;
private int replacementLength2 = 0;
private int positionalParameterCount = 0;
private boolean named = false;
private boolean positional = false;
private boolean deprecated = false;
private boolean potential = false;
private int relevance = CompletionProposal.RELEVANCE_DEFAULT;
@Override
public void applyPartitionOffset(int partitionOffset) {
location += partitionOffset;
}
@Override
public String getCompletion() {
return completion;
}
@Override
public String getDeclaringType() {
return declaringType;
}
@Override
public Element getElement() {
return element;
}
@Override
public ProposalKind getKind() {
return kind;
}
@Override
public int getLocation() {
return location;
}
@Override
public String getParameterName() {
return parameterName;
}
@Override
public String[] getParameterNames() {
return parameterNames;
}
@Override
public String getParameterType() {
return parameterType;
}
@Override
public String[] getParameterTypes() {
return parameterTypes;
}
@Override
public int getPositionalParameterCount() {
return positionalParameterCount;
}
@Override
public int getRelevance() {
return relevance;
}
@Override
public int getReplacementLength() {
return replacementLength;
}
@Override
public int getReplacementLengthIdentifier() {
return replacementLength2;
}
@Override
public String getReturnType() {
return returnType;
}
@Override
public boolean hasNamed() {
return named;
}
@Override
public boolean hasPositional() {
return positional;
}
@Override
public CompletionProposal incRelevance() {
relevance++;
return this;
}
@Override
public boolean isDeprecated() {
return deprecated;
}
@Override
public boolean isPotentialMatch() {
return potential;
}
@Override
public CompletionProposal setCompletion(String x) {
completion = x;
if (replacementLength == 0) {
setReplacementLength(x.length());
}
return this;
}
@Override
public CompletionProposal setDeclaringType(String name) {
declaringType = name;
return this;
}
@Override
public CompletionProposal setDeprecated(boolean deprecated) {
this.deprecated = deprecated;
return this;
}
@Override
public CompletionProposal setElement(Element element) {
this.element = element;
return this;
}
@Override
public CompletionProposal setKind(ProposalKind x) {
kind = x;
return this;
}
@Override
public CompletionProposal setLocation(int x) {
location = x;
return this;
}
@Override
public CompletionProposal setParameterName(String parameterName) {
this.parameterName = parameterName;
return this;
}
@Override
public CompletionProposal setParameterNames(String[] paramNames) {
parameterNames = paramNames;
return this;
}
@Override
public CompletionProposal setParameterStyle(int count, boolean named, boolean positional) {
this.named = named;
this.positional = positional;
this.positionalParameterCount = count;
return this;
}
@Override
public CompletionProposal setParameterType(String parameterType) {
this.parameterType = parameterType;
return this;
}
@Override
public CompletionProposal setParameterTypes(String[] paramTypes) {
parameterTypes = paramTypes;
return this;
}
@Override
public CompletionProposal setPotentialMatch(boolean isPotentialMatch) {
potential = isPotentialMatch;
return this;
}
@Override
public CompletionProposal setRelevance(int n) {
relevance = n;
return this;
}
@Override
public CompletionProposal setReplacementLength(int x) {
replacementLength = x;
return this;
}
@Override
public CompletionProposal setReplacementLengthIdentifier(int x) {
replacementLength2 = x;
return this;
}
@Override
public CompletionProposal setReturnType(String name) {
returnType = name;
return this;
}
}