|
192 | 192 |
|
193 | 193 | 'rule' GenerateManifestDefinitions(contextvariable(_, public, Name, _, _)): |
194 | 194 |
|
195 | | - 'rule' GenerateManifestDefinitions(handler(_, public, Name, Signature, _, _)): |
| 195 | + 'rule' GenerateManifestDefinitions(handler(_, public, Name, _, Signature, _, _)): |
196 | 196 | GenerateManifestHandlerDefinition(Name, Signature) |
197 | 197 |
|
198 | 198 | 'rule' GenerateManifestDefinitions(foreignhandler(_, public, Name, Signature, _)): |
|
487 | 487 | 'rule' GenerateDefinitionIndexes(contextvariable(_, _, Name, _, _)): |
488 | 488 | GenerateDefinitionIndex(Name) |
489 | 489 |
|
490 | | - 'rule' GenerateDefinitionIndexes(handler(_, _, Name, _, _, _)): |
| 490 | + 'rule' GenerateDefinitionIndexes(handler(_, _, Name, _, _, _, _)): |
491 | 491 | GenerateDefinitionIndex(Name) |
492 | 492 |
|
493 | 493 | 'rule' GenerateDefinitionIndexes(foreignhandler(_, _, Name, _, _)): |
|
570 | 570 | 'rule' GenerateExportedDefinitions(contextvariable(_, public, Id, _, _)): |
571 | 571 | GenerateExportedDefinition(Id) |
572 | 572 |
|
573 | | - 'rule' GenerateExportedDefinitions(handler(_, public, Id, _, _, _)): |
| 573 | + 'rule' GenerateExportedDefinitions(handler(_, public, Id, _, _, _, _)): |
574 | 574 | GenerateExportedDefinition(Id) |
575 | 575 |
|
576 | 576 | 'rule' GenerateExportedDefinitions(foreignhandler(_, public, Id, _, _)): |
|
634 | 634 |
|
635 | 635 | 'rule' GenerateDefinitions(contextvariable(Position, _, Id, Type, Default)): |
636 | 636 | GenerateType(Type -> TypeIndex) |
637 | | - --EmitConstant(Default -> ConstIndex) |
638 | | - where(0 -> ConstIndex) |
| 637 | + EmitConstant(Default -> ConstIndex) |
639 | 638 |
|
640 | 639 | QuerySymbolId(Id -> Info) |
641 | 640 | Id'Name -> Name |
642 | 641 | Info'Index -> DefIndex |
643 | 642 | EmitContextVariableDefinition(DefIndex, Position, Name, TypeIndex, ConstIndex) |
644 | 643 |
|
645 | | - 'rule' GenerateDefinitions(handler(Position, _, Id, Signature:signature(Parameters, _), _, Body)): |
| 644 | + 'rule' GenerateDefinitions(handler(Position, _, Id, Scope, Signature:signature(Parameters, _), _, Body)): |
646 | 645 | GenerateType(handler(Position, Signature) -> TypeIndex) |
647 | 646 |
|
648 | 647 | QuerySymbolId(Id -> Info) |
649 | 648 | Id'Name -> Name |
650 | 649 | Info'Index -> DefIndex |
651 | | - EmitBeginHandlerDefinition(DefIndex, Position, Name, TypeIndex) |
| 650 | + (| |
| 651 | + where(Scope -> normal) |
| 652 | + EmitBeginHandlerDefinition(DefIndex, Position, Name, TypeIndex) |
| 653 | + || |
| 654 | + where(Scope -> context) |
| 655 | + EmitBeginContextHandlerDefinition(DefIndex, Position, Name, TypeIndex) |
| 656 | + |) |
652 | 657 | GenerateParameters(Parameters) |
653 | 658 | CreateParameterRegisters(Parameters) |
654 | 659 | CreateVariableRegisters(Body) |
|
0 commit comments