Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs
parser.h File Reference
#include "include/dart_api.h"
#include "lib/invocation_mirror.h"
#include "platform/assert.h"
#include "platform/globals.h"
#include "vm/allocation.h"
#include "vm/class_finalizer.h"
#include "vm/hash_table.h"
#include "vm/kernel.h"
#include "vm/object.h"
#include "vm/raw_object.h"
#include "vm/scopes.h"
#include "vm/token.h"

Go to the source code of this file.

Classes

class  dart::FieldKeyValueTrait
 
class  dart::ParsedFunction
 
struct  dart::ParsedFunction::DynamicClosureCallVars
 
class  dart::Parser
 

Namespaces

namespace  dart
 
namespace  dart::kernel
 

Macros

#define FOR_EACH_DYNAMIC_CLOSURE_CALL_VARIABLE(V)
 
#define DEFINE_FIELD(Name, _, __)   LocalVariable* Name = nullptr;
 

Typedefs

typedef DirectChainedHashMap< FieldKeyValueTraitdart::FieldSet
 

Macro Definition Documentation

◆ DEFINE_FIELD

#define DEFINE_FIELD (   Name,
  _,
  __ 
)    LocalVariable* Name = nullptr;

Definition at line 280 of file parser.h.

◆ FOR_EACH_DYNAMIC_CLOSURE_CALL_VARIABLE

#define FOR_EACH_DYNAMIC_CLOSURE_CALL_VARIABLE (   V)
Value:
V(current_function, Function, CurrentFunction) \
V(current_num_processed, Smi, CurrentNumProcessed) \
V(current_param_index, Smi, CurrentParamIndex) \
V(current_type_param, Dynamic, CurrentTypeParam) \
V(function_type_args, Dynamic, FunctionTypeArgs)
#define V(name)
Definition raw_object.h:124

Definition at line 273 of file parser.h.

288 {
289 return dynamic_closure_call_vars_;
290 }
291 DynamicClosureCallVars* EnsureDynamicClosureCallVars();
292
293 private:
294 Thread* thread_;
295 const Function& function_;
296 Code& code_;
297 LocalScope* scope_;
298 RegExpCompileData* regexp_compile_data_;
299 LocalVariable* function_type_arguments_;
300 LocalVariable* parent_type_arguments_;
301 LocalVariable* suspend_state_var_ = nullptr;
302 LocalVariable* current_context_var_;
303 LocalVariable* arg_desc_var_;
304 LocalVariable* receiver_var_ = nullptr;
305 LocalVariable* expression_temp_var_;
306 LocalVariable* entry_points_temp_var_;
307 LocalVariable* finally_return_temp_var_;
308 DynamicClosureCallVars* dynamic_closure_call_vars_;
309 mutable FieldSet guarded_fields_;
310 ZoneGrowableArray<const Instance*>* default_parameter_values_;
311 bool receiver_used_ = false;
312
313 LocalVariable* raw_type_arguments_var_;
314 ZoneGrowableArray<LocalVariable*>* raw_parameters_ = nullptr;
315
316 VariableIndex first_parameter_index_;
317 int num_stack_locals_;
318 bool have_seen_await_expr_;
319
320 const Function* forwarding_stub_super_target_ = nullptr;
321 kernel::ScopeBuildingResult* kernel_scopes_;
322
323 const BitVector* covariant_parameters_ = nullptr;
324 const BitVector* generic_covariant_impl_parameters_ = nullptr;
325
326 friend class Parser;
327 DISALLOW_COPY_AND_ASSIGN(ParsedFunction);
328};
329
330class Parser : public ValueObject {
331 public:
332 // Parse a function to retrieve parameter information that is not retained in
333 // the Function object. Returns either an error if the parse fails (which
334 // could be the case for local functions), or a flat array of entries for each
335 // parameter. Each parameter entry contains: * a Dart bool indicating whether
336 // the parameter was declared final * its default value (or null if none was
337 // declared) * an array of metadata (or null if no metadata was declared).
338 enum {
339 kParameterIsFinalOffset,
340 kParameterDefaultValueOffset,
341 kParameterMetadataOffset,
342 kParameterEntrySize,
343 };
344
345 private:
347};
348
349} // namespace dart
350
351#endif // RUNTIME_VM_PARSER_H_
DirectChainedHashMap< FieldKeyValueTrait > FieldSet
Definition parser.h:66
#define DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition globals.h:581