메소드 | 설명 | |
---|---|---|
Emit ( |
||
EmitBox ( TypeSymbol valuetype ) : void | ||
EmitCallMain ( |
Emits call to main method.
|
|
EmitCallerRuntimeTypeHandle ( ) : void | ||
EmitConvert ( |
||
EmitConvert ( TypeSymbol from, TypeRefMask fromHint, TypeSymbol to ) : void |
Emits conversion from one CLR type to another using PHP conventions.
|
|
EmitConvertToBool ( |
||
EmitConvertToBool ( TypeSymbol from, TypeRefMask fromHint, bool negation = false ) : void | ||
EmitConvertToDouble ( TypeSymbol from, TypeRefMask fromHint ) : TypeSymbol | ||
EmitConvertToInt ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
EmitConvertToIntStringKey ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
EmitConvertToLong ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
EmitConvertToPhpArray ( TypeSymbol from, TypeRefMask fromHint ) : void |
Emits conversion to
|
|
EmitConvertToPhpNumber ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
EmitConvertToPhpString ( TypeSymbol from, TypeRefMask fromHint ) : void |
Emits conversion to Pchp.Core.PhpString (aka writable string).
|
|
EmitConvertToPhpValue ( TypeSymbol from, TypeRefMask fromHint ) : TypeSymbol | ||
EmitConvertToPhpValue ( TypeSymbol from, TypeRefMask fromHint, |
||
EmitConvertToString ( TypeSymbol from, TypeRefMask fromHint ) : void |
Emits conversion to System.String.
|
|
EmitDebugAssert ( string messageOpt = null ) : void |
Emits
|
|
EmitDebugAssertNotNull ( IPlace place, string messageOpt = null ) : void |
Emits
|
|
EmitDeclareFunction ( |
Emits declaring function into the context.
|
|
EmitDeclareType ( |
Emits declaring type into the context.
|
|
EmitEcho ( |
||
EmitFieldAddress ( |
Loads field address on top of evaluation stack.
|
|
EmitIntStringKey ( |
||
EmitIntStringKey ( int key ) : void | ||
EmitLoadArgument ( |
Loads argument
|
|
EmitLoadConstant ( object value, TypeSymbol targetOpt = null ) : TypeSymbol | ||
EmitLoadContext ( ) : TypeSymbol |
Emits
|
|
EmitLoadDefault ( TypeSymbol type, TypeRefMask typemask ) : void | ||
EmitLoadDefaultOfValueType ( TypeSymbol valuetype ) : void |
Emits
|
|
EmitLoadToken ( |
Loads RuntimeMethodHandle of given method.
|
|
EmitLoadToken ( TypeSymbol type, Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt ) : TypeSymbol |
Loads RuntimeTypeHandle of given type.
|
|
EmitLogicNegation ( ) : void |
Emits "!= 0" operation. This method expects I4 value on top of evaluation stack.
|
|
EmitNotNull ( IPlace place ) : void |
Emits
|
|
EmitOpCode ( ILOpCode code ) : void | ||
EmitParameterDefaultValue ( |
Emits default value of given parameter. Puts value of target parameter's type.
|
|
EmitPop ( TypeSymbol type ) : void | ||
EmitRet ( TypeSymbol stack ) : void |
Emits .ret instruction with sequence point at closing brace.
|
|
EmitRetDefault ( ) : void | ||
EmitThis ( ) : TypeSymbol |
Emits reference to
|
|
EmitThisOrNull ( ) : TypeSymbol | ||
EmitUnset ( |
||
EmitWithDisabledErrorReporting ( |
Emits the expression decorated with error reporting disabling routine.
|
|
Emit_NewArray ( TypeSymbol elementType, |
||
Emit_PhpAlias_GetValue ( ) : TypeSymbol |
Emits load of
|
|
Emit_PhpAlias_GetValueRef ( ) : void |
Emits load of
|
|
Emit_PhpAlias_SetValue ( ) : void |
Emits store to
|
|
Emit_PhpValue_MakeAlias ( ) : TypeSymbol |
Emits
|
|
Emit_PhpValue_Null ( ) : TypeSymbol |
Emits load of PhpValue representing null.
|
|
Emit_PhpValue_Void ( ) : TypeSymbol |
Emits load of PhpValue representing void.
|
|
GetTemporaryLocal ( TypeSymbol type ) : Microsoft.CodeAnalysis.CodeGen.LocalDefinition |
Returns a LocalDefinition of a temporary local variable of a specified TypeSymbol. If a LocalDefinition of the given TypeSymbol has already been declared and returned to the pool, this local is reused. Otherwise, a new local is declared. Use this method to obtain a short-lived temporary local. Return the local to the pool of locals available for reuse by calling ReturnTemporaryLocal. |
|
GetTemporaryLocal ( TypeSymbol type, bool immediateReturn ) : Microsoft.CodeAnalysis.CodeGen.LocalDefinition |
Returns a LocalDefinition of a temporary local variable of a specified TypeSymbol. If a LocalDefinition of the given TypeSymbol has already been declared and returned to the pool, this local is reused. Otherwise, a new local is declared. Use this method to obtain a short-lived temporary local. If immediateReturn is |
|
ReturnTemporaryLocal ( Microsoft.CodeAnalysis.CodeGen.LocalDefinition definition ) : void |
Returns a LocalDefinition previously obtained from GetTemporaryLocal(TypeSymbol,bool) to the pool of locals available for reuse.
|
메소드 | 설명 | |
---|---|---|
EmitCall ( ILOpCode code, |
Emits call to given method.
|
|
EmitCall ( ILOpCode code, |
||
EmitCastClass ( TypeSymbol type ) : void | ||
EmitCastClass ( TypeSymbol from, TypeSymbol to ) : void | ||
EmitConvertIntToLong ( TypeSymbol stack ) : TypeSymbol |
In case there is
|
|
EmitConvertNumberToDouble ( |
In case there is
|
|
EmitConvertToClass ( TypeSymbol from, TypeRefMask fromHint, TypeSymbol to ) : void |
Emits conversion to a class object.
|
|
EmitConvertToEnum ( TypeSymbol from, |
||
EmitGetProperty ( IPlace holder, |
||
EmitInitializePlace ( IPlace place ) : void |
Initializes place with a default value. This applies to structs without default ctor that won't work properly when uninitialized.
|
|
EmitPhpNumberAddr ( ) : void |
Copies
|
|
EmitPhpValueAddr ( ) : void |
Copies
|
|
EmitSequencePoint ( LangElement element ) : void | ||
EmitSequencePoint ( Span span ) : void | ||
EmitSpecialize ( |
If possible, based on type analysis, unwraps more specific type from a value currently on stack without a runtime type check.
|
|
EmitSpecialize ( TypeSymbol stack, TypeRefMask tmask ) : TypeSymbol |
If possible, based on type analysis, unwraps more specific type from a value currently on stack without a runtime type check.
|
|
EmitStructAddr ( TypeSymbol t ) : void |
Copies a value type from the top of evaluation stack into a temporary variable and loads its address.
|
|
EmitSymbolToken ( |
||
EmitSymbolToken ( TypeSymbol symbol, Microsoft.CodeAnalysis.SyntaxNode syntaxNode ) : void | ||
EmitThisCall ( |
Emits .call to target assuming it takes the same arguments as passed to the caller method (thismethod).
|
|
Emit_PhpValue_Void ( |
Emits load of PhpValue representing void.
|
|
IsArrayOnly ( TypeRefMask tmask ) : bool |
Gets value indicating the given type represents only PHP Array.
|
|
IsBooleanOnly ( TypeRefMask tmask ) : bool |
Gets value indicating the given type represents a long and nothing else.
|
|
IsClassOnly ( TypeRefMask tmask ) : bool |
Gets value indicating the given type represents only class types.
|
|
IsDoubleOnly ( TypeRefMask tmask ) : bool |
Gets value indicating the given type represents a double and nothing else.
|
|
IsLongOnly ( TypeRefMask tmask ) : bool |
Gets value indicating the given type represents a long and nothing else.
|
|
IsReadonlyStringOnly ( TypeRefMask tmask ) : bool |
Gets value indicating the given type represents UTF16 readonly string and nothing else.
|
|
PlaceOrNull ( |
If possible, gets IPlace representing given expression (in case of a field or variable).
|
|
TryEmitVariableSpecialize ( |
If possible, based on type analysis, unwraps most specific type from give variable without a runtime type check.
|
|
TryEmitVariableSpecialize ( IPlace place, TypeRefMask tmask ) : TypeSymbol |
If possible, based on type analysis, unwraps most specific type from give variable without a runtime type check.
|
public Emit ( |
||
expr | ||
리턴 | TypeSymbol |
public EmitCallMain ( |
||
mainmethod | Static Main method representing the script global code. | |
리턴 | TypeSymbol |
public EmitConvert ( |
||
expr | ||
to | TypeSymbol | |
리턴 | void |
public EmitConvert ( TypeSymbol from, TypeRefMask fromHint, TypeSymbol to ) : void | ||
from | TypeSymbol | Type of value on top of evaluation stack. |
fromHint | TypeRefMask | Type hint in case of a multityple type choices (like PhpValue or PhpNumber or PhpAlias). |
to | TypeSymbol | Target CLR type. |
리턴 | void |
public EmitConvertToBool ( |
||
expr | ||
negation | bool | |
리턴 | void |
public EmitConvertToBool ( TypeSymbol from, TypeRefMask fromHint, bool negation = false ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
negation | bool | |
리턴 | void |
public EmitConvertToDouble ( TypeSymbol from, TypeRefMask fromHint ) : TypeSymbol | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | TypeSymbol |
public EmitConvertToInt ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | void |
public EmitConvertToIntStringKey ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | void |
public EmitConvertToLong ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | void |
public EmitConvertToPhpArray ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | void |
public EmitConvertToPhpNumber ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | void |
public EmitConvertToPhpString ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | void |
public EmitConvertToPhpValue ( TypeSymbol from, TypeRefMask fromHint ) : TypeSymbol | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | TypeSymbol |
public static EmitConvertToPhpValue ( TypeSymbol from, TypeRefMask fromHint, |
||
from | TypeSymbol | |
fromHint | TypeRefMask | |
il | ||
module | Emit | |
diagnostic | DiagnosticBag | |
리턴 | TypeSymbol |
public EmitConvertToString ( TypeSymbol from, TypeRefMask fromHint ) : void | ||
from | TypeSymbol | |
fromHint | TypeRefMask | |
리턴 | void |
public EmitDebugAssert ( string messageOpt = null ) : void | ||
messageOpt | string | Optional second argument for assert. |
리턴 | void |
public EmitDebugAssertNotNull ( IPlace place, string messageOpt = null ) : void | ||
place | IPlace | The variable to emit assertion for. |
messageOpt | string | Optional second argument for assert. |
리턴 | void |
public EmitDeclareFunction ( |
||
f | ||
리턴 | void |
public EmitDeclareType ( |
||
t | ||
리턴 | void |
public EmitEcho ( |
||
expr | ||
리턴 | void |
public EmitFieldAddress ( |
||
fld | ||
리턴 | void |
public EmitIntStringKey ( |
||
expr | ||
리턴 | void |
public EmitLoadArgument ( |
||
targetp | ||
expr | ||
writebacks | List |
|
리턴 | void |
public EmitLoadConstant ( object value, TypeSymbol targetOpt = null ) : TypeSymbol | ||
value | object | |
targetOpt | TypeSymbol | |
리턴 | TypeSymbol |
public EmitLoadDefault ( TypeSymbol type, TypeRefMask typemask ) : void | ||
type | TypeSymbol | |
typemask | TypeRefMask | |
리턴 | void |
public EmitLoadDefaultOfValueType ( TypeSymbol valuetype ) : void | ||
valuetype | TypeSymbol | |
리턴 | void |
public EmitLoadToken ( |
||
method | ||
syntaxNodeOpt | Microsoft.CodeAnalysis.SyntaxNode | |
리턴 | TypeSymbol |
public EmitLoadToken ( TypeSymbol type, Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt ) : TypeSymbol | ||
type | TypeSymbol | |
syntaxNodeOpt | Microsoft.CodeAnalysis.SyntaxNode | |
리턴 | TypeSymbol |
public EmitParameterDefaultValue ( |
||
targetp | Parameter to emit its default value. | |
리턴 | void |
public EmitUnset ( |
||
expr | ||
리턴 | void |
public EmitWithDisabledErrorReporting ( |
||
expr | ||
리턴 | TypeSymbol |
public Emit_NewArray ( TypeSymbol elementType, |
||
elementType | TypeSymbol | |
values | ||
리턴 | void |
public GetTemporaryLocal ( TypeSymbol type ) : Microsoft.CodeAnalysis.CodeGen.LocalDefinition | ||
type | TypeSymbol | The requested |
리턴 | Microsoft.CodeAnalysis.CodeGen.LocalDefinition |
public GetTemporaryLocal ( TypeSymbol type, bool immediateReturn ) : Microsoft.CodeAnalysis.CodeGen.LocalDefinition | ||
type | TypeSymbol | The requested |
immediateReturn | bool | |
리턴 | Microsoft.CodeAnalysis.CodeGen.LocalDefinition |
public ReturnTemporaryLocal ( Microsoft.CodeAnalysis.CodeGen.LocalDefinition definition ) : void | ||
definition | Microsoft.CodeAnalysis.CodeGen.LocalDefinition | The |
리턴 | void |