Я недавно пытался использовать версию cfcomponent
cfscript
вместе с JavaDoc нотации и получаю ошибку:Определение аргументов атрибутов с использованием JavaDoc обозначения (CFscript)
The system has attempted to use an undefined value, which usually indicates a programming error, either in your code or some system code.
Null Pointers are another name for undefined values.
От CF docs:
/**
* custom metadata for a cfc defined using annotation as well as key-value pairs
* @cfcMetadata1 "cfc metadata1"
*/
component cfcMetadata2 = "cfc metadata2"
{
/**
* custom metadata for a property defined using annotation as well as key-value pairs
* @propMetadata1 "property metadata1"
*/
property type="numeric" name="age" default="10" propMetadata2="property metadata2";
/**
* custom metadata for a function/argument using both annotation and key-value pairs
* @arg1.argmdata1 "arg metadata1"
* output true
* @fnMetadata1 "function metadata1"
*/
public string function foo(required numeric arg1=20 argmdata2="arg metadata2") fnMetadata2="function metadata2"
{
writedump(getmetadata(this));
return arg1;
}
}
Мой код :
/**
* @displayName Test
* @output false
*
* @since 2016-10-25
* @version 1.0
*/
component {
/**
* I am a test function.
*
* @limitFrom.required false
* @limitFrom.default 0
*
* @limitBy.required false
* @limitBy.default 0
*
* @returnFormat "json"
*
* @since 2016-10-25
* @version 1.0
*/
remote query function test(
numeric limitFrom,
numeric limitBy
) {
return queryNew("");
}
}
Это только счастье Ening, когда я пытаюсь присвоить значение по умолчанию для аргументов, используя JavaDoc обозначения т.е.,
@limitFrom.default 0
@limitBy.default 0
Удаление этих и все в порядке. Не знаете, почему это происходит?
Поскольку все другие атрибуты, похоже, работают, может быть ошибка. Общая догадка, но ... учитывая, что «по умолчанию» является ключевым словом на многих языках, я не удивлюсь, если это каким-то образом повлияет на то, чтобы внутренний анализ падал ... – Leigh
Вы когда-нибудь выясняли, ошибка или код? – Leigh
@Leigh Я попробовал еще раз, и ошибка только в том случае, если я использую аргументы функции default. Я также использовал 'default' для' property', и он работал так, как ожидалось, это похоже на ошибку. – Beginner