Property | Type | Description | |
---|---|---|---|
_params | ImmutableArray |
Property | Type | Description | |
---|---|---|---|
CreateGhostOverload | void | ||
GetContextPlace | IPlace | ||
GetThisPlace | IPlace | ||
IsMetadataNewSlot | bool | ||
IsMetadataVirtual | bool | ||
SynthesizeGhostStubs | void |
Method | Description | |
---|---|---|
BuildParameters ( |
Builds CLR method parameters. (Context, arg1, arg2, ...) |
|
BuildReturnType ( |
||
CreateGhostOverload ( PEModuleBuilder module, DiagnosticBag diagnostic, TypeSymbol ghostreturn, IEnumerable |
Creates ghost stub that calls current method.
|
|
CreateTypeRefContext ( ) : |
||
GenerateGhostBody ( PEModuleBuilder module, DiagnosticBag diagnostic, |
Generates ghost method body that calls
|
|
SynthesizeOverloadsWithOptionalParameters ( PEModuleBuilder module, DiagnosticBag diagnostic ) : void |
Synthesizes method overloads in case there are optional parameters which explicit default value cannot be resolved as a ConstantValue. foo($a = [], $b = [1, 2, 3]) + foo() => foo([], [1, 2, 3) + foo($a) => foo($a, [1, 2, 3]) |
Method | Description | |
---|---|---|
CreateGhostOverload ( PEModuleBuilder module, DiagnosticBag diagnostic, int pcount ) : void | ||
GetContextPlace ( ) : IPlace |
Gets place referring to
|
|
GetThisPlace ( ) : IPlace | ||
IsMetadataNewSlot ( bool ignoreInterfaceImplementationChanges = false ) : bool |
virtual = IsVirtual AND NewSlot override = IsVirtual AND !NewSlot
|
|
IsMetadataVirtual ( bool ignoreInterfaceImplementationChanges = false ) : bool | ||
SynthesizeGhostStubs ( PEModuleBuilder module, DiagnosticBag diagnostic ) : void |
Creates ghost stubs, i.e. methods with a different signature calling this routine to comply with CLR standards.
|
protected BuildParameters ( |
||
signature | ||
phpdocOpt | PHPDocBlock | |
return | IEnumerable |
protected BuildReturnType ( |
||
signature | ||
tref | TypeRef | |
phpdocOpt | PHPDocBlock | |
rtype | TypeRefMask | |
return | TypeSymbol |
protected CreateGhostOverload ( PEModuleBuilder module, DiagnosticBag diagnostic, TypeSymbol ghostreturn, IEnumerable |
||
module | PEModuleBuilder | |
diagnostic | DiagnosticBag | |
ghostreturn | TypeSymbol | |
ghostparams | IEnumerable |
|
explicitOverride | ||
return | void |
protected abstract CreateTypeRefContext ( ) : |
||
return |
protected GenerateGhostBody ( PEModuleBuilder module, DiagnosticBag diagnostic, |
||
module | PEModuleBuilder | |
diagnostic | DiagnosticBag | |
ghost | ||
return | void |
protected SynthesizeOverloadsWithOptionalParameters ( PEModuleBuilder module, DiagnosticBag diagnostic ) : void | ||
module | PEModuleBuilder | |
diagnostic | DiagnosticBag | |
return | void |