Beispiel #1
0
 public function __construct($hash, $name, $value, array &$args, array $targs)
 {
     $global = get_default($args, 'global', false);
     if ($global) {
         $nameParts = LibraryManager::SplitNamespace($value);
         $value = $nameParts[\count($nameParts) - 1];
     }
     parent::__construct(InfoKind::T_FUNC, $hash, $name, $value, $args, $targs);
     grokit_assert(array_key_exists('input', $args), 'Malformed return value from function generator ' . $name . ': No input defined.');
     $this->args = $args['input'];
     grokit_assert(array_key_exists('result', $args), 'Malformed return value from function generator ' . $name . ': No result type defined.');
     $this->resultType = $args['result'];
     if (array_key_exists('deterministic', $args)) {
         $this->deterministic = $args['deterministic'];
     }
 }
Beispiel #2
0
 function parseImport($ast)
 {
     assert_ast_type($ast, NodeType::IMPORT);
     $lib = parseIdentifier(ast_node_data($ast));
     $source = ast_node_source($ast);
     $base_dir = getenv('GROKIT_INSTALLED_LIBRARY_PATH');
     $parts = LibraryManager::SplitNamespace($lib);
     $file = $base_dir . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $parts) . '.php';
     $result = (include_once $file);
     grokit_assert($result !== false, 'Failed to include library ' . $lib . ', no library file ' . $file . ' found ' . $source);
 }