forked from glayzzle/php-parser
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclass.js
More file actions
31 lines (27 loc) · 815 Bytes
/
class.js
File metadata and controls
31 lines (27 loc) · 815 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*!
* Copyright (C) 2017 Glayzzle (BSD3 License)
* @authors https://github.com/glayzzle/php-parser/graphs/contributors
* @url http://glayzzle.com
*/
var Declaration = require('./declaration');
var KIND = 'class';
/**
* A class definition
* @constructor Class
* @extends {Declaration}
* @property {Identifier|null} extends
* @property {Identifier[]} implements
* @property {Declaration[]} body
* @property {boolean} isAnonymous
* @property {boolean} isAbstract
* @property {boolean} isFinal
*/
var Class = Declaration.extends(function Class(name, ext, impl, body, flags, location) {
Declaration.apply(this, [KIND, name, location]);
this.isAnonymous = name ? false : true;
this.extends = ext;
this.implements = impl;
this.body = body;
this.parseFlags(flags);
});
module.exports = Class;