blob: b5160617b411f2de5a27d6e304d23ab10d71e00e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.vaadin.tests.widgetset.client;
import com.google.gwt.user.client.ui.Label;
import com.vaadin.client.Profiler;
public class ProfilerCompilationCanary extends Label {
public ProfilerCompilationCanary() {
if (Profiler.isEnabled()) {
setText("Test does not work when profiler is enabled {dummyCode;}");
} else {
setText(getCanaryCode());
}
}
/*
* Finds the native js function for the canaryWithProfiler method and gets a
* string representation of it, which in most browsers produces the actual
* method implementation that we want to verify has an empty body.
*/
private static native String getCanaryCode()
/*-{
return @ProfilerCompilationCanary::canaryWithProfiler(*).toString();
}-*/;
/*
* We don't care about running this method, we just want to make sure that
* the generated implementation is empty.
*/
public static void canaryWithProfiler() {
Profiler.enter("canaryWithProfiler");
Profiler.leave("canaryWithProfiler");
}
}
|