Unit 'PasResolver' Package
[Overview][Constants][Types][Classes][Procedures and functions][Index] [#fcl-passrc]

TPasResolver

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

Declaration

Source position: pasresolver.pp line 1485

type TPasResolver = class(TPasTreeContainer)

protected

const

  cExact = 0

  cGenericExact = cExact + 1

  cAliasExact = cGenericExact + 1

  cCompatible = cAliasExact + 1

  cIntToIntConversion = ord(High(TResolverBaseType))

  cFloatToFloatConversion = 2 * cIntToIntConversion

  cTypeConversion = cExact + 10000

  cLossyConversion = cExact + 100000

  cIntToFloatConversion = cExact + 400000

  cIncompatible = High(integer)

protected

  cTGUIDToString: Integer;

  cStringToTGUID: Integer;

  cInterfaceToTGUID: Integer;

  cInterfaceToString: Integer;

protected

type

  TFindCallElData = record

  Params: TParamsExpr;

  TemplCnt: Integer;

  Found: TPasElement;

  LastProc: TPasProcedure;

  ElScope: TPasScope;

  StartScope: TPasScope;

  Distance: Integer;

  Count: Integer;

  List: TFPList;

end;

  PFindCallElData = ^TFindCallElData;

  TFindProcKind = (

  fpkProcDeclaration,

  fpkProc,

  fpkMethod

);

  TFindProcData = record

  Proc: TPasProcedure;

  Args: TFPList;

  Kind: TFindProcKind;

  FoundOverloadModifier: Boolean;

  FoundInSameScope: Integer;

  Found: TPasProcedure;

  ElScope: TPasScope;

  StartScope: TPasScope;

  FoundNonProc: TPasElement;

end;

  PFindProcData = ^TFindProcData;

protected

  procedure OnFindFirst_PreferNoParams(); virtual;

  procedure OnFindFirst(); virtual;

  procedure OnFindFirst_GenericEl(); virtual;

  procedure OnFindCallElements(); virtual;

  procedure OnFindProc(); virtual;

  procedure OnFindProcDeclaration(); virtual;

  function IsSameProcContext();

  function IsProcOverloading();

  function FindProcSameSignature();

  procedure SetCurrentParser(); override;

  procedure ScannerWarnDirective(); virtual;

  procedure SetRootElement(); virtual;

  procedure CheckTopScope();

  function AddIdentifier(); virtual;

  procedure AddModule(); virtual;

  procedure AddSection(); virtual;

  procedure AddInitialFinalizationSection(); virtual;

  procedure AddType(); virtual;

  procedure AddArrayType(); virtual;

  procedure AddRecordType(); virtual;

  procedure AddRecordVariant(); virtual;

  procedure AddClassType(); virtual;

  procedure AddVariable(); virtual;

  procedure AddResourceString(); virtual;

  procedure AddExportSymbol(); virtual;

  procedure AddEnumType(); virtual;

  procedure AddEnumValue(); virtual;

  procedure AddProperty(); virtual;

  procedure AddProcedureType(); virtual;

  procedure AddProcedure(); virtual;

  procedure AddProcedureBody(); virtual;

  procedure AddArgument(); virtual;

  procedure AddFunctionResult(); virtual;

  procedure AddGenericTemplateType(); virtual;

  procedure AddExceptOn(); virtual;

  procedure AddWithDo(); virtual;

  procedure ResolveImplBlock(); virtual;

  procedure ResolveImplElement(); virtual;

  procedure ResolveImplCaseOf(); virtual;

  procedure ResolveImplLabelMark(); virtual;

  procedure ResolveImplWithDo(); virtual;

  procedure ResolveImplAsm(); virtual;

  procedure ResolveImplAssign(); virtual;

  procedure ResolveImplSimple(); virtual;

  procedure ResolveImplRaise(); virtual;

  procedure ResolveExpr(); virtual;

  procedure ResolveStatementConditionExpr(); virtual;

  procedure ResolveNameExpr(); virtual;

  procedure ResolveInherited(); virtual;

  procedure ResolveInheritedName(); virtual;

  procedure ResolveBinaryExpr(); virtual;

  procedure ResolveSubIdent(); virtual;

  procedure ResolveParamsExpr(); virtual;

  procedure ResolveParamsExprParams(); virtual;

  procedure ResolveFuncParamsExpr(); virtual;

  procedure ResolveFuncParamsExprName(); virtual;

  procedure ResolveArrayParamsExpr(); virtual;

  procedure ResolveArrayParamsExprName(); virtual;

  procedure ResolveArrayParamsArgs(); virtual;

  function ResolveBracketOperatorClassOrRec(); virtual;

  procedure ResolveSetParamsExpr(); virtual;

  procedure ResolveArrayValues(); virtual;

  procedure ResolveRecordValues(); virtual;

  procedure ResolveInlineSpecializeExpr(); virtual;

  function ResolveAccessor();

  procedure SetResolvedRefAccess(); virtual;

  procedure AccessExpr();

  function MarkArrayExpr(); virtual;

  procedure MarkArrayExprRecursive(); virtual;

  procedure DeanonymizeType(); virtual;

  procedure FinishModule(); virtual;

  procedure FinishUsesClause; virtual;

  procedure FinishSection(); virtual;

  procedure FinishInterfaceSection(); virtual;

  procedure FinishTypeSection(); virtual;

  procedure FinishTypeSectionEl(); virtual;

  procedure FinishTypeDef(); virtual;

  procedure FinishEnumType(); virtual;

  procedure FinishSetType(); virtual;

  procedure FinishSubElementType(); virtual;

  procedure FinishRangeType(); virtual;

  procedure FinishConstRangeExpr();

  procedure FinishRecordType(); virtual;

  procedure FinishClassType(); virtual;

  procedure FinishClassOfType(); virtual;

  procedure FinishPointerType(); virtual;

  procedure FinishArrayType(); virtual;

  procedure FinishAliasType(); virtual;

  procedure FinishGenericTemplateType(); virtual;

  procedure FinishSpecializeType(); virtual;

  procedure FinishResourcestring(); virtual;

  procedure FinishProcedure(); virtual;

  procedure FinishProcedureType(); virtual;

  procedure FinishMethodDeclHeader(); virtual;

  procedure FinishMethodImplHeader(); virtual;

  procedure FinishExceptOnExpr; virtual;

  procedure FinishExceptOnStatement; virtual;

  procedure FinishParserSpecializeType(); virtual;

  procedure FinishWithDo(); virtual;

  procedure FinishForLoopHeader(); virtual;

  procedure FinishDeclaration(); virtual;

  procedure FinishVariable(); virtual;

  procedure FinishProperty(); virtual;

  procedure FinishArgument(); virtual;

  procedure FinishAncestors(); virtual;

  procedure FinishMethodResolution(); virtual;

  procedure FinishAttributes(); virtual;

  procedure FinishExportSymbol(); virtual;

  procedure FinishProcParamAccess(); virtual;

  procedure FinishPropertyParamAccess(); virtual;

  procedure FinishCallArgAccess(); virtual;

  procedure FinishInitialFinalization(); virtual;

  procedure EmitTypeHints(); virtual;

  function EmitElementHints(); virtual;

  procedure StoreScannerFlagsInProc();

  procedure ReplaceProcScopeImplArgsWithDeclArgs();

  function CreateClassIntfMap();

  procedure CheckConditionExpr(); virtual;

  procedure CheckProcSignatureMatch();

  procedure CheckPointerCycle();

  procedure CheckGenericTemplateTypes(); virtual;

  procedure ComputeUnaryNot(); virtual;

  procedure ComputeBinaryExpr();

  procedure ComputeBinaryExprRes(); virtual;

  function ComputeAddStringRes(); virtual;

  procedure ComputeArgumentAndExpr();

  procedure ComputeArgumentExpr(); virtual;

  procedure ComputeArrayParams();

  procedure ComputeArrayParams_Class(); virtual;

  procedure ComputeFuncParams();

  procedure ComputeTypeCast(); virtual;

  procedure ComputeSetParams();

  procedure ComputeDereference();

  procedure ComputeArrayValuesExpectedType();

  procedure ComputeRecordValues();

  procedure CheckIsClass();

  function CheckTypeCastClassInstanceToClass(); virtual;

  procedure CheckSetLitElCompatible();

  function CheckIsOrdinal();

  procedure CombineArrayLitElTypes();

  procedure ConvertRangeToElement();

  function IsCharLiteral(); virtual;

  function CheckForIn(); virtual;

  function CheckForInClassOrRec(); virtual;

  function CheckBuiltInMinParamCount();

  function CheckBuiltInMaxParamCount();

  function CheckRaiseTypeArgNo();

  function FindUsedUnitnameInSection();

  function FindUsedUnitname();

  procedure FinishAssertCall(); virtual;

  function FindSystemIdentifier(); virtual;

  function FindSystemClassType(); virtual;

  function FindSystemClassTypeAndConstructor(); virtual;

  procedure FindAssertExceptionConstructors(); virtual;

  procedure FindRangeErrorConstructors(); virtual;

  function FindTVarRec(); virtual;

  function GetTVarRec(); virtual;

  function FindDefaultConstructor(); virtual;

  function GetTypeInfoParamType(); virtual;

  fExprEvaluator: TResExprEvaluator;

  procedure OnExprEvalLog(); virtual;

  function OnExprEvalIdentifier(); virtual;

  function OnExprEvalParams(); virtual;

  procedure OnRangeCheckEl(); virtual;

  function EvalBaseTypeCast();

  function EvalLengthOfString(); virtual;

protected

type

  TScopeStashState = record

  ScopeCount: Integer;

  StashCount: Integer;

end;

protected

  procedure AddGenericTemplateIdentifiers();

  procedure AddSpecializedTemplateIdentifiers();

  function CreateInferenceTypesForCall();

  function CheckGenericConstraintFitsParam();

  function CheckTemplateFitsParam();

  function CheckTemplateFitsParamRes();

  procedure CheckTemplateFitsTemplate();

  function CreateSpecializedItem(); virtual;

  function CreateSpecializedTypeName(); virtual;

  procedure InitSpecializeScopes(); virtual;

  procedure RestoreSpecializeScopes(); virtual;

  procedure SpecializeGenericIntf(); virtual;

  procedure SpecializeGenericImpl(); virtual;

  procedure SpecializeMembers(); virtual;

  procedure SpecializeMembersImpl(); virtual;

  procedure SpecializeGenImplProc(); virtual;

  procedure SpecializeElement();

  procedure SpecializePasElementProperties();

  procedure SpecializeVariable();

  procedure SpecializeConst();

  procedure SpecializeProperty();

  function SpecializeTypeRef();

  procedure SpecializeElType();

  procedure SpecializeElExpr();

  procedure SpecializeElImplEl();

  procedure SpecializeElImplAlias();

  procedure SpecializeElList();

  procedure SpecializeElArray();

  procedure SpecializeProcedure(); virtual;

  procedure SpecializeOperator();

  procedure SpecializeProcedureType();

  procedure SpecializeProcedureBody();

  procedure SpecializeDeclarations();

  procedure SpecializeSpecializeType();

  procedure SpecializeGenericTemplateType();

  procedure SpecializeArgument();

  procedure SpecializeImplBlock();

  procedure SpecializeImplAsmStatement();

  procedure SpecializeImplRepeatUntil();

  procedure SpecializeImplIfElse();

  procedure SpecializeImplWhileDo();

  procedure SpecializeImplWithDo();

  procedure SpecializeImplCaseOf();

  procedure SpecializeImplCaseStatement();

  procedure SpecializeImplAssign();

  procedure SpecializeImplSimple();

  procedure SpecializeImplForLoop();

  procedure SpecializeImplTry();

  procedure SpecializeImplExceptOn();

  procedure SpecializeImplRaise();

  procedure SpecializeExpr();

  procedure SpecializeExprArray();

  procedure SpecializePrimitiveExpr();

  procedure SpecializeUnaryExpr();

  procedure SpecializeBinaryExpr();

  procedure SpecializeBoolConstExpr();

  procedure SpecializeParamsExpr();

  procedure SpecializeRecordValues();

  procedure SpecializeArrayValues();

  procedure SpecializeInlineSpecializeExpr();

  procedure SpecializeProcedureExpr();

  procedure SpecializeResString();

  procedure SpecializeAliasType();

  procedure SpecializePointerType();

  procedure SpecializeRangeType();

  procedure SpecializeArrayType();

  procedure SpecializeRecordType();

  procedure SpecializeClassType();

  procedure SpecializeEnumValue();

  procedure SpecializeEnumType();

  procedure SpecializeSetType();

  procedure SpecializeVariant();

  procedure SpecializeStringType();

  procedure SpecializeAttributes();

  procedure SpecializeMethodResolution();

  function CheckAssignCompatibilityCustom(); virtual;

  function CheckEqualCompatibilityCustomType(); virtual;

  function BI_Length_OnGetCallCompatibility(); virtual;

  procedure BI_Length_OnGetCallResult(); virtual;

  procedure BI_Length_OnEval(); virtual;

  function BI_SetLength_OnGetCallCompatibility(); virtual;

  procedure BI_SetLength_OnFinishParamsExpr(); virtual;

  function BI_InExclude_OnGetCallCompatibility(); virtual;

  procedure BI_InExclude_OnFinishParamsExpr(); virtual;

  function BI_Break_OnGetCallCompatibility(); virtual;

  function BI_Continue_OnGetCallCompatibility(); virtual;

  function BI_Exit_OnGetCallCompatibility(); virtual;

  function BI_IncDec_OnGetCallCompatibility(); virtual;

  procedure BI_IncDec_OnFinishParamsExpr(); virtual;

  function BI_Assigned_OnGetCallCompatibility(); virtual;

  procedure BI_Assigned_OnGetCallResult(); virtual;

  procedure BI_Assigned_OnFinishParamsExpr(); virtual;

  function BI_Chr_OnGetCallCompatibility(); virtual;

  procedure BI_Chr_OnGetCallResult(); virtual;

  procedure BI_Chr_OnEval(); virtual;

  function BI_Ord_OnGetCallCompatibility(); virtual;

  procedure BI_Ord_OnGetCallResult(); virtual;

  procedure BI_Ord_OnEval(); virtual;

  function BI_LowHigh_OnGetCallCompatibility(); virtual;

  procedure BI_LowHigh_OnGetCallResult(); virtual;

  procedure BI_LowHigh_OnEval(); virtual;

  function BI_PredSucc_OnGetCallCompatibility(); virtual;

  procedure BI_PredSucc_OnGetCallResult(); virtual;

  procedure BI_PredSucc_OnEval(); virtual;

  function BI_Str_CheckParam();

  function BI_StrProc_OnGetCallCompatibility(); virtual;

  procedure BI_StrProc_OnFinishParamsExpr(); virtual;

  function BI_StrFunc_OnGetCallCompatibility(); virtual;

  procedure BI_StrFunc_OnGetCallResult(); virtual;

  procedure BI_StrFunc_OnEval(); virtual;

  function BI_WriteStrProc_OnGetCallCompatibility(); virtual;

  procedure BI_WriteStrProc_OnFinishParamsExpr(); virtual;

  function BI_Val_OnGetCallCompatibility(); virtual;

  procedure BI_Val_OnFinishParamsExpr(); virtual;

  function BI_LoHi_OnGetCallCompatibility(); virtual;

  procedure BI_LoHi_OnGetCallResult(); virtual;

  procedure BI_LoHi_OnEval(); virtual;

  function BI_ConcatArray_OnGetCallCompatibility(); virtual;

  procedure BI_ConcatArray_OnGetCallResult(); virtual;

  function BI_ConcatString_OnGetCallCompatibility(); virtual;

  procedure BI_ConcatString_OnGetCallResult(); virtual;

  procedure BI_ConcatString_OnEval(); virtual;

  function BI_CopyArray_OnGetCallCompatibility(); virtual;

  procedure BI_CopyArray_OnGetCallResult(); virtual;

  function BI_InsertArray_OnGetCallCompatibility(); virtual;

  procedure BI_InsertArray_OnFinishParamsExpr(); virtual;

  function BI_DeleteArray_OnGetCallCompatibility(); virtual;

  procedure BI_DeleteArray_OnFinishParamsExpr(); virtual;

  function BI_TypeInfo_OnGetCallCompatibility(); virtual;

  procedure BI_TypeInfo_OnGetCallResult(); virtual;

  function BI_GetTypeKind_OnGetCallCompatibility(); virtual;

  procedure BI_GetTypeKind_OnGetCallResult(); virtual;

  procedure BI_GetTypeKind_OnEval(); virtual;

  function BI_Assert_OnGetCallCompatibility(); virtual;

  procedure BI_Assert_OnFinishParamsExpr(); virtual;

  function BI_New_OnGetCallCompatibility(); virtual;

  procedure BI_New_OnFinishParamsExpr(); virtual;

  function BI_Dispose_OnGetCallCompatibility(); virtual;

  procedure BI_Dispose_OnFinishParamsExpr(); virtual;

  function BI_Default_OnGetCallCompatibility(); virtual;

  procedure BI_Default_OnGetCallResult(); virtual;

  procedure BI_Default_OnEval(); virtual;

public

  constructor Create;

  destructor Destroy; override;

  procedure Clear; virtual;

  function CreateElement();

  function CreateOwnedElement(); virtual;

  function FindModule(); override;

  function FindUnit(); virtual; abstract;

  function FindElement(); override;

  function FindElementFor(); override;

  function FindElementWithoutParams();

  function FindFirstEl();

  procedure FindLongestUnitName();

  function FindGenericEl(); virtual;

  procedure IterateElements(); virtual;

  procedure IterateGlobalElements(); virtual;

  procedure CheckFoundElement(); virtual;

  procedure CheckFoundElementVisibility(); virtual;

  function GetVisibilityContext;

  procedure BeginScope(); override;

  procedure FinishScope(); override;

  procedure FinishTypeAlias(); override;

  function IsUnitIntfFinished();

  procedure NotifyPendingUsedInterfaces; virtual;

  function GetPendingUsedInterface();

  function CheckPendingUsedInterface(); override;

  procedure UsedInterfacesFinished(); virtual;

  function NeedArrayValues(); override;

  function GetDefaultClassVisibility(); override;

  procedure ModeChanged(); override;

  procedure ClearBuiltInIdentifiers; virtual;

  procedure AddObjFPCBuiltInIdentifiers(); virtual;

  function AddBaseType();

  function AddCustomBaseType();

  function IsBaseType();

  function AddBuiltInProc();

  procedure AddResolveData();

  function CreateReference(); virtual;

  function GetLocalScope;

  function GetParentLocalScope;

  function CreateScope(); virtual;

  function CreateGroupScope(); virtual;

  procedure GroupScope_AddTypeAndAncestors();

  procedure PopScope;

  procedure PopWithScope();

  procedure PopGenericParamScope(); virtual;

  procedure PushScope();

  function PushGroupScope();

  function PushModuleDotScope();

  function PushClassDotScope();

  function PushRecordDotScope();

  function PushInheritedScope();

  function PushEnumDotScope();

  function PushHelperDotScope();

  function PushTemplateDotScope();

  function PushDotScope();

  function PushParserSpecializeType();

  function PushWithExprScope();

  function StashScopes();

  function StashSubExprScopes;

  procedure RestoreStashedScopes();

  procedure DeleteScope(); virtual;

  procedure InsertScope(); virtual;

  function GetCurrentProcScope();

  function GetProcScope();

  function GetCurrentSelfScope();

  function GetSelfScope();

  procedure AddHelper();

  procedure AddActiveHelper(); virtual;

  class function MangleSourceLineNumber();

  class procedure UnmangleSourceLineNumber();

  class function GetDbgSourcePosStr();

  function GetElementSourcePosStr();

  procedure SetLastMsg();

  procedure LogMsg(); overload;

  class function GetWarnIdentifierNumbers(); virtual;

  procedure GetIncompatibleTypeDesc();

  procedure GetIncompatibleProcParamsDesc();

  procedure RaiseMsg(); virtual;

  procedure RaiseNotYetImplemented(); virtual;

  procedure RaiseInternalError();

  procedure RaiseInvalidScopeForElement();

  procedure RaiseIdentifierNotFound();

  procedure RaiseXExpectedButYFound();

  procedure RaiseXExpectedButTypeYFound();

  procedure RaiseContextXExpectedButYFound();

  procedure RaiseContextXInvalidY();

  procedure RaiseConstantExprExp();

  procedure RaiseVarExpected();

  procedure RaiseRangeCheck();

  procedure RaiseIncompatibleTypeDesc();

  procedure RaiseIncompatibleType();

  procedure RaiseIncompatibleTypeRes();

  procedure RaiseHelpersCannotBeUsedAsType();

  procedure RaiseInvalidProcTypeModifier();

  procedure RaiseInvalidProcModifier();

  procedure WriteScopes;

  procedure WriteScopesShort();

  procedure ComputeElement();

  procedure ComputeResultElement(); virtual;

  function Eval();

  function IsSameType();

  function HasExactType();

  function IndexOfGenericParam();

  procedure CheckUseAsType();

  function CheckCallProcCompatibility();

  function CheckCallPropertyCompatibility();

  function CheckCallArrayCompatibility();

  function CheckParamCompatibility();

  function CheckParamResCompatibility();

  function CheckAssignCompatibilityUserType();

  function CheckAssignCompatibilityArrayType();

  function CheckAssignCompatibilityPointerType();

  function CheckEqualCompatibilityUserType(); virtual;

  function CheckTypeCast();

  function CheckTypeCastRes(); virtual;

  function CheckTypeCastArray();

  function CheckSrcIsADstType();

  function CheckClassIsClass(); virtual;

  function CheckClassesAreRelated();

  function CheckAssignCompatibilityClasses(); virtual;

  function GetClassImplementsIntf();

  function CheckProcOverloadCompatibility();

  function CheckProcTypeCompatibility();

  function CheckProcArgCompatibility();

  function CheckElTypeCompatibility();

  function CheckCanBeLHS();

  function CheckAssignCompatibility();

  procedure CheckAssignExprRange();

  procedure CheckAssignExprRangeToCustom(); virtual;

  function CheckAssignResCompatibility();

  function CheckEqualElCompatibility();

  function CheckEqualResCompatibility();

  function IsVariableConst(); virtual;

  function ResolvedElCanBeVarParam();

  function ResolvedElIsClassOrRecordInstance();

  function GetResolver();

  function ElHasModeSwitch();

  function GetElModeSwitches();

  function ElHasBoolSwitch();

  function GetElBoolSwitches();

  function GetProcTypeDescription();

  function GetResolverResultDescription();

  function GetTypeDescription();

  function GetBaseDescription(); virtual;

  function GetProcFirstImplEl();

  function GetProcTemplateTypes();

  function GetProcName();

  function GetPasPropertyAncestor();

  function GetPasPropertyType();

  function GetPasPropertyArgs();

  function GetPasPropertyGetter();

  function GetPasPropertySetter();

  function GetPasPropertyIndex();

  function GetPasPropertyStoredExpr();

  function GetPasPropertyDefaultExpr();

  function GetPasClassAncestor();

  function GetPasClassForward();

  function GetParentProcBody();

  function ProcHasImplElements(); virtual;

  function IndexOfImplementedInterface();

  function GetLoop();

  function ResolveAliasType();

  function ResolveAliasTypeEl();

  function ExprIsAddrTarget();

  function IsNameExpr();

  function GetNameExprValue();

  function GetNextDottedExpr();

  function GetLeftMostExpr();

  function GetRightMostExpr();

  procedure GetParamsOfNameExpr();

  function GetInlineSpecOfNameExpr();

  function GetUsesUnitInFilename();

  function GetPathStart();

  function GetPathEndIdent();

  function GetNewInstanceExpr();

  function ParentNeedsExprResult();

  function GetReference_ConstructorType();

  function GetParamsValueRef();

  function GetSetType();

  function IsDynArray();

  function IsOpenArray();

  function IsDynOrOpenArray();

  function IsArrayOfConst();

  function GetArrayElType();

  function IsVarInit();

  function IsEmptyArrayExpr();

  function IsClassMethod();

  function IsClassField();

  function GetFunctionType();

  function MethodIsStatic();

  function IsMethod();

  function IsMethod_SelfIsClass();

  function IsHelperMethod(); virtual;

  function IsHelper();

  function IsExternalClass_Name();

  function IsProcedureType();

  function IsArrayType();

  function IsArrayExpr();

  function IsArrayOperatorAdd();

  function IsTypeCast();

  function IsGenericTemplType();

  function GetTypeParameterCount();

  function GetGenericConstraintKeyword();

  function GetGenericConstraintErrorEl();

  function GetSpecializedEl(); virtual;

  procedure FinishGenericClassOrRecIntf(); virtual;

  procedure FinishSpecializations(); virtual;

  procedure CheckPendingForwardProcs(); virtual;

  function IsSpecialized(); overload;

  function IsFullySpecialized();

  function IsInterfaceType();

  function IsTGUID(); virtual;

  function IsTGUIDString(); virtual;

  function IsCustomAttribute(); virtual;

  function IsSystemUnit(); virtual;

  function GetAttributeCallsEl(); virtual;

  function GetAttributeCalls(); virtual;

  function ProcNeedsParams();

  function ProcHasSelf();

  procedure CreateProcSelfArg(); virtual;

  function IsProcOverride();

  function IsProcOverload();

  function GetTopLvlProc();

  function GetParentProc();

  function GetRangeLength();

  function EvalRangeLimit(); virtual;

  function EvalTypeRange(); virtual;

  function HasTypeInfo(); virtual;

  function IsAnonymousElType(); virtual;

  function GetActualBaseType(); virtual;

  function GetCombinedBoolean(); virtual;

  function GetCombinedInt(); virtual;

  procedure GetIntegerProps();

  function GetIntegerRange();

  function GetIntegerBaseType();

  function GetSmallestIntegerBaseType();

  function GetCombinedChar(); virtual;

  function GetCombinedString(); virtual;

  function GetCombinedBaseType(); virtual;

  function IsElementSkipped(); virtual;

  function FindLocalBuiltInSymbol(); virtual;

  function GetFirstSection();

  function GetLastSection;

  function GetParentSection();

  function FindUsedUnitInSection();

  function FirstSectionUsesUnit();

  function ImplementationUsesUnit();

  function GetShiftAndMaskForLoHiFunc();

  property Hub: TPasResolverHub; [rw]

  property Options: TPasResolverOptions; [rw]

  property AnonymousElTypePostfix: string; [rw]

  property BaseTypes []: TPasUnresolvedSymbolRef; [r]

  property BaseTypeNames []: string; [r]

  property BaseTypeChar: TResolverBaseType; [rw]

  property BaseTypeExtended: TResolverBaseType; [rw]

  property BaseTypeString: TResolverBaseType; [rw]

  property BaseTypeLength: TResolverBaseType; [rw]

  property BuiltInProcs []: TResElDataBuiltInProc; [r]

  property ExprEvaluator: TResExprEvaluator; [r]

  property DynArrayMinIndex: TMaxPrecInt; [rw]

  property DynArrayMaxIndex: TMaxPrecInt; [rw]

  property StoreSrcColumns: Boolean; [rw]

  property DefaultNameSpace: string; [r]

  property RootElement: TPasModule; [rw]

  property Step: TPasResolverStep; [r]

  property ActiveHelpers: TPRHelperEntryArray; [r]

  property FinishedInterfaceIndex: Integer; [r]

  property Scopes []: TPasScope; [r]

  property ScopeCount: Integer; [r]

  property TopScope: TPasScope; [r]

  property DefaultScope: TPasDefaultScope; [rw]

  property ScopeClass_Array: TPasArrayScopeClass; [rw]

  property ScopeClass_Class: TPasClassScopeClass; [rw]

  property ScopeClass_InitialFinalization: TPasInitialFinalizationScopeClass; [rw]

  property ScopeClass_Module: TPasModuleScopeClass; [rw]

  property ScopeClass_Procedure: TPasProcedureScopeClass; [rw]

  property ScopeClass_ProcType: TPasProcTypeScopeClass; [rw]

  property ScopeClass_Record: TPasRecordScopeClass; [rw]

  property ScopeClass_Section: TPasSectionScopeClass; [rw]

  property ScopeClass_WithExpr: TPasWithExprScopeClass; [rw]

  property LastElement: TPasElement; [r]

  property LastMsg: string; [rw]

  property LastMsgArgs: TMessageArgs; [rw]

  property LastMsgElement: TPasElement; [rw]

  property LastMsgId: TMaxPrecInt; [rw]

  property LastMsgNumber: Integer; [rw]

  property LastMsgPattern: string; [rw]

  property LastMsgType: TMessageType; [rw]

  property LastSourcePos: TPasSourcePos; [rw]

end;

Inheritance

TPasResolver

|

TPasTreeContainer

|

TObject


Documentation generated on: 2023-03-18