FPC 3.1.1+ support.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5938 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa 2017-06-15 09:17:38 +00:00
parent 7d59e20f9f
commit c29ba3334f
4 changed files with 20 additions and 5 deletions

View File

@ -20,7 +20,7 @@ uses
{$ELSE}
TestFrameWork, xmldom, wst_delphi_xml,
{$ENDIF}
pastree, pascal_parser_intf, xsd_generator, wsdl_generator;
pastree, PScanner, pascal_parser_intf, xsd_generator, wsdl_generator;
type
@ -1383,8 +1383,12 @@ var
prmDef : TPasArgument;
prmTypeDef : TPasType;
begin
p := TPasFunction(tr.CreateElement(TPasFunction,'EchoWideString',cltyp,visDefault,'',0));
p := TPasFunction(tr.CreateElement(TPasFunction,'EchoWideString',cltyp,visDefault,'',0));
{$IFDEF WST_TPASSOURCEPOS}
pt := tr.CreateFunctionType('','result',p,False,Default(TPasSourcePos));
{$ELSE WST_TPASSOURCEPOS}
pt := tr.CreateFunctionType('','result',p,False,'',0);
{$ENDIF WST_TPASSOURCEPOS}
pt.ResultEl.ResultType := tr.FindElementNS('WideString',s_xs) as TPasType;
pt.ResultEl.ResultType.AddRef();
p.ProcType := pt;

View File

@ -24,7 +24,7 @@ uses
TestFrameWork, xmldom, wst_delphi_xml,
{$ENDIF}
test_suite_utils, metadata_generator, binary_streamer, metadata_repository,
pastree, pascal_parser_intf, metadata_wsdl;
pastree, PScanner, pascal_parser_intf, metadata_wsdl;
type
@ -60,9 +60,13 @@ function TTestMetadata.CreateSymbolTable(): TwstPasTreeContainer;
AClass : TPasClassType;
AContainer : TwstPasTreeContainer
) : TPasFunction ;
begin
begin
Result := TPasFunction(AContainer.CreateElement(TPasFunction,AName,AContainer.CurrentModule.InterfaceSection,visDefault,'',0));
{$IFDEF WST_TPASSOURCEPOS}
Result.ProcType := AContainer.CreateFunctionType('','result',Result,True,Default(TPasSourcePos));
{$ELSE WST_TPASSOURCEPOS}
Result.ProcType := AContainer.CreateFunctionType('','result',Result,True,'',0);
{$ENDIF WST_TPASSOURCEPOS}
AClass.Members.Add(Result);
TPasFunctionType(Result.ProcType).ResultEl.ResultType := AContainer.FindElement(AResultTypeName) as TPasType;
TPasFunctionType(Result.ProcType).ResultEl.ResultType.AddRef();

View File

@ -18,7 +18,7 @@ uses
Classes, SysUtils,
{$IFNDEF FPC}xmldom, wst_delphi_xml{$ELSE}DOM{$ENDIF},
cursor_intf, rtti_filters,
pastree, pascal_parser_intf, logger_intf, xsd_parser;
pastree, PScanner, pascal_parser_intf, logger_intf, xsd_parser;
const
s_TRANSPORT = 'TRANSPORT';
@ -852,7 +852,11 @@ function TWsdlParser.ParseOperation(
locProcType := tmpMthd.ProcType;
locFunc := TPasFunction(SymbolTable.CreateElement(TPasFunction,tmpMthd.Name,AOwner,visDefault,'',0));
SymbolTable.RegisterExternalAlias(locFunc,SymbolTable.GetExternalName(tmpMthd));
{$IFDEF WST_TPASSOURCEPOS}
locFuncType := SymbolTable.CreateFunctionType('','Result',locFunc,False,Default(TPasSourcePos));
{$ELSE WST_TPASSOURCEPOS}
locFuncType := SymbolTable.CreateFunctionType('','Result',locFunc,False,'',0);
{$ENDIF WST_TPASSOURCEPOS}
locFunc.ProcType := locFuncType;
resArgIndex := FindIndexOfResultArg(locProcType.Args);
for j := 0 to ( locProcType.Args.Count - 1 ) do begin

View File

@ -55,6 +55,9 @@
{$DEFINE WST_TKFILE}
{$DEFINE WST_TKCLASSREF}
{$DEFINE WST_TKPOINTER}
{$IFEND}
{$IF Defined(FPC_FULLVERSION) and (FPC_FULLVERSION >= 30101) }
{$DEFINE WST_TPASSOURCEPOS}
{$IFEND}
{$ENDIF}