Node constructor
Implementation
Node(this.filename, this.name, this.manifest) {
if (_isEnumDeclaration(manifest)) type = NodeType.enumeration;
else if (_isTypeDeclaration(manifest)) type = NodeType.type;
else if (_isMessageDeclaration(manifest)) type = NodeType.message;
else if (_isRequestResponseDeclaration(manifest)) type = NodeType.request;
else throw Exception('"$name" declaration in "$filename" is invalid. Use array of strings for enum declaration, object for type declaration or array (with 1 or 2 objects) for messages.');
}