blob: d1e7127ecd7dd8596ef722e478b1f3b90a5eac89 [file] [log] [blame]
/*
* Copyright 2009 Google Inc.
*
* Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
*
* 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.gwt.core.client;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
/**
* This annotation is used to break out of a module's source path in hosted
* mode. Types annotated with this annotation will not be loaded by hosted
* mode's CompilingClassLoader. Instead, the bytecode for the type will be
* loaded from the system classloader.
* <p>
* This annotation is typically combined with the <code>super-source</code> tag
* to provide web-mode implementations of (binary-only) types that the developer
* wishes to use in Development Mode. This can be used, for instance, to provide
* a reference implementation to develop unit tests.
* <p>
* This annotation may also be applied to jsni methods to prevent them from
* being parsed and loaded for Development Mode. This is done under certain
* circumstances as an optimization to avoid loading very large jsni methods
* which are only executed in Production Mode.
*
* @deprecated since hosted/dev mode is deprecated and has no other uses.
*/
@Documented
@Target({ElementType.TYPE, ElementType.METHOD})
@Deprecated
public @interface GwtScriptOnly {
}