registerGlobalVariables static method

void registerGlobalVariables(
  1. D4rt interpreter,
  2. String importPath
)

Registers all global variables with the interpreter.

importPath is the package import path for library-scoped registration. Collects all registration errors and throws a single exception with all error details if any registrations fail.

Implementation

static void registerGlobalVariables(D4rt interpreter, String importPath) {
  final errors = <String>[];

  try {
    interpreter.registerGlobalVariable(
      'posix',
      $path_1.posix,
      importPath,
      sourceUri: 'package:path/path.dart',
    );
  } catch (e) {
    errors.add('Failed to register variable "posix": $e');
  }
  try {
    interpreter.registerGlobalVariable(
      'windows',
      $path_1.windows,
      importPath,
      sourceUri: 'package:path/path.dart',
    );
  } catch (e) {
    errors.add('Failed to register variable "windows": $e');
  }
  try {
    interpreter.registerGlobalVariable(
      'url',
      $path_1.url,
      importPath,
      sourceUri: 'package:path/path.dart',
    );
  } catch (e) {
    errors.add('Failed to register variable "url": $e');
  }
  try {
    interpreter.registerGlobalVariable(
      'context',
      $path_1.context,
      importPath,
      sourceUri: 'package:path/path.dart',
    );
  } catch (e) {
    errors.add('Failed to register variable "context": $e');
  }
  interpreter.registerGlobalGetter(
    'style',
    () => $path_1.style,
    importPath,
    sourceUri: 'package:path/path.dart',
  );
  interpreter.registerGlobalGetter(
    'current',
    () => $path_1.current,
    importPath,
    sourceUri: 'package:path/path.dart',
  );
  interpreter.registerGlobalGetter(
    'separator',
    () => $path_1.separator,
    importPath,
    sourceUri: 'package:path/path.dart',
  );

  if (errors.isNotEmpty) {
    throw StateError(
      'Bridge registration errors (path):\n${errors.join("\n")}',
    );
  }
}