PropertyNode.js 549 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import Node from './Node.js';
  2. class PropertyNode extends Node {
  3. constructor( nodeType, name = null ) {
  4. super( nodeType );
  5. this.name = name;
  6. }
  7. getHash( builder ) {
  8. return this.name || super.getHash( builder );
  9. }
  10. isGlobal( /*builder*/ ) {
  11. return true;
  12. }
  13. generate( builder ) {
  14. const nodeVary = builder.getVarFromNode( this, this.getNodeType( builder ) );
  15. const name = this.name;
  16. if ( name !== null ) {
  17. nodeVary.name = name;
  18. }
  19. return builder.getPropertyName( nodeVary );
  20. }
  21. }
  22. export default PropertyNode;