mirror of
https://github.com/cincheo/jsweet.git
synced 2025-12-15 15:29:22 +00:00
allows java.lang.String.length() + test + doc
This commit is contained in:
parent
4b3fcff2e6
commit
64b024bc0f
@ -126,6 +126,7 @@ Here follows the list of allowed Java classes in JSweet:
|
|||||||
\item \texttt{indexOf(java.lang.String)}
|
\item \texttt{indexOf(java.lang.String)}
|
||||||
\item \texttt{lastIndexOf(java.lang.String)}
|
\item \texttt{lastIndexOf(java.lang.String)}
|
||||||
\item \texttt{lastIndexOf(java.lang.String,int)}
|
\item \texttt{lastIndexOf(java.lang.String,int)}
|
||||||
|
\item \texttt{length()} (transpiles to \texttt{length})
|
||||||
\item \texttt{substring(int)}
|
\item \texttt{substring(int)}
|
||||||
\item \texttt{substring(int,int)} (with the JavaScript behavior)
|
\item \texttt{substring(int,int)} (with the JavaScript behavior)
|
||||||
\item \texttt{replace(java.lang.String,java.lang.String)}
|
\item \texttt{replace(java.lang.String,java.lang.String)}
|
||||||
|
|||||||
@ -109,6 +109,7 @@ public class TypeChecker {
|
|||||||
AUTHORIZED_STRING_METHODS.add("trim()");
|
AUTHORIZED_STRING_METHODS.add("trim()");
|
||||||
AUTHORIZED_STRING_METHODS.add("toLowerCase()");
|
AUTHORIZED_STRING_METHODS.add("toLowerCase()");
|
||||||
AUTHORIZED_STRING_METHODS.add("toUpperCase()");
|
AUTHORIZED_STRING_METHODS.add("toUpperCase()");
|
||||||
|
AUTHORIZED_STRING_METHODS.add("length()");
|
||||||
|
|
||||||
FORBIDDEN_JDK_FUNCTIONAL_METHODS.add("and");
|
FORBIDDEN_JDK_FUNCTIONAL_METHODS.add("and");
|
||||||
FORBIDDEN_JDK_FUNCTIONAL_METHODS.add("negate");
|
FORBIDDEN_JDK_FUNCTIONAL_METHODS.add("negate");
|
||||||
|
|||||||
@ -282,7 +282,12 @@ public class Java2TypeScriptAdapter extends AbstractPrinterAdapter {
|
|||||||
getPrinter().print(")");
|
getPrinter().print(")");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (matchesMethod(targetClassName, targetMethodName, String.class.getName(), "length")) {
|
||||||
|
getPrinter().print(invocation.meth);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (matchesMethod(targetClassName, targetMethodName, null, INDEXED_GET_FUCTION_NAME)) {
|
if (matchesMethod(targetClassName, targetMethodName, null, INDEXED_GET_FUCTION_NAME)) {
|
||||||
if (isWithinGlobals(targetClassName)) {
|
if (isWithinGlobals(targetClassName)) {
|
||||||
report(invocation, JSweetProblem.GLOBAL_INDEXER_GET);
|
report(invocation, JSweetProblem.GLOBAL_INDEXER_GET);
|
||||||
|
|||||||
@ -55,6 +55,7 @@ public class ApiTests extends AbstractTest {
|
|||||||
assertEquals("testc", result.<String> get("s4"));
|
assertEquals("testc", result.<String> get("s4"));
|
||||||
assertEquals(2, result.<Number> get("i1").intValue());
|
assertEquals(2, result.<Number> get("i1").intValue());
|
||||||
assertEquals(-1, result.<Number> get("i2").intValue());
|
assertEquals(-1, result.<Number> get("i2").intValue());
|
||||||
|
assertEquals(4, result.<Number> get("l").intValue());
|
||||||
}, getSourceFile(JdkInvocations.class));
|
}, getSourceFile(JdkInvocations.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -36,6 +36,7 @@ public class JdkInvocations {
|
|||||||
$export("s4", s.concat("c"));
|
$export("s4", s.concat("c"));
|
||||||
$export("i1", s.indexOf("s"));
|
$export("i1", s.indexOf("s"));
|
||||||
$export("i2", s.lastIndexOf("gg"));
|
$export("i2", s.lastIndexOf("gg"));
|
||||||
|
$export("l", s.length());
|
||||||
s.lastIndexOf("", 10);
|
s.lastIndexOf("", 10);
|
||||||
Other4 o2 = new Other4();
|
Other4 o2 = new Other4();
|
||||||
o2.toString();
|
o2.toString();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user