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

TPas2JSResolver

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

Declaration

Source position: fppas2js.pp line 1479

type TPas2JSResolver = class(TPasResolver)

protected

type

  THasAnoFuncData = record

  Expr: TProcedureExpr;

end;

  PHasAnoFuncData = ^THasAnoFuncData;

protected

  procedure OnHasAnonymousEl();

protected

type

  THasElReadingDeclData = record

  Decl: TPasElement;

  El: TPasElement;

end;

  PHasElReadingDeclData = ^THasElReadingDeclData;

protected

  procedure OnHasElReadingDecl();

protected

type

  TPRFindExtSystemClass = record

  JSName: string;

  ErrorPosEl: TPasElement;

  Found: TPasClassType;

  ElScope: TPasScope;

  StartScope: TPasScope;

end;

  PPRFindExtSystemClass = ^TPRFindExtSystemClass;

protected

  procedure OnFindExtSystemClass(); virtual;

  FOverloadScopes: TFPList;

  function HasOverloadIndex(); virtual;

  function GetOverloadIndex();

  function GetOverloadAt();

  function GetElevatedLocals();

  function RenameOverload();

  procedure RenameOverloadsInSection();

  procedure RenameOverloads();

  procedure RenameSubOverloads();

  procedure RenameMembers();

  procedure RenameSpecialized();

  procedure PushOverloadScopeSkip;

  procedure PushOverloadScope();

  function PushOverloadClassOrRecScopes();

  procedure PopOverloadScope;

  procedure RestoreOverloadScopeLvl();

  procedure ClearOverloadScopes;

  procedure AddType(); override;

  procedure AddRecordType(); override;

  procedure AddRecordVariant(); override;

  procedure AddClassType(); override;

  procedure AddEnumType(); override;

  procedure ResolveImplAsm(); override;

  procedure ResolveNameExpr(); override;

  procedure ResolveFuncParamsExpr(); override;

  procedure FinishInterfaceSection(); override;

  procedure FinishTypeSectionEl(); override;

  procedure FinishModule(); override;

  procedure FinishEnumType(); override;

  procedure FinishSetType(); override;

  procedure FinishRecordType(); override;

  procedure FinishClassType(); override;

  procedure FinishArrayType(); override;

  procedure FinishAncestors(); override;

  procedure FinishVariable(); override;

  procedure FinishArgument(); override;

  procedure FinishProcedureType(); override;

  procedure FinishProperty(); override;

  procedure FinishProcParamAccess(); override;

  procedure FinishPropertyParamAccess(); override;

  procedure FinishExportSymbol(); override;

  procedure ComputeArgumentExpr(); override;

  procedure FindCreatorArrayOfConst();

  function FindProc_ArrLitToArrayOfConst(); virtual;

  function FindSystemExternalClassType(); virtual;

  function FindTJSPromise(); virtual;

  procedure CheckExternalClassConstructor(); virtual;

  procedure CheckConditionExpr(); override;

  procedure CheckNewInstanceFunction(); virtual;

  function AddExternalName(); virtual;

  function FindExternalName(); virtual;

  procedure AddExternalPath();

  procedure AddElevatedLocal(); virtual;

  procedure ClearElementData; virtual;

  function GenerateGUID(); virtual;

  function CheckCallAsyncFuncResult(); virtual;

  procedure SpecializeGenericIntf(); override;

  procedure SpecializeGenericImpl(); override;

  procedure SpecializeProcedure(); override;

  function SpecializeParamsNeedDelay(); virtual;

  function IsSpecializedNonStaticMethod();

protected

const

  cJSValueConversion = 2 * cTypeConversion

protected

  function AddJSBaseType();

  function CheckAssignCompatibilityCustom(); override;

  function CheckTypeCastClassInstanceToClass(); override;

  function CheckEqualCompatibilityCustomType(); override;

  function CheckForIn(); override;

  procedure ComputeUnaryNot(); override;

  procedure ComputeBinaryExprRes(); override;

  function BI_Exit_OnGetCallCompatibility(); override;

  function BI_Val_OnGetCallCompatibility(); override;

  procedure BI_TypeInfo_OnGetCallResult(); override;

  function BI_Debugger_OnGetCallCompatibility(); virtual;

  function BI_AWait_OnGetCallCompatibility(); virtual;

  procedure BI_AWait_OnGetCallResult(); virtual;

  procedure BI_AWait_OnEval(); virtual;

  procedure BI_AWait_OnFinishParamsExpr(); virtual;

public

  constructor Create;

  destructor Destroy; override;

  procedure ClearBuiltInIdentifiers; override;

  function IsJSBaseType();

  procedure AddObjFPCBuiltInIdentifiers(); override;

  function CheckTypeCastRes(); override;

  function FindLocalBuiltInSymbol(); override;

  property JSBaseTypes []: TPasUnresolvedSymbolRef; [r]

  property JSBuiltInProcs []: TResElDataBuiltInProc; [r]

  function ExtractPasStringLiteral(); virtual;

  function ResolverToJSValue(); virtual;

  function ComputeConstString(); virtual;

  procedure CheckAssignExprRangeToCustom(); override;

  function CheckAssignCompatibilityClasses(); override;

  function HasStaticArrayCloneFunc();

  function IsTGUID(); override;

  function GetAssignGUIDString();

  procedure CheckDispatchField();

  procedure AddMessageStr();

  procedure AddMessageIdToClassScope(); virtual;

  procedure ComputeResultElement(); override;

  function GetElementData(); virtual;

  procedure AddElementData(); virtual;

  function CreateElementData(); virtual;

  function CheckEqualCompatibilityUserType(); override;

  procedure RaiseMsg(); override;

  function GetOverloadName();

  function GetBaseDescription(); override;

  function HasTypeInfo(); override;

  function ProcHasImplElements(); override;

  function HasAnonymousFunctions();

  function GetTopLvlProcScope();

  function ProcCanBePrecompiled(); virtual;

  function IsReadEqWrite(); virtual;

  function IsTObjectFreeMethod(); virtual;

  function IsExternalBracketAccessor();

  function IsExternalClassConstructor();

  function IsForInExtArray();

  function IsHelperMethod(); override;

  function IsHelperForMember(); virtual;

  function ImplBlockReadsDecl(); virtual;

end;

Inheritance

TPas2JSResolver

|

TObject


Documentation generated on: 2023-03-18