Closure Compiler, ADVANCED_OPTIMIZATIONS'u kullanarak derlediğimde garip bir uyarı veriyor. Bütün değiştirdiğinizdeClosure Compiler - @extends etiketinde özümlenemedi
WARNING - Could not resolve type in @extends tag of IRegistration
function IRegistration() {
^
0 error(s), 1 warning(s)
Ama: @interface
// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// ==/ClosureCompiler==
/**
* @interface
* @extends {IReused}
*/
function IRegistration() {
}
/**
* @interface
*/
function IInitializable() {
}
/**
* @param {IReused} initializer
*/
IInitializable.prototype.initializedBy = function (initializer) { };
/**
* @interface
* @extends {IOwned}
*/
function IReused() {
}
/**
* @interface
*/
function IOwned() {
}
Çıktı - Ben arayüzlerini kullanarak bu kod derleme
görebiliyorum bir uyarı vardır @constructor kullanarak sınıflara arabirimler sadece çalışır. Ben initializedBy dan IReused parametresini kaldırdığınızda arayüzleri kullanırken
// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// ==/ClosureCompiler==
/**
* @constructor
* @extends {IReused}
*/
function IRegistration() {
}
/**
* @constructor
*/
function IInitializable() {
}
/**
* @param {IReused} initializer
*/
IInitializable.prototype.initializedBy = function (initializer) { };
/**
* @constructor
* @extends {IOwned}
*/
function IReused() {
}
/**
* @constructor
*/
function IOwned() {
}
Ayrıca her şeyin beklendiği gibi çalışır çalışmaz.
/**
* @interface
* @extends {IReused}
*/
function IRegistration() {
}
...
/**
* @param {IReused} initializer
*/
IInitializable.prototype.initializedBy = function (initializer) { };
To ->
/**
* @param {*} initializer
*/
IInitializable.prototype.initializedBy = function (initializer) { };
Birisi bana neyi yanlış yaptığımı açıklayabilir mi lütfen?
al sen türleri:
Ayrıca, bu kod neye benzediği. –
İhtiyaç olmayan referanslarla ne demek istiyorsun? bir örnek verebilir misin? – Sagi