blob: 03af703a97c572784944ca4d1cc5da7da8a0b603 [file] [log] [blame]
/**
*
*/
package org.eclipse.dltk.internal.javascript.typeinference;
/**
* @author jcompagner
*
*/
public class NativeStringReference extends UnknownReference {
private static UnknownReference toString = new NativeStringReference(
"toString").setFunctionRef();
private static UnknownReference toSource = new NativeStringReference(
"toSource").setFunctionRef();
private static UnknownReference valueOf = new NativeStringReference(
"valueOf").setFunctionRef();
private static UnknownReference charAt = new NativeStringReference("charAt")
.setFunctionRef();
private static UnknownReference charCodeAt = new NativeNumberReference(
"charCodeAt").setFunctionRef();
private static UnknownReference indexOf = new NativeNumberReference(
"indexOf").setFunctionRef();
private static UnknownReference lastIndexOf = new NativeNumberReference(
"lastIndexOf").setFunctionRef();
private static UnknownReference split = new NativeArrayReference("split")
.setFunctionRef();
private static UnknownReference substring = new NativeStringReference(
"substring").setFunctionRef();
private static UnknownReference toLowerCase = new NativeStringReference(
"toLowerCase").setFunctionRef();
private static UnknownReference toUpperCase = new NativeStringReference(
"toUpperCase").setFunctionRef();
private static UnknownReference substr = new NativeStringReference("substr")
.setFunctionRef();
private static UnknownReference concat = new NativeStringReference("concat")
.setFunctionRef();
private static UnknownReference slice = new NativeStringReference("slice")
.setFunctionRef();
private static UnknownReference bold = new NativeStringReference("bold")
.setFunctionRef();
private static UnknownReference italics = new NativeStringReference(
"italics").setFunctionRef();
private static UnknownReference fixed = new NativeStringReference("fixed")
.setFunctionRef();
private static UnknownReference strike = new NativeStringReference("strike")
.setFunctionRef();
private static UnknownReference small = new NativeStringReference("small")
.setFunctionRef();
private static UnknownReference big = new NativeStringReference("big")
.setFunctionRef();
private static UnknownReference blink = new NativeStringReference("blink")
.setFunctionRef();
private static UnknownReference sup = new NativeStringReference("sup")
.setFunctionRef();
private static UnknownReference sub = new NativeStringReference("sub")
.setFunctionRef();
private static UnknownReference fontsize = new NativeStringReference(
"fontsize").setFunctionRef();
private static UnknownReference fontcolor = new NativeStringReference(
"fontcolor").setFunctionRef();
private static UnknownReference link = new NativeStringReference("link")
.setFunctionRef();
private static UnknownReference anchor = new NativeStringReference("anchor")
.setFunctionRef();
private static UnknownReference equals = new NativeBooleanReference(
"equals").setFunctionRef();
private static UnknownReference equalsIgnoreCase = new NativeBooleanReference(
"equalsIgnoreCase").setFunctionRef();
private static UnknownReference match = new NativeStringReference("match")
.setFunctionRef();
private static UnknownReference search = new NativeNumberReference("search")
.setFunctionRef();
private static UnknownReference replace = new NativeStringReference(
"replace").setFunctionRef();
private static UnknownReference localeCompare = new NativeNumberReference(
"localeCompare").setFunctionRef();
private static UnknownReference toLocaleLowerCase = new NativeStringReference(
"toLocaleLowerCase").setFunctionRef();
private static UnknownReference toLocaleUpperCase = new NativeStringReference(
"toLocaleUpperCase").setFunctionRef();
/**
* @param paramOrVarName
* @param childIsh
*/
public NativeStringReference(String paramOrVarName) {
super(paramOrVarName, false);
}
/**
* @see org.eclipse.dltk.internal.javascript.typeinference.UnknownReference#createChilds()
*/
protected void createChilds() {
setChild("toString", toString);
setChild("toSource", toSource);
setChild("valueOf", valueOf);
setChild("charAt", charAt);
setChild("charCodeAt", charCodeAt);
setChild("indexOf", indexOf);
setChild("lastIndexOf", lastIndexOf);
setChild("split", split);
setChild("substring", substring);
setChild("toLowerCase", toLowerCase);
setChild("toUpperCase", toUpperCase);
setChild("substr", substr);
setChild("concat", concat);
setChild("slice", slice);
setChild("bold", bold);
setChild("italics", italics);
setChild("fixed", fixed);
setChild("strike", strike);
setChild("small", small);
setChild("big", big);
setChild("blink", blink);
setChild("sup", sup);
setChild("sub", sub);
setChild("fontsize", fontsize);
setChild("fontcolor", fontcolor);
setChild("link", link);
setChild("anchor", anchor);
setChild("equals", equals);
setChild("equalsIgnoreCase", equalsIgnoreCase);
setChild("match", match);
setChild("search", search);
setChild("replace", replace);
setChild("localeCompare", localeCompare);
setChild("toLocaleLowerCase", toLocaleLowerCase);
setChild("toLocaleUpperCase", toLocaleUpperCase);
}
public void setChild(String key, IReference ref) {
if (ref instanceof UnknownReference) {
UnknownReference ur = (UnknownReference) ref;
String name = ref.getName();
if (name.equals("toString")) {
ur.setProposalInfo("Returns a String value for this object.");
} else if (name.equals("toSource")) {
ur
.setProposalInfo("The toSource() method represents the source code of an object.");
} else if (name.equals("valueOf")) {
ur
.setProposalInfo("Returns the primitive value of a String object.");
} else if (name.equals("anchor")) {
ur.setProposalInfo("Creates an HTML anchor.");
ur
.setParameterNames(new char[][] { "anchorname"
.toCharArray() });
} else if (name.equals("big")) {
ur.setProposalInfo("Returns a string in a big font.");
} else if (name.equals("blink")) {
ur.setProposalInfo("Returns a blinking string.");
} else if (name.equals("bold")) {
ur.setProposalInfo("Returns a string in bold.");
} else if (name.equals("charAt")) {
ur
.setProposalInfo("Returns the character at a specified position.");
} else if (name.equals("charCodeAt")) {
ur
.setProposalInfo("Returns the Unicode of the character at a specified position.");
ur.setParameterNames(new char[][] { "index".toCharArray() });
} else if (name.equals("concat")) {
ur.setProposalInfo("Joins two or more strings.");
ur.setParameterNames(new char[][] { "stringN".toCharArray(),
"[StringX]".toCharArray() });
} else if (name.equals("fixed")) {
ur.setProposalInfo("Returns a string as teletype text.");
} else if (name.equals("fontcolor")) {
ur.setProposalInfo("Returns a string in a specified color.");
ur.setParameterNames(new char[][] { "color".toCharArray() });
} else if (name.equals("fontsize")) {
ur.setProposalInfo("Returns a string in a specified size.");
ur.setParameterNames(new char[][] { "size".toCharArray() });
} else if (name.equals("fromCharCode")) {
ur
.setProposalInfo("Takes the specified Unicode values and returns a string.");
ur.setParameterNames(new char[][] { "numN".toCharArray(),
"[numX]".toCharArray() });
} else if (name.equals("indexOf")) {
ur
.setProposalInfo("Returns the position of the first occurrence of a specified string value in a string.");
ur.setParameterNames(new char[][] {
"searchValue".toCharArray(),
"[fromIndex]".toCharArray() });
} else if (name.equals("italics")) {
ur.setProposalInfo("Returns a string in italic.");
} else if (name.equals("lastIndexOf")) {
ur
.setProposalInfo("Returns the position of the last occurrence of a specified string value, searching backwards from the specified position in a string.");
ur.setParameterNames(new char[][] {
"searchValue".toCharArray(),
"[fromIndex]".toCharArray() });
} else if (name.equals("link")) {
ur.setProposalInfo("Returns a string as a hyperlink.");
ur.setParameterNames(new char[][] { "url".toCharArray() });
} else if (name.equals("match")) {
ur
.setProposalInfo("Searches for a specified value in a string.");
ur
.setParameterNames(new char[][] { "searchvalue"
.toCharArray() });
} else if (name.equals("replace")) {
ur
.setProposalInfo("Replaces some characters with some other characters in a string.");
ur.setParameterNames(new char[][] { "findString".toCharArray(),
"newString".toCharArray() });
} else if (name.equals("search")) {
ur.setProposalInfo("Searches a string for a specified value.");
ur.setParameterNames(new char[][] { "searchstring"
.toCharArray() });
} else if (name.equals("slice")) {
ur
.setProposalInfo("Extracts a part of a string and returns the extracted part in a new string.");
ur.setParameterNames(new char[][] { "start".toCharArray(),
"[end]".toCharArray() });
} else if (name.equals("small")) {
ur.setProposalInfo("Returns a string in a small font.");
} else if (name.equals("split")) {
ur.setProposalInfo("Splits a string into an array of strings.");
ur.setParameterNames(new char[][] { "separator".toCharArray(),
"[howmany]".toCharArray() });
} else if (name.equals("strike")) {
ur.setProposalInfo("Returns a string with a strikethrough.");
} else if (name.equals("sub")) {
ur.setProposalInfo("Returns a string as subscript.");
} else if (name.equals("substr")) {
ur
.setProposalInfo("Extracts a specified number of characters in a string, from a start index");
ur.setParameterNames(new char[][] { "start".toCharArray(),
"[length]".toCharArray() });
} else if (name.equals("substring")) {
ur
.setProposalInfo("Extracts the characters in a string between two specified indices");
ur.setParameterNames(new char[][] { "start".toCharArray(),
"[stop]".toCharArray() });
} else if (name.equals("sup")) {
ur.setProposalInfo("Returns a string as superscript.");
} else if (name.equals("toLowerCase")) {
ur.setProposalInfo("Returns a string in lowercase letters.");
} else if (name.equals("toUpperCase")) {
ur.setProposalInfo("Returns a string in uppercase letters.");
}
}
super.setChild(key, ref);
}
}