Chromium Code Reviews| Index: runtime/include/dart_api.h |
| =================================================================== |
| --- runtime/include/dart_api.h (revision 9071) |
| +++ runtime/include/dart_api.h (working copy) |
| @@ -1994,6 +1994,160 @@ |
| DART_EXPORT Dart_Handle Dart_ClassGetInterfaceAt(Dart_Handle clazz, |
| intptr_t index); |
| +// --- Function and Variable Declarations --- |
| + |
| +/** |
| + * Returns a list of the names of all functions or methods declared in |
| + * a library or class. |
| + * |
| + * \param target A library or class. |
| + * |
| + * \return If no error occurs, a list of strings is returned. |
|
cshapiro
2012/06/28 23:57:47
I am confused about the conditions under which err
turnidge
2012/07/09 23:45:17
This comment would apply to all dart api functions
|
| + * Otherwise an erorr handle is returned. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_GetFunctionNames(Dart_Handle target); |
| + |
| +/** |
| + * Looks up a function or method declaration by name from a library or |
| + * class. |
| + * |
| + * \param target The library or class containing the function. |
| + * \param function_name The name of the function. |
| + * |
| + * \return If an error is encountered, returns an error handle. |
| + * Otherwise returns a function handle if the function is found of |
|
cshapiro
2012/06/28 23:57:47
This does not read right specifically, "is found o
turnidge
2012/07/09 23:45:17
Done.
|
| + * Dart_Null() if the function is not found. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_LookupFunction(Dart_Handle target, |
| + Dart_Handle function_name); |
| + |
| +/** |
| + * Is this a function or method declaration handle? |
| + */ |
| +DART_EXPORT bool Dart_IsFunction(Dart_Handle handle); |
| + |
| +/** |
| + * Returns the name for the provided function or method. |
|
cshapiro
2012/06/28 23:57:47
Is there no possible error return? Maybe provide
turnidge
2012/07/09 23:45:17
Done.
|
| + */ |
| +DART_EXPORT Dart_Handle Dart_FunctionName(Dart_Handle function); |
| + |
| +/** |
| + * Determines whether a function or method is declared abstract. |
|
cshapiro
2012/06/28 23:57:47
Since there cannot be an abstract function, perhap
turnidge
2012/07/09 23:45:17
Done.
|
| + * |
| + * \param function A handle to a function or method declaration. |
| + * \param is_static Returns whether the function or method is declared abstract. |
|
cshapiro
2012/06/28 23:57:47
Same here, "returns true if 'function' is an abstr
turnidge
2012/07/09 23:45:17
Done.
|
| + * |
| + * \return A valid handle if no error occurs during the operation. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_FunctionIsAbstract(Dart_Handle function, |
| + bool* is_abstract); |
| + |
| +/** |
| + * Determines whether a function or method is declared static. |
|
cshapiro
2012/06/28 23:57:47
Declaring static seems confusing. I understand th
turnidge
2012/07/09 23:45:17
Done.
|
| + * |
| + * For the purposes of the embedding API, a top-level function is |
| + * implicitly declared static. |
| + * |
| + * \param function A handle to a function or method declaration. |
| + * \param is_static Returns whether the function or method is declared static. |
| + * |
| + * \return A valid handle if no error occurs during the operation. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_FunctionIsStatic(Dart_Handle function, |
| + bool* is_static); |
| + |
| +/** |
| + * Determines whether a function or method is a constructor. |
|
cshapiro
2012/06/28 23:57:47
Functions cannot be constructors. What about fact
turnidge
2012/07/09 23:45:17
Done.
|
| + * |
| + * \param function A handle to a function or method declaration. |
| + * \param is_static Returns whether the function or method is a constructor. |
| + * |
| + * \return A valid handle if no error occurs during the operation. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_FunctionIsConstructor(Dart_Handle function, |
| + bool* is_constructor); |
| + |
| +/** |
| + * Determines whether a function or method is a getter. |
| + * |
| + * \param function A handle to a function or method declaration. |
| + * \param is_static Returns whether the function or method is a getter. |
| + * |
| + * \return A valid handle if no error occurs during the operation. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_FunctionIsGetter(Dart_Handle function, |
| + bool* is_getter); |
| + |
| +/** |
| + * Determines whether a function or method is a setter. |
| + * |
| + * \param function A handle to a function or method declaration. |
| + * \param is_static Returns whether the function or method is a setter. |
| + * |
| + * \return A valid handle if no error occurs during the operation. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_FunctionIsSetter(Dart_Handle function, |
| + bool* is_setter); |
| + |
| +/** |
| + * Returns a list of the names of all variables declared in a library |
| + * or class. |
| + * |
| + * \param target A library or class. |
| + * |
| + * \return If no error occurs, a list of strings is returned. |
| + * Otherwise an erorr handle is returned. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_GetVariableNames(Dart_Handle target); |
|
cshapiro
2012/06/28 23:57:47
Why not call this "Field" instead of "Variable"?
turnidge
2012/07/09 23:45:17
The spec calls them variables instead of fields, s
|
| + |
| +/** |
| + * Looks up a variable declaration by name from a library or class. |
| + * |
| + * \param library The library or class containing the function. |
| + * \param function_name The name of the function. |
| + * |
| + * \return If an error is encountered, returns an error handle. |
| + * Otherwise returns a function handle if the function is found of |
| + * Dart_Null() if the function is not found. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_LookupVariable(Dart_Handle target, |
|
cshapiro
2012/06/28 23:57:47
Likewise.
|
| + Dart_Handle variable_name); |
| + |
| +/** |
| + * Is this a variable declaration handle? |
|
cshapiro
2012/06/28 23:57:47
What is a variable in this context? Is this a loc
turnidge
2012/07/09 23:45:17
For now, a variable is a top-level variable or a "
|
| + */ |
| +DART_EXPORT bool Dart_IsVariable(Dart_Handle handle); |
| + |
| +/** |
| + * Returns the name for the provided variable. |
|
cshapiro
2012/06/28 23:57:47
Ditto.
|
| + */ |
| +DART_EXPORT Dart_Handle Dart_VariableName(Dart_Handle variable); |
| + |
| +/** |
| + * Determines whether a variable is declared static. |
|
cshapiro
2012/06/28 23:57:47
What kind of variable? Local variable?
|
| + * |
| + * For the purposes of the embedding API, a top-level variable is |
| + * implicitly declared static. |
| + * |
| + * \param variable A handle to a variable declaration. |
| + * \param is_static Returns whether the variable is declared static. |
| + * |
| + * \return A valid handle if no error occurs during the operation. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_VariableIsStatic(Dart_Handle variable, |
| + bool* is_static); |
| + |
| +/** |
| + * Determines whether a variable is declared final. |
|
cshapiro
2012/06/28 23:57:47
Ditto.
|
| + * |
| + * \param variable A handle to a variable declaration. |
| + * \param is_static Returns whether the variable is declared final. |
|
cshapiro
2012/06/28 23:57:47
You have the wrong name for the \param, it should
turnidge
2012/07/09 23:45:17
Done.
|
| + * |
| + * \return A valid handle if no error occurs during the operation. |
| + */ |
| +DART_EXPORT Dart_Handle Dart_VariableIsFinal(Dart_Handle variable, |
| + bool* is_final); |
| + |
| // --- Constructors, Methods, and Fields --- |
| /** |