private function LoadFromJSON($path)
    {
        $this->definitions_path = rtrim($path, "/\\") . "/";
        $this->import_type = Type::JSON;

        if(file_exists($this->definitions_path . "constants.json"))
        {
            $this->SendMessage(t("Loading constants.json"));
            $this->LoadConstantsFromJson();
        }
        
        if(file_exists($this->definitions_path . "enumerations.json"))
        {
            $this->SendMessage(t("Loading enumerations.json"));
            $this->LoadEnumerationsFromJson();
        }
        
        if(file_exists($this->definitions_path . "type_definitions.json"))
        {
            $this->SendMessage(t("Loading type_definitions.json"));
            $this->LoadTypeDefFromJson();
        }
        
        if(file_exists($this->definitions_path . "variables.json"))
        {
            $this->SendMessage(t("Loading variables.json"));
            $this->LoadGlobalVariablesFromJson();
        }
        
        if(file_exists($this->definitions_path . "functions.json"))
        {
            $this->SendMessage(t("Loading functions.json"));
            $this->LoadFunctionsFromJson();
        }
        
        if(file_exists($this->definitions_path . "classes.json"))
        {
            $this->SendMessage(t("Loading classes.json"));
            $this->LoadClassesFromJson();
        }
    }