/*
 Copyright 2019 Alain Dargelas
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
 
 http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 */

// Surelog 
// IDL for Python API cache.

include "header.fbs";

file_identifier "SLPY";
file_extension "slpy";

namespace SURELOG.PYTHONAPICACHE;


table PythonAPICache {
  m_header:CACHE.Header;
  m_python_script_file:string;
  m_errors:[CACHE.Error];
  m_symbols:[string];
}

root_type PythonAPICache;
