diff options
author | bptato <nincsnevem662@gmail.com> | 2023-10-25 12:35:11 +0200 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2023-10-25 12:48:30 +0200 |
commit | 3f0a183d48a44cbbe642842fb60b69cca9e83390 (patch) | |
tree | 0aad7dfeaa3a9265e030b2ed2739de4e042a69a2 | |
parent | b6e5390ec286747ce6789f9cfec54dec8dc18fa3 (diff) | |
download | chawan-3f0a183d48a44cbbe642842fb60b69cca9e83390.tar.gz |
reduce new() usage
-rw-r--r-- | src/config/config.nim | 4 | ||||
-rw-r--r-- | src/css/sheet.nim | 9 | ||||
-rw-r--r-- | src/html/chadombuilder.nim | 2 | ||||
-rw-r--r-- | src/html/dom.nim | 75 | ||||
-rw-r--r-- | src/io/serialize.nim | 2 | ||||
-rw-r--r-- | src/io/socketstream.nim | 15 | ||||
-rw-r--r-- | src/js/javascript.nim | 2 | ||||
-rw-r--r-- | src/js/typeptr.nim | 3 | ||||
-rw-r--r-- | src/layout/engine.nim | 61 | ||||
-rw-r--r-- | src/loader/request.nim | 20 | ||||
-rw-r--r-- | src/types/cookie.nim | 7 | ||||
-rw-r--r-- | src/types/url.nim | 4 |
12 files changed, 102 insertions, 102 deletions
diff --git a/src/config/config.nim b/src/config/config.nim index 63438c55..3d2769d4 100644 --- a/src/config/config.nim +++ b/src/config/config.nim @@ -619,7 +619,7 @@ proc parseConfig*(config: Config, dir: string, s: string, name = "<input>", config.parseConfig(dir, newStringStream(s), name, laxnames) proc staticReadConfig(): ConfigObj = - var config = new(Config) + var config = Config() config.parseConfig("res", staticRead"res/config.toml", "config.toml") return config[] @@ -637,7 +637,7 @@ proc getLinedAction*(config: Config, s: string): string = return config.line.getOrDefault(s) proc readConfig*(): Config = - new(result) + result = Config() result[] = defaultConfig when defined(debug): result.readConfig(getCurrentDir() / "res") diff --git a/src/css/sheet.nim b/src/css/sheet.nim index 1f68816a..d3cd011f 100644 --- a/src/css/sheet.nim +++ b/src/css/sheet.nim @@ -34,11 +34,12 @@ type SelectorHashes = object class: string func newStylesheet*(cap: int): CSSStylesheet = - new(result) let bucketsize = cap div 2 - result.id_table = initTable[string, seq[CSSRuleDef]](bucketsize) - result.class_table = initTable[string, seq[CSSRuleDef]](bucketsize) - result.general_list = newSeqOfCap[CSSRuleDef](bucketsize) + return CSSStylesheet( + id_table: initTable[string, seq[CSSRuleDef]](bucketsize), + class_table: initTable[string, seq[CSSRuleDef]](bucketsize), + general_list: newSeqOfCap[CSSRuleDef](bucketsize) + ) proc getSelectorIds(hashes: var SelectorHashes, sel: Selector): bool diff --git a/src/html/chadombuilder.nim b/src/html/chadombuilder.nim index 129082e2..2580e608 100644 --- a/src/html/chadombuilder.nim +++ b/src/html/chadombuilder.nim @@ -249,7 +249,7 @@ proc parseHTML*(inputStream: Stream, window: Window, url: URL, return Document(builder.document) proc newDOMParser(): DOMParser {.jsctor.} = - new(result) + return DOMParser() proc parseFromString(ctx: JSContext, parser: DOMParser, str, t: string): JSResult[Document] {.jsfunc.} = diff --git a/src/html/dom.nim b/src/html/dom.nim index 30c01b37..a70a3ce1 100644 --- a/src/html/dom.nim +++ b/src/html/dom.nim @@ -2079,47 +2079,41 @@ func newHTMLElement*(document: Document, tagType: TagType, attrs = Table[string, string]()): HTMLElement = case tagType of TAG_INPUT: - result = new(HTMLInputElement) + result = HTMLInputElement() of TAG_A: - result = new(HTMLAnchorElement) - HTMLAnchorElement(result).relList = DOMTokenList( - element: result, - localName: "rel" - ) + let anchor = HTMLAnchorElement() + anchor.relList = DOMTokenList(element: anchor, localName: "rel") + result = anchor of TAG_SELECT: - result = new(HTMLSelectElement) + result = HTMLSelectElement() of TAG_OPTGROUP: - result = new(HTMLOptGroupElement) + result = HTMLOptGroupElement() of TAG_OPTION: - result = new(HTMLOptionElement) + result = HTMLOptionElement() of TAG_H1, TAG_H2, TAG_H3, TAG_H4, TAG_H5, TAG_H6: - result = new(HTMLHeadingElement) + result = HTMLHeadingElement() of TAG_BR: - result = new(HTMLBRElement) + result = HTMLBRElement() of TAG_SPAN: - result = new(HTMLSpanElement) + result = HTMLSpanElement() of TAG_OL: - result = new(HTMLOListElement) + result = HTMLOListElement() of TAG_UL: - result = new(HTMLUListElement) + result = HTMLUListElement() of TAG_MENU: - result = new(HTMLMenuElement) + result = HTMLMenuElement() of TAG_LI: - result = new(HTMLLIElement) + result = HTMLLIElement() of TAG_STYLE: - result = new(HTMLStyleElement) + result = HTMLStyleElement() of TAG_LINK: - result = new(HTMLLinkElement) - HTMLLinkElement(result).relList = DOMTokenList( - element: result, - localName: "rel" - ) + let link = HTMLLinkElement() + link.relList = DOMTokenList(element: link, localName: "rel") + result = link of TAG_FORM: - result = new(HTMLFormElement) - HTMLFormElement(result).relList = DOMTokenList( - element: result, - localName: "rel" - ) + let form = HTMLFormElement() + form.relList = DOMTokenList(element: form, localName: "rel") + result = form of TAG_TEMPLATE: result = HTMLTemplateElement( content: DocumentFragment( @@ -2128,30 +2122,27 @@ func newHTMLElement*(document: Document, tagType: TagType, ) ) of TAG_UNKNOWN: - result = new(HTMLUnknownElement) + result = HTMLUnknownElement() of TAG_SCRIPT: - result = new(HTMLScriptElement) - HTMLScriptElement(result).forceAsync = true + result = HTMLScriptElement(forceAsync: true) of TAG_BASE: - result = new(HTMLBaseElement) + result = HTMLBaseElement() of TAG_BUTTON: - result = new(HTMLButtonElement) + result = HTMLButtonElement() of TAG_TEXTAREA: - result = new(HTMLTextAreaElement) + result = HTMLTextAreaElement() of TAG_LABEL: - result = new(HTMLLabelElement) + result = HTMLLabelElement() of TAG_CANVAS: - result = new(HTMLCanvasElement) + result = HTMLCanvasElement() of TAG_IMG: - result = new(HTMLImageElement) + result = HTMLImageElement() of TAG_AREA: - result = new(HTMLAreaElement) - HTMLAreaElement(result).relList = DOMTokenList( - element: result, - localName: "rel" - ) + let area = HTMLAreaElement() + area.relList = DOMTokenList(element: result, localName: "rel") + result = area else: - result = new(HTMLElement) + result = HTMLElement() result.nodeType = ELEMENT_NODE result.tagType = tagType result.namespace = namespace diff --git a/src/io/serialize.nim b/src/io/serialize.nim index 98f3a70a..1a7d0f62 100644 --- a/src/io/serialize.nim +++ b/src/io/serialize.nim @@ -309,7 +309,7 @@ proc sread*(stream: Stream, blob: var Blob) = stream.sread(file.path) blob = file else: - new(blob) + blob = Blob() stream.sread(blob.ctype) stream.sread(blob.size) let buffer = alloc(blob.size) diff --git a/src/io/socketstream.nim b/src/io/socketstream.nim index 2e56a4c7..29337a16 100644 --- a/src/io/socketstream.nim +++ b/src/io/socketstream.nim @@ -115,13 +115,14 @@ proc recvFileHandle*(s: SocketStream): FileHandle = dealloc(cmsgbuf) func newSocketStream*(): SocketStream = - new(result) - result.readDataImpl = cast[proc (s: Stream, buffer: pointer, bufLen: int): int - {.nimcall, raises: [Defect, IOError, OSError], tags: [ReadIOEffect], gcsafe.} - ](sockReadData) # ... ??? - result.writeDataImpl = sockWriteData - result.atEndImpl = sockAtEnd - result.closeImpl = sockClose + return SocketStream( + readDataImpl: cast[proc (s: Stream, buffer: pointer, bufLen: int): int + {.nimcall, raises: [Defect, IOError, OSError], tags: [ReadIOEffect], gcsafe.} + ](sockReadData), # ... ??? + writeDataImpl: sockWriteData, + atEndImpl: sockAtEnd, + closeImpl: sockClose + ) proc setBlocking*(ss: SocketStream, blocking: bool) = ss.source.getFd().setBlocking(blocking) diff --git a/src/js/javascript.nim b/src/js/javascript.nim index e682098a..12c504a2 100644 --- a/src/js/javascript.nim +++ b/src/js/javascript.nim @@ -108,7 +108,7 @@ var runtimes {.threadVar.}: seq[JSRuntime] proc newJSRuntime*(): JSRuntime = let rt = JS_NewRuntime() - let opaque = new(JSRuntimeOpaque) + let opaque = JSRuntimeOpaque() GC_ref(opaque) JS_SetRuntimeOpaque(rt, cast[pointer](opaque)) # Must be added after opaque is set, or there is a chance of diff --git a/src/js/typeptr.nim b/src/js/typeptr.nim index 0d5c4deb..55fd89c7 100644 --- a/src/js/typeptr.nim +++ b/src/js/typeptr.nim @@ -10,8 +10,7 @@ proc getTypePtr*[T](x: T): pointer = return getTypeInfo(x) func getTypePtr*(t: typedesc[ref object]): pointer = - var x: t - new(x) + var x = t() return getTypePtr(x) func getTypePtr*(t: type): pointer = diff --git a/src/layout/engine.nim b/src/layout/engine.nim index dce80eb4..6a6d9943 100644 --- a/src/layout/engine.nim +++ b/src/layout/engine.nim @@ -1653,49 +1653,56 @@ proc buildRootBlock(viewport: Viewport, builder: BlockBoxBuilder): BlockBox = # Returns a block box, disregarding the computed value of display proc getBlockBox(computed: CSSComputedValues): BlockBoxBuilder = - new(result) - result.computed = computed + return BlockBoxBuilder(computed: computed) proc getTextBox(computed: CSSComputedValues): InlineBoxBuilder = - new(result) - result.inlinelayout = true - result.computed = computed - -proc getMarkerBox(computed: CSSComputedValues, listItemCounter: int): MarkerBoxBuilder = - new(result) - result.inlinelayout = true - result.computed = computed.inheritProperties() - result.computed{"display"} = DISPLAY_INLINE + return InlineBoxBuilder(inlinelayout: true, computed: computed) + +proc getMarkerBox(computed: CSSComputedValues, listItemCounter: int): + MarkerBoxBuilder = + let computed = computed.inheritProperties() + computed{"display"} = DISPLAY_INLINE # Use pre, so the space at the end of the default markers isn't ignored. - result.computed{"white-space"} = WHITESPACE_PRE - result.text.add(computed{"list-style-type"}.listMarker(listItemCounter)) + computed{"white-space"} = WHITESPACE_PRE + return MarkerBoxBuilder( + inlinelayout: true, + computed: computed, + text: @[computed{"list-style-type"}.listMarker(listItemCounter)] + ) -proc getListItemBox(computed: CSSComputedValues, listItemCounter: int): ListItemBoxBuilder = - new(result) - result.computed = computed - result.marker = getMarkerBox(computed, listItemCounter) +proc getListItemBox(computed: CSSComputedValues, listItemCounter: int): + ListItemBoxBuilder = + return ListItemBoxBuilder( + computed: computed, + marker: getMarkerBox(computed, listItemCounter) + ) proc getTableBox(computed: CSSComputedValues): TableBoxBuilder = - new(result) - result.computed = computed + return TableBoxBuilder( + computed: computed + ) # Also known as <tbody>. proc getTableRowGroupBox(computed: CSSComputedValues): TableRowGroupBoxBuilder = - new(result) - result.computed = computed + return TableRowGroupBoxBuilder( + computed: computed + ) proc getTableRowBox(computed: CSSComputedValues): TableRowBoxBuilder = - new(result) - result.computed = computed + return TableRowBoxBuilder( + computed: computed + ) # For <th> and <td>. proc getTableCellBox(computed: CSSComputedValues): TableCellBoxBuilder = - new(result) - result.computed = computed + return TableCellBoxBuilder( + computed: computed + ) proc getTableCaptionBox(computed: CSSComputedValues): TableCaptionBoxBuilder = - new(result) - result.computed = computed + return TableCaptionBoxBuilder( + computed: computed + ) type BlockGroup = object parent: BoxBuilder diff --git a/src/loader/request.nim b/src/loader/request.nim index 7596a0a2..78d38723 100644 --- a/src/loader/request.nim +++ b/src/loader/request.nim @@ -145,17 +145,17 @@ proc rsClose(s: Stream) = {.cast(tags: [WriteIOEffect]).}: #TODO TODO TODO ew. s.isource.setPosition(s.isource.getPosition() + len) proc newReadableStream*(isource: Stream): ReadableStream = - new(result) - result.isource = isource - result.readDataImpl = rsReadData - result.atEndImpl = rsAtEnd - result.closeImpl = rsClose var len: int - result.isource.read(len) - if len == 0: - result.isend = true - else: - result.isource.readStr(len, result.buf) + isource.read(len) + result = ReadableStream( + isource: isource, + readDataImpl: rsReadData, + atEndImpl: rsAtEnd, + closeImpl: rsClose, + isend: len == 0 + ) + if len != 0: + isource.readStr(len, result.buf) func newRequest*(url: URL, httpmethod = HTTP_GET, headers = newHeaders(), body = opt(string), multipart = opt(FormData), mode = RequestMode.NO_CORS, diff --git a/src/types/cookie.nim b/src/types/cookie.nim index 627975ab..872e97dd 100644 --- a/src/types/cookie.nim +++ b/src/types/cookie.nim @@ -207,9 +207,10 @@ proc serialize*(cookiejar: CookieJar, url: URL): string = proc newCookie*(str: string, url: URL = nil): JSResult[Cookie] {.jsctor.} = - let cookie = new(Cookie) - cookie.expires = -1 - cookie.created = now().toTime().toUnix() + let cookie = Cookie( + expires: -1, + created: now().toTime().toUnix() + ) var first = true var haspath = false var hasdomain = false diff --git a/src/types/url.nim b/src/types/url.nim index 1ded3d36..69a3a78e 100644 --- a/src/types/url.nim +++ b/src/types/url.nim @@ -849,7 +849,7 @@ proc cloneInto(a, b: URL) = b.searchParams.url = some(b) proc newURL*(url: URL): URL = - new(result) + result = URL() url.cloneInto(result) proc setHref(url: URL, s: string): Err[JSError] {.jsfset: "href".} = @@ -905,7 +905,7 @@ proc newURLSearchParams[ Table[string, string]| string ](init: T = ""): URLSearchParams {.jsctor.} = - new(result) + result = URLSearchParams() when T is seq[(string, string)]: result.list = init elif T is Table[string, string]: |