Unit 'FPPas2Js' Package
[Overview][Resource strings][Constants][Types][Classes][Procedures and functions][Variables][Index] [#pastojs]

TPasToJSConverter

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Declaration

Source position: fppas2js.pp line 1920

type TPasToJSConverter = class(TObject)

protected

type

  TMemberFunc = (

  mfInit,

  mfFinalize

);

  TConvertJSEvent = function(

  El: TPasElement;

  AContext: TConvertContext;

  Data: Pointer

):TJSElement of object;

  TCreateRefPathData = record

  El: TPasElement;

  Full: Boolean;

  Ref: TResolvedReference;

end;

  PCreateRefPathData = ^TCreateRefPathData;

protected

  function OnCreateReferencePathExpr();

  procedure DoError();

  procedure RaiseNotSupported();

  procedure RaiseIdentifierNotFound();

  procedure RaiseInconsistency();

  function GetExpressionValueType(); virtual;

  function GetPasIdentValueType(); virtual;

  function ComputeConstString(); virtual;

  function IsLiteralInteger();

  function IsLiteralNumber();

  function GetOverloadName();

  function CanClashWithGlobal();

  function TransformToJSName(); virtual;

  function TransformElToJSName(); virtual;

  function TransformModuleName(); virtual;

  function IsReservedWord(); virtual;

  function GetTypeInfoName(); virtual;

  function TransformArgName(); virtual;

  function CreateGlobalAliasForeign(); virtual;

  function CreateGlobalAliasNull(); virtual;

  procedure CreateGlobalAlias_List(); virtual;

  function ElNeedsGlobalAlias(); virtual;

  function IsElementUsed(); virtual;

  function IsSystemUnit(); virtual;

  function HasTypeInfo(); virtual;

  function IsClassRTTICreatedBefore();

  function IsExprTemporaryVar(); virtual;

  function IsExprPropertySetterConst(); virtual;

  procedure FindAvailableLocalName();

  function GetImplJSProcScope();

  function SpecializeNeedsDelay(); virtual;

  function CreateElement(); virtual;

  function CreateFreeOrNewInstanceExpr(); virtual;

  function CreateFunctionSt();

  function CreateFunctionDef();

  procedure CreateProcedureCall(); virtual;

  procedure CreateProcedureCallArgs(); virtual;

  function CreateProcCallArg(); virtual;

  function CreateProcCallArgRef(); virtual;

  function CreateArrayEl();

  function CreateArgumentAccess(); virtual;

  function CreateUnary();

  function CreateUnaryPlus();

  function CreateMemberExpression();

  function CreateCallExpression();

  function CreateCallCharCodeAt(); virtual;

  function CreateCallFromCharCode(); virtual;

  function CreateUsesList();

  procedure AddToStatementList();

  procedure PrependToStatementList();

  procedure AddToVarStatement();

  function CreateValInit(); virtual;

  function CreateVarInit(); virtual;

  function CreateVarStatement(); virtual;

  function CreateExternalBracketAccessorCall(); virtual;

  function CreateAssignStatement(); virtual;

  function CreateGetEnumeratorLoop(); virtual;

  function CreateCallRTLFreeLoc(); virtual;

  function CreateDotSplit(); virtual;

  function CreateExportStatement(); virtual;

  function CreatePrecompiledJS(); virtual;

  procedure AddRTLVersionCheck();

  function CreateLiteralNumber(); virtual;

  function CreateLiteralFloat(); virtual;

  function CreateLiteralHexNumber(); virtual;

  function CreateLiteralString(); virtual;

  function CreateLiteralJSString(); virtual;

  function CreateLiteralBoolean(); virtual;

  function CreateLiteralNull(); virtual;

  function CreateLiteralUndefined(); virtual;

  function CreateLiteralCustomValue(); virtual;

  function CreateSetLiteralElement(); virtual;

  function CreateUnaryNot(); virtual;

  procedure ConvertCharLiteralToInt(); virtual;

  function ClonePrimaryExpression();

  function CreateMulNumber(); virtual;

  function CreateDivideNumber(); virtual;

  function CreateTruncFloor(); virtual;

  function CreateDotNameExpr(); virtual;

  function CreateDotExpression(); virtual;

  function CreateOverflowCheckCall(); virtual;

  function CreateRangeCheckCall(); virtual;

  function CreateRangeCheckCall_TypeRange(); virtual;

  procedure PrepareAssignDifferentIntegers(); virtual;

  function CreateReferencePath(); virtual;

  function CreateReferencePathExpr(); virtual;

  function CreateGlobalTypePath(); virtual;

  function CreateStaticProcPath(); virtual;

  function CreateGlobalElPath(); virtual;

  function GetLocalName();

  function ProcCanHaveShortRef();

  procedure StoreImplJSLocal(); virtual;

  procedure StoreImplJSLocals(); virtual;

  procedure RestoreImplJSLocals(); virtual;

  function CreateImplementationSection(); virtual;

  procedure CreateInitSection(); virtual;

  procedure CreateExportsSection(); virtual;

  function AddRTLRun(); virtual;

  procedure AddHeaderStatement(); virtual;

  procedure AddImplHeaderStatement(); virtual;

  function AddDelayedInits(); virtual;

  function CreateDelaySpecializeInit(); virtual;

  function CreateReferencedSet(); virtual;

  function CreateRecordInit(); virtual;

  function CreateRecordCallNew(); virtual;

  function CreateRecordCallClone(); virtual;

  function CreateRecordFunctionNew(); virtual;

  function CreateRecordFunctionEqual(); virtual;

  function CreateRecordFunctionAssign(); virtual;

  procedure CreateRecordRTTI(); virtual;

  function CreateDelayedInitMembersFunction(); virtual;

  function CreateArrayConcat();

  function CreateArrayInit(); virtual;

  function CreateArrayRef(); virtual;

  function CreateCmpArrayWithNil(); virtual;

  function CreateCloneStaticArray(); virtual;

  procedure AddClassConDestructorFunction(); virtual;

  procedure AddClassRTTI(); virtual;

  procedure AddClassConstructors(); virtual;

  procedure AddClassMessageIds(); virtual;

  function CreateCallback(); virtual;

  function CreateSafeCallback(); virtual;

  function CreatePropertyGet(); virtual;

  function AppendPropertyAssignArgs(); virtual;

  function AppendPropertyReadArgs(); virtual;

  function CreateRaisePropReadOnly(); virtual;

  function CreateTypeInfoRef(); virtual;

  function CreateRTTIArgList(); virtual;

  procedure AddRTTIArgument(); virtual;

  function GetClassBIName(); virtual;

  function CreateRTTINewType(); virtual;

  function CreateRTTIAttributes(); virtual;

  function CreateRTTIMemberField(); virtual;

  function CreateRTTIMemberMethod(); virtual;

  function CreateRTTIMemberProperty(); virtual;

  procedure CreateRTTIAnonymous(); virtual;

  function CreateRTTIAnonymousArray(); virtual;

  function CreateRTTIMembers(); virtual;

  procedure AddIntfDelegations();

  function CreateGUIDObjLit();

  function CreateAssignComIntfVar(); virtual;

  function IsInterfaceRef();

  function CreateIntfRef(); virtual;

  function RemoveIntfRef();

  procedure CreateFunctionTryFinally();

  procedure AddFunctionFinallySt();

  procedure AddFunctionFinallyRelease();

  procedure AddInFrontOfFunctionTry();

  procedure AddInterfaceReleases();

  procedure AddClassSupportedInterfaces();

  function CreateCallHelperMethod(); virtual;

  procedure AddHelperConstructor(); virtual;

  function ConvertImplBlockElements(); virtual;

  function ConvertBeginEndStatement(); virtual;

  function ConvertStatement(); virtual;

  function ConvertAssignStatement(); virtual;

  function ConvertDirectAssignArrayStatement(); virtual;

  function ConvertDirectAssignArrayConcat(); virtual;

  function ConvertDirectAssignArrayAdd(); virtual;

  function ConvertRaiseStatement(); virtual;

  function ConvertIfStatement(); virtual;

  function ConvertWhileStatement(); virtual;

  function ConvertRepeatStatement(); virtual;

  function ConvertForStatement(); virtual;

  function ConvertFinalizationSection(); virtual;

  function ConvertInitializationSection(); virtual;

  function ConvertSimpleStatement(); virtual;

  function ConvertWithStatement(); virtual;

  function ConvertTryStatement(); virtual;

  function ConvertExceptOn();

  function ConvertCaseOfStatement();

  function ConvertAsmStatement();

  function ConvertConstValue(); virtual;

  function ConvertArrayValues(); virtual;

  function ConvertInheritedExpr(); virtual;

  function ConvertNilExpr(); virtual;

  function ConvertCharToInt(); virtual;

  function ConvertIntToInt(); virtual;

  function CreateBitWiseAnd(); virtual;

  function CreateBitWiseLongword(); virtual;

  function ConvertParamsExpr(); virtual;

  function ConvertArrayParams(); virtual;

  function ConvertFuncParams(); virtual;

  function ConvertExternalConstructor(); virtual;

  function ConvertTObjectFree_Bin(); virtual;

  function ConvertTObjectFree_With(); virtual;

  function ConvertTypeCastToBaseType(); virtual;

  function ConvertArrayOrSetLiteral(); virtual;

  function ConvertBuiltIn_Length(); virtual;

  function ConvertBuiltIn_SetLength(); virtual;

  function ConvertBuiltIn_ExcludeInclude(); virtual;

  function ConvertBuiltInContinue(); virtual;

  function ConvertBuiltInBreak(); virtual;

  function ConvertBuiltIn_Exit(); virtual;

  function ConvertBuiltIn_IncDec(); virtual;

  function ConvertBuiltIn_Assigned(); virtual;

  function ConvertBuiltIn_Chr(); virtual;

  function ConvertBuiltIn_Ord(); virtual;

  function ConvertBuiltIn_LowHigh(); virtual;

  function ConvertBuiltIn_PredSucc(); virtual;

  function ConvertBuiltIn_StrProc(); virtual;

  function ConvertBuiltIn_StrFunc(); virtual;

  function ConvertBuiltInStrParam(); virtual;

  function ConvertBuiltIn_WriteStr(); virtual;

  function ConvertBuiltIn_Val(); virtual;

  function ConvertBuiltIn_LoHi(); virtual;

  function ConvertBuiltIn_ConcatArray(); virtual;

  function ConvertBuiltIn_ConcatString(); virtual;

  function ConvertBuiltIn_CopyArray(); virtual;

  function ConvertBuiltIn_InsertArray(); virtual;

  function ConvertBuiltIn_DeleteArray(); virtual;

  function ConvertBuiltIn_TypeInfo(); virtual;

  function ConvertBuiltIn_GetTypeKind(); virtual;

  function ConvertBuiltIn_Assert(); virtual;

  function ConvertBuiltIn_New(); virtual;

  function ConvertBuiltIn_Dispose(); virtual;

  function ConvertBuiltIn_Default(); virtual;

  function ConvertBuiltIn_Debugger(); virtual;

  function ConvertBuiltIn_AWait(); virtual;

  function ConvertRecordValues(); virtual;

  function ConvertSelfExpression(); virtual;

  function ConvertBinaryExpression(); virtual;

  function ConvertBinaryExpressionRes(); virtual;

  function ConvertBinaryExpressionMultiAdd(); virtual;

  function ConvertSubIdentExpression(); virtual;

  function ConvertSubIdentExprCustom(); virtual;

  function ConvertBoolConstExpression(); virtual;

  function ConvertPrimitiveExpression(); virtual;

  function ConvertIdentifierExpr(); virtual;

  function ConvertUnaryExpression(); virtual;

  function ConvertInlineSpecializeExpr(); virtual;

  function ConvertElement(); virtual;

  function ConvertProperty(); virtual;

  function ConvertConst(); virtual;

  function ConvertDeclarations(); virtual;

  function ConvertExportSymbol(); virtual;

  function ConvertExpression(); virtual;

  function ConvertImplBlock(); virtual;

  function ConvertImplCommand(); virtual;

  function ConvertLabelMark(); virtual;

  function ConvertLabels(); virtual;

  function ConvertModule(); virtual;

  function ConvertPackage(); virtual;

  function ConvertProcedure(); virtual;

  function ConvertResString(); virtual;

  function ConvertVariable(); virtual;

  function ConvertRecordType(); virtual;

  function ConvertClassType(); virtual;

  function ConvertClassForwardType(); virtual;

  function ConvertClassOfType(); virtual;

  function ConvertExtClassType(); virtual;

  function ConvertEnumType(); virtual;

  function ConvertSetType(); virtual;

  function ConvertRangeType(); virtual;

  function ConvertTypeAliasType(); virtual;

  function ConvertPointerType(); virtual;

  function ConvertProcedureType(); virtual;

  function ConvertArrayType(); virtual;

public

const

  pfVar = 1

  pfConst = 2

  pfOut = 4

  pfArray = 8

  pfStatic = 1

  pfVarargs = 2

  pfExternal = 4

  pfSafeCall = 8

  pfAsync = $10

  pfGetFunction = 1

  pfSetProcedure = 2

  pfStoredTrue = 0

  pfStoredFalse = 4

  pfStoredField = 8

  pfStoredFunction = 12

  pfHasIndex = 16

public

type

  TMethodKind = (

  mkProcedure,

  mkFunction,

  mkConstructor,

  mkDestructor,

  mkClassProcedure,

  mkClassFunction

);

  TOrdType = (

  otSByte,

  otUByte,

  otSWord,

  otUWord,

  otSLong,

  otULong,

  otSIntDouble,

  otUIntDouble

);

public

  function GetOrdType(); virtual;

public

const

  pas2js_vtInteger = 0

  pas2js_vtBoolean = 1

  pas2js_vtExtended = 3

  pas2js_vtPointer = 5

  pas2js_vtObject = 7

  pas2js_vtClass = 8

  pas2js_vtWideChar = 9

  pas2js_vtCurrency = 12

  pas2js_vtInterface = 14

  pas2js_vtUnicodeString = 18

  pas2js_vtNativeInt = 19

  pas2js_vtJSValue = 20

public

  constructor Create;

  destructor Destroy; override;

  function ConvertPasElement();

  property Options: TPasToJsConverterOptions; [rw]

  property Globals: TPasToJSConverterGlobals; [rw]

  property UseLowerCase: Boolean; [rw]

  property UseSwitchStatement: Boolean; [rw]

  property UseEnumNumbers: Boolean; [rw]

  property OnIsElementUsed: TPas2JSIsElementUsedEvent; [rw]

  property OnIsTypeInfoUsed: TPas2JSIsElementUsedEvent; [rw]

  property ReservedWords: TJSReservedWordList; [rw]

end;

Inheritance

TPasToJSConverter

|

TObject


Documentation generated on: 2023-03-18